Как пересобрать изменённый пакет? (действуем строго по науке)

Knoppix

Модераторы: Warderer, Модераторы разделов

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21000
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как пересобрать изменённый пакет?

Сообщение Bizdelnick »

жучара писал(а):
09.06.2019 19:42
При последующих сборках оно ругается, что этот файл изменён, уж не знаю, как оно определяет
Сравнивает с содержимым оригинального тарбола.
жучара писал(а):
09.06.2019 19:42
Строчка-то вполне себе. Сейчас июнь 2019 года, почему бы этому не быть отражено в этом файле?
Это должно было бы быть не прямо в этом файле, а в другом.
жучара писал(а):
09.06.2019 19:42
Причём сперва оно изменит файл, а потом на него ругнётся, что он изменён.
Да ну как так-то?
Само же меняет файл и само же ругается, что он изменён.
Оно, которое изменяет — это не то оно, которое ругается. Изменяет какой-то сборочный скрипт, написанный авторами программы, а ругается dpkg-buildpackage, потому что ему на момент начала сборки нужны неизменные исходники.
жучара писал(а):
09.06.2019 19:42
Так, а ваше исправление помогает.
Если файл есть в исходном архиве, то это, наверное, неправильное решение.
жучара писал(а):
09.06.2019 19:42
dpkg-source: предупреждение: игнорируется удаление файла man/hello.1 глупый вопрос- а чё оно не удаляется при очистке, если велено удалять?
Удаляется. Ругается уже при проверке, что файла не стало (то есть опять расхождение с оригинальными исходниками), но, так и быть, попробую собрать, что выйдет. Видимо, при этом восстанавливается оригинальный файл из тарбола (точно не знаю, лень проверять).
жучара писал(а):
09.06.2019 19:42
тут уже логика поведения непонятная какая-то и нигде не описанная.
Логика понятная и описанная в документации dpkg-buildpackage (а также debhelper, GNU make и т. д. — чтобы полностью понять, что происходит, надо хорошо владеть всеми используемыми инструментами).

P. S. Взяли бы версию hello посвежее, там, глядишь, сборочные скрипты будут себя вести более адекватно.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1035
ОС: астралинукс

Re: Как пересобрать изменённый пакет?

Сообщение жучара »

Bizdelnick, вы зря убрали ваши советы, они были очень кстати. hello-2.8 собрался предсказуемо. Правда, тесты... Тупо возвернул из каждого ноль и всё на этом.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1035
ОС: астралинукс

Re: Как пересобрать изменённый пакет?

Сообщение жучара »

Bizdelnick писал:
13.05.2019 22:57
Вам надо не просто поправить исходники, а создать серию патчей (в данном случае — из одного-единственного патча) при помощи quilt. В руководстве это тоже подробно описано.
а если лень учиться (как мне, например), тогда можно проще. Качаем, распаковываем исходники, а потом скачанный файл удаляем. Нет файла- нет патчей. Осталась просто папка hello-2.1.1, заходим в ней, чё надо правим, потом вот так командуем:

dh_make -p hello_2.1.1 --createorig
dpkg-buildpackage -us -uc

Всё, исходник поправлен, *.deb файл создан.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1035
ОС: астралинукс

Re: Как пересобрать изменённый пакет?

Сообщение жучара »

Bizdelnick писал:
25.05.2019 10:04
жучара писал(а):
25.05.2019 02:54
Но вообще-то написано vi, значит должно быть vi.
Специфика Debian. Привели поведение к принятому в дистрибутиве, а документацию поправить забыли.
https://sources.debian.org/patches/quilt/0.63-8/use-sensible-editor/
это во-первых. А во-вторых в самом пакете nano не прописано поле "Provides: editor". И в ed тоже не прописано (может, ещё у кого не прописано, не проверял). То есть они, строго говоря, не обеспечивают функционал editor (недоработка? Или потому, что имя виртуального пакета editor не стандартизировано?). Но в эту компанию редакторов всё ж таки затёсываются потому, что у них есть постинсталляционные скрипты, которые соответствующим образом выполняются.
Кстати, стандартизированных имён виртуальных пакетов всего ничего. А нестандартизированных - уйма.

Shell

$ aptitude search '~v' | wc -l
35236
$
Я просто читаю маны.
Спасибо сказали: