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

Knoppix

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

Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Друзья! Наука это вот эта вот книга
https://www.debian.org/doc/manuals/maint-guide/index.ru.html

Собирать будем этот пакет
hello-2.1.1
(http://s.arboreus.com/2006/11/blog-post_16.html)

1) Распакуем архив *tar.gz и зачем-то выполним команду dh_make (пункт 2.8 книги)

Shell

user@debian:~/Desktop$
user@debian:~/Desktop$ cd hello
user@debian:~/Desktop/hello$ wget ftp://ftp.gnu.org/pub/gnu/hello/hello-2.1.1.tar.gz > /dev/null
--2019-05-14 00:06:43-- ftp://ftp.gnu.org/pub/gnu/hello/hello-2.1.1.tar.gz
=> «hello-2.1.1.tar.gz»
Распознаётся ftp.gnu.org (ftp.gnu.org)… 209.51.188.20, 2001:470:142:3::b
Подключение к ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:21... соединение установлено.
Выполняется вход под именем anonymous ... Выполнен вход в систему!
==> SYST ... готово. ==> PWD ... готово.
==> TYPE I ... готово. ==> CWD (1) /pub/gnu/hello ... готово.
==> SIZE hello-2.1.1.tar.gz ... 389363
==> PASV ... готово. ==> RETR hello-2.1.1.tar.gz ... готово.
Размер (байт): 389363 (380K) (не достоверно)

hello-2.1.1.tar.gz 100%[============================================================>] 380,24K 362KB/s за 1,1s

2019-05-14 00:06:48 (362 KB/s) - «hello-2.1.1.tar.gz» сохранён [389363]

user@debian:~/Desktop/hello$ tar -xzf hello-2.1.1.tar.gz
user@debian:~/Desktop/hello$ cd hello-2.1.1/
user@debian:~/Desktop/hello/hello-2.1.1$ dh_make -f ../hello-2.1.1.tar.gz

Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
[s/i/m/l/k/n] s

Maintainer name : user
Email-Address : user@debian
Date : Tue, 14 May 2019 00:07:34 +0500
Package Name : hello
Version : 2.1.1
License : blank
Type of Package : Single
Hit <enter> to confirm:
Done. Please edit the files in the debian/ subdirectory now. hello
uses a configure script, so you probably don't have to edit the Makefiles.
user@debian:~/Desktop/hello/hello-2.1.1$
dh_make, я так понял, зачем-то генерит папку debian, ну, видать, надо так.

2) Поправим исходники. В книге (пункт 3.2) правкой исходного кода называется почему-то правка Makefile. Мы же на самом деле будем править исходники.

Shell

user@debian:~/Desktop/hello/hello-2.1.1$ kate src/hello.c
Чё-нибудь допишем:

Код: Выделить всё

int main (argc, argv)
     int argc;
     char *argv[];
{
  printf ("cafebabe\n")
  ...	
Файл hello.c сохраняем

3) Теперь пересоберём пакет. (Пункт 6.1 книги.)
Сперва посмотрим, все ли сборочные завиимости удовлетворены:

Shell

user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ cat debian/control | grep Build-Depends:
Build-Depends: debhelper (>= 9), autotools-dev
user@debian:~/Desktop/hello/hello-2.1.1$ dpkg -l | grep debhelper
ii debhelper 9.20150101+deb8u2 all helper programs for debian/rules
user@debian:~/Desktop/hello/hello-2.1.1$ dpkg -l | grep autotools-dev
ii autotools-dev 20140911.1 all Update infrastructure for config.{guess,sub} files
user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ cat debian/control | grep Build-Depends-indep:
user@debian:~/Desktop/hello/hello-2.1.1$
Собственно пересборка:

Shell

user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ dpkg-buildpackage -us -uc
dpkg-buildpackage: пакет исходного кода hello
dpkg-buildpackage: версия исходного кода 2.1.1-1
dpkg-buildpackage: дистрибутив исходного кода unstable
dpkg-buildpackage: исходный код изменён user <user@debian>
dpkg-buildpackage: архитектура узла amd64
dpkg-source --before-build hello-2.1.1
fakeroot debian/rules clean
dh clean --with autotools-dev
dh_testdir
dh_auto_clean
dh_autotools-dev_restoreconfig
dh_clean
dpkg-source -b hello-2.1.1
dpkg-source: инфо: используется формат исходника «3.0 (quilt)»
dpkg-source: инфо: сборка hello с использованием существующего ./hello_2.1.1.orig.tar.gz
dpkg-source: инфо: обнаружены локальные изменения, изменённые файлы:
hello-2.1.1/src/hello.c
dpkg-source: инфо: вы можете встроить локальные изменения в dpkg-source --commit
dpkg-source: ошибка: прерывание работы из-за неожиданных изменений авторского кода, смотрите /tmp/hello_2.1.1-1.diff.YzN34b
dpkg-buildpackage: ошибка: dpkg-source -b hello-2.1.1 возвратил код ошибки 2
user@debian:~/Desktop/hello/hello-2.1.1$
Пишут, что hello.c изменён, а то я не знал.
А если ничё не менять, то собирается нормально

Shell

user@debian:~/Desktop/hello/hello-2.1.1$ uname -a
Linux debian 3.16.0-6-amd64 #1 SMP Debian 3.16.57-2 (2018-07-14) x86_64 GNU/Linux
user@debian:~/Desktop/hello/hello-2.1.1$
Спасибо, кто откликнется.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

жучара писал(а):
13.05.2019 22:19
dh_make, я так понял, зачем-то генерит папку debian, ну, видать, надо так.
В руководстве подробно описано, зачем это надо.
жучара писал(а):
13.05.2019 22:19
Поправим исходники.
Вам надо не просто поправить исходники, а создать серию патчей (в данном случае — из одного-единственного патча) при помощи quilt. В руководстве это тоже подробно описано.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Bizdelnick писал:
13.05.2019 22:57
Вам надо не просто поправить исходники, а создать серию патчей (в данном случае — из одного-единственного патча) при помощи quilt. В руководстве это тоже подробно описано.
там написано, что нужно изучить man quilt
О том, как использовать quilt, читайте в quilt(1) и /usr/share/doc/quilt/quilt.pdf.gz
Ну ладно.
man quilt
quilt(1) quilt(1)

....
Patch files are located in the patches sub-directory of the source tree (see EXAMPLE OF WORKING TREE below). The QUILT_PATCHES environment variable can be used to override this location. The patches directory may contain sub-directories. It may also be a symbolic link instead of a directory.
Ну так-то всё понятно. Переменная QUILT_PATCHES, указывающая на сущестствующую папку, определяет, куда все эти патчи будут пихаться. Тем более и в книжке она определяется ( в приведённом скрипте)

Shell

# if in Debian packaging tree with unset $QUILT_PATCHES
QUILT_PATCHES="debian/patches"
А попробовать?

++++++++++++++++++++++++++++++++++++++++++++++++++++

Пакет тот же самый. Находимся в корне дерева или где там. Посмотрим, а папка pathes существует вообще?

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ find . | grep patches
user@debian:~/hello/hello-2.1.1$
Не существует. Создадим папку debian/patches (прямо как в книге)

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ mkdir -p debian/patches
user@debian:~/hello/hello-2.1.1$
Теперь так:

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ QUILT_PATCHES="debian/patches"
user@debian:~/hello/hello-2.1.1$
Ну и патч добавим:

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ quilt new patch1
Патч patch1 теперь наверху
user@debian:~/hello/hello-2.1.1$
А теперь ещё раз поищем папку patches

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ find . | grep patches
./.pc/.quilt_patches
./.pc/applied-patches
./patches
./patches/series
./debian/patches
user@debian:~/hello/hello-2.1.1$
Вот то-то и оно. Наша переменная QUILT_PATCHES вообще не имеет значения, оказывается, хотя в man-е написано обратное. В общем, quilt совсем не обращает на неё внимания и знай создаёт свою папку ./patches, куда в дальнейшем и пихает патчи (проверено). А должна их пихать в папку ./debian/patches

ЧЯДНТ?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

жучара писал(а):
19.05.2019 15:06
Наша переменная QUILT_PATCHES вообще не имеет значения, оказывается, хотя в man-е написано обратное. В общем, quilt совсем не обращает на неё внимания и знай создаёт свою папку ./patches, куда в дальнейшем и пихает патчи (проверено). А должна их пихать в папку ./debian/patches

ЧЯДНТ?
Вы эту переменную не экспортировали, поэтому quilt её просто не видит. Чем пытаться переопределить всё руками, сделайте лучше как в руководстве: создайте ~/.quiltrc-dpkg с настройками и определите алиас dquilt, после чего используйте его.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Там какие-то переменные, в которых мне тяжело пока разобраться. Но есть одна, в которой мне разобраться легко. Она, не упоминается, правда, в приводимом файле, но теоретически может там быть. Называется EDITOR

Shell

user@debian:~$
user@debian:~$ cat /usr/share/doc/quilt/examples/quilt.quiltrc
# Example /etc/quilt.quiltrc
#...
# Use a specific editor for quilt (defaults to the value of $EDITOR before
# sourcing this configuration file, or vi if $EDITOR wasn't set).
#EDITOR=nedit
user@debian:~$
Вот воздадим патч

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ quilt --quiltrc=setting.txt new patch3
Патч patch3 теперь наверху
user@debian:~/hello/hello-2.1.1$
Вот попытаемся его отредактировать и увидим, что используется редактор nano

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ quilt --quiltrc=setting.txt edit src/hello.c
File hello/hello-2.1.1/src/hello.c added to patch patch3
Используйте «fg» для возврата в nano

[3]+ Stopped quilt --quiltrc=setting.txt edit src/hello.c
user@debian:~/hello/hello-2.1.1$
А должен использоваться редактор vi

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ cat setting.txt
EDITOR=vi
user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$
Если экспортировать переменную EDITOR,

Shell

export EDITOR=vi
То да, редактирование будет в vi. Но в примере чёрным по белому сказано, что чтобы тот или иной редактор использовался, его достаточно добавить в конфигурационный файл, а необязательно экспортировать переменную. А вот на практике, пока не экспортируешь, так не получится. Почему же так?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

жучара писал(а):
20.05.2019 21:34
Но в примере чёрным по белому сказано, что чтобы тот или иной редактор использовался, его достаточно добавить в конфигурационный файл, а необязательно экспортировать переменную.
Странный пример. У меня в системе такого нет, зато есть /usr/share/doc/quilt/quilt.html, где сказано
The command quilt edit adds a file and loads it into the default editor. (The environment variable EDITOR specifies which is the default editor. If EDITOR is not set, vi is used.)
То есть переменная должна быть в окружении (в этом же можно убедиться, заглянув в код quilt). Экспортировать её можно прямо в том же quiltrc.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

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

Сообщение Hephaestus »

жучара писал(а):
20.05.2019 21:34
Но в примере чёрным по белому сказано, что чтобы тот или иной редактор использовался, его достаточно добавить в конфигурационный файл, а необязательно экспортировать переменную. А вот на практике, пока не экспортируешь, так не получится. Почему же так?
Смотрим внимательно:
жучара писал(а):
20.05.2019 21:34
# Use a specific editor for quilt (defaults to the value of $EDITOR before
# sourcing this configuration file, or vi if $EDITOR wasn't set
).
Сначала считывается значение переменной окружения $EDITOR,
если она не установлена, используется значение из файла, если и оно не установлено, используется vi.
У Вас значение из settings.txt не считывается, вероятно потому, что уже установлено $EDITOR=nano.
Сделайте unset EDITOR - будет браться из файла, уберите и файл тоже, будет запускаться vi.
Bizdelnick писал:
20.05.2019 23:10
Странный пример. У меня в системе такого нет
Вообще, в тарболе такой файл есть. Это /etc/quilt.quiltrc.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

Hephaestus писал:
21.05.2019 00:16
Это /etc/quilt.quiltrc.
А, там есть, да.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Хотел разобраться, так теперь другая проблема:

Shell

user@debian:~/hello$
user@debian:~/hello$ ls
hello-2.1.1.tar.gz
user@debian:~/hello$ tar -xzf hello-2.1.1.tar.gz
user@debian:~/hello$ cd hello-2.1.1
user@debian:~/hello/hello-2.1.1$ quilt new patch1
Патч patch1 уже существует
user@debian:~/hello/hello-2.1.1$
Да ну как так-то? Как патч patch1 может существовать, если папка hello-2.1.1 только что создана и я только что в неё вошёл?
Я просто читаю маны.
Спасибо сказали:
Wolfenberg
Сообщения: 4

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

Сообщение Wolfenberg »

жучара писал(а):
21.05.2019 19:23
Да ну как так-то? Как патч patch1 может существовать, если папка hello-2.1.1 только что создана и я только что в неё вошёл?
Выше сами же и создавали.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Wolfenberg писал(а):
21.05.2019 19:58
Выше сами же и создавали.
так я создавал раньше, а теперь у меня нет ни папки patсhes, ничего нет. А если патчи хранятся чёрт его знает где, зачем тогда все эти папки patches, pc и прочая муть? Я сейчас, по идее, должен пакет пересобрать и на другой машине патчи посмотреть и там их не будет, ибо система другая. Интересно получается, на одной системе патчи есть, а на другой нет, как так-то?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

жучара писал(а):
21.05.2019 19:23
Как патч patch1 может существовать
А где он лежит-то? Что в $QUILT_PATCHES?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Bizdelnick писал:
21.05.2019 23:07
А где он лежит-то?
тоже очень интересно

Shell

user@debian:~/hello$ echo $QUILT_PATCHES

user@debian:~/hello$

Shell

user@debian:~/hello$
user@debian:~/hello$ quilt series -v
+ flower.diff
+ jj
+ jjuu
+ tyty
+ tytyh
+ pppppppp
+ ppppppfgf
+ grtjjjj
+ kkjkjj
+ patch
+ patch1
+ patch2
= patch3
user@debian:~/hello$
уже и в помине никаких этих папок (в которых я работал) нет, наверное. А патчи остались.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

~/.quiltrc или /etc/quilt.quiltrc редактировали? Что там?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Shell

user@debian:~/hello$
user@debian:~/hello$ cat ~/.quiltrc
cat: /home/user/.quiltrc: Нет такого файла или каталога
user@debian:~/hello$
user@debian:~/hello$
user@debian:~/hello$ cat /etc/quilt.quiltrc
cat: /etc/quilt.quiltrc: Нет такого файла или каталога
user@debian:~/hello$
user@debian:~/hello$
я уж точно их не удалял.
Добавлено (17:00):

Shell

sudo find / | grep "series$"
Нашёл я такой вот файл (единственный в своём роде на компе, больше patches/series нет)

Shell

user@debian:~/hello$
user@debian:~/hello$ cat /home/user/Desktops/Desktop1/patches/series
flower.diff
jj
jjuu
tyty
tytyh
pppppppp
ppppppfgf
grtjjjj
kkjkjj
patch
patch1
patch2
patch3
user@debian:~/hello$
Но почему будучи в папке ~/hello$ quilt лезет в /home/user/Desktops/Desktop1/patches/series?

Тоже ничего особенного:

Shell

user@debian:~/hello$ alias
alias dquilt='quilt --quiltrc=/home/user/.quiltrc-dpkg'
alias ls='ls --color=auto'
user@debian:~/hello$
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

А что выведет, например, quilt --trace series?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Shell

user@debian:~/hello$
user@debian:~/hello$ quilt --trace series
+ case $- in
+ return
+ . /usr/share/quilt/series
+++ type -t patch_file_name
++ '[' '' '!=' function ']'
++ '[' -r /usr/share/quilt/scripts/patchfns ']'
++ . /usr/share/quilt/scripts/patchfns
+++ export TEXTDOMAIN=quilt
+++ TEXTDOMAIN=quilt
+++ export TEXTDOMAINDIR=/usr/share/locale
+++ TEXTDOMAINDIR=/usr/share/locale
+++ : ru_RU.UTF-8
+++ : ru_RU.UTF-8
+++ ORIGINAL_LANG=ru_RU.UTF-8
+++ export LANG=POSIX
+++ LANG=POSIX
+++ export QUILT_PATCHES QUILT_PC SUBDIR SERIES DB
+++ DB_VERSION=2
+++ : .pc
+++ '[' -d /usr/share/quilt/compat ']'
+++ export PATH=/usr/share/quilt/compat:/usr/share/quilt/compat:/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
+++ PATH=/usr/share/quilt/compat:/usr/share/quilt/compat:/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
+++ unset CDPATH
+++ shopt -s dotglob
+++ '[' -e /etc/quilt.quiltrc ']'
+++ '[' -n series ']'
++++ tr a-z A-Z
++++ echo series
+++ args=QUILT_SERIES_ARGS
+++ eval set -- '"$@"'
++++ set --
+++ unset args
+++ . /usr/share/quilt/scripts/utilfns
+++ declare -a exit_handlers
+++ trap run_exit_handlers EXIT
+++ declare pager_fifo pager_fifo_dir pager_pid
+++ unset SUBDIR SUBDIR_DOWN
+++ '[' -d .pc -o -d patches ']'
+++ basedir=/home/user/Desktop/hello
+++ '[' -n /home/user/Desktop/hello ']'
+++ basedir=/home/user/Desktop
+++ down=../
+++ '[' -d /home/user/Desktop/.pc -o -d /home/user/Desktop/patches ']'
+++ SUBDIR=hello/
+++ SUBDIR_DOWN=../
+++ cd /home/user/Desktop/
+++ break
+++ unset basedir down
+++ '[' -r .pc/.quilt_patches ']'
+++ : patches
+++ '[' -r .pc/.quilt_series ']'
+++ : series
+++ '[' s = / ']'
+++ '[' -f .pc/series ']'
+++ '[' -f series ']'
+++ SERIES=patches/series
+++ DB=.pc/applied-patches
+++ '[' -z '' ']'
+++ version_check
+++ '[' -e .pc ']'
+++ '[' -e .pc/.version ']'
+++ version=2
+++ '[' 2 -gt 2 ']'
+++ '[' 2 = 2 ']'
+++ return 0
+++ getopt -o vh --long color:: --
++ options=' --'
++ '[' 0 -ne 0 ']'
++ eval set -- ' --'
+++ set -- --
++ true
++ case "$1" in
++ shift
++ break
++ '[' 0 -ne 0 ']'
++ setup_pager
++ test -t 1
++ QUILT_PAGER=less
++ '[' -z less -o less = cat ']'
++ export LESS=FRSX
++ LESS=FRSX
+++ gen_tempfile -d
+++ '[' -d = -d ']'
+++ mktemp -d /tmp/quilt.XXXXXX
++ pager_fifo_dir=/tmp/quilt.OwI2zt
++ pager_fifo=/tmp/quilt.OwI2zt/0
++ mkfifo -m 600 /tmp/quilt.OwI2zt/0
++ pager_pid=15540
++ less
++ exec
++ trap wait_for_pager_signal INT HUP TERM QUIT
++ add_exit_handler wait_for_pager
++ exit_handlers[${#exit_handlers[@]}]=wait_for_pager
++ '[' -n '' ']'
+++ cat_series
+++ '[' -e patches/series ']'
+++ sed -e '/^#/d' -e 's/^[ ]*//' -e 's/[ ].*//' -e '/^$/d' patches/series
++ cat_patches '' '' flower.diff jj jjuu tyty tytyh pppppppp ppppppfgf grtjjjj kkjkjj patch patch1 patch2 patch3
++ local color= prefix=
++ shift 2
++ local patch
++ for patch in '"$@"'
+++ print_patch flower.diff
+++ echo -n flower.diff
++ echo flower.diff
++ for patch in '"$@"'
flower.diff
+++ print_patch jj
+++ echo -n jj
++ echo jj
++ for patch in '"$@"'
jj
+++ print_patch jjuu
+++ echo -n jjuu
++ echo jjuu
jjuu
++ for patch in '"$@"'
+++ print_patch tyty
+++ echo -n tyty
++ echo tyty
++ for patch in '"$@"'
tyty
+++ print_patch tytyh
+++ echo -n tytyh
++ echo tytyh
++ for patch in '"$@"'
tytyh
+++ print_patch pppppppp
+++ echo -n pppppppp
++ echo pppppppp
++ for patch in '"$@"'
pppppppp
+++ print_patch ppppppfgf
+++ echo -n ppppppfgf
++ echo ppppppfgf
ppppppfgf
++ for patch in '"$@"'
+++ print_patch grtjjjj
+++ echo -n grtjjjj
++ echo grtjjjj
++ for patch in '"$@"'
+++ print_patch kkjkjj
+++ echo -n kkjkjj
++ echo kkjkjj
++ for patch in '"$@"'
+++ print_patch patch
+++ echo -n patch
++ echo patch
++ for patch in '"$@"'
+++ print_patch patch1
+++ echo -n patch1
++ echo patch1
++ for patch in '"$@"'
+++ print_patch patch2
+++ echo -n patch2
++ echo patch2
++ for patch in '"$@"'
+++ print_patch patch3
+++ echo -n patch3
++ echo patch3
+ run_exit_handlers
+ local h
+ for h in '"${exit_handlers[@]}"'
+ eval wait_for_pager
++ wait_for_pager
++ exec
++ wait 15540
grtjjjj
kkjkjj
patch
patch1
patch2
patch3
++ rm /tmp/quilt.OwI2zt/0
++ rmdir /tmp/quilt.OwI2zt
user@debian:~/hello$
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

Не вижу здесь ни одного упоминания /home/user/Desktops/Desktop1. Не знаю, откуда и зачем у Вас взялся такой каталог (или симлинк), но он тут ни при чём.
Если quilt не находит каталога patches (или $QUILT_PATCHES) в текущем каталоге, он ищет его выше по дереву каталогов. У Вас такой каталог нашёлся в /home/user/Desktop, поэтому quilt стал использовать его.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Bizdelnick писал:
22.05.2019 17:50
Если quilt не находит каталога patches (или $QUILT_PATCHES) в текущем каталоге, он ищет его выше по дереву каталогов. У Вас такой каталог нашёлся в /home/user/Desktop, поэтому quilt стал использовать его.
спасибо, а я вот сам не смог этого определить.
QUILT PATCHES environment variable can be used to override this location and quilt will remember this location by storing its value in the .pc/.quilt_patches file.
QUILT_PATCHES The location of patch files (see Section 3). This setting defaults to "patches"
Patch files are located in the patches sub-directory of the source tree (see EXAMPLE OF WORKING TREE below). The QUILT_PATCHES environment variable can be used to override this location. The patches directory may contain sub-directories. It may also be a symbolic link instead of a directory.
The series file is looked up in the .pc directory, in the root of the source tree, and in the patches directory.
Use the specified configuration file instead of ~/.quiltrc (or /etc/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf documentation for details about its possible contents. The special value "-" causes quilt not to read any configuration file.
Всё.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Bizdelnick писал:
20.05.2019 23:10
У Вас значение из settings.txt не считывается, вероятно потому, что уже установлено $EDITOR=nano.
Сделайте unset EDITOR - будет браться из файла, уберите и файл тоже, будет запускаться vi.
нет.

Shell

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ ls ~/.quiltrc
ls: невозможно получить доступ к /home/user/.quiltrc: Нет такого файла или каталога
user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ ls /etc/quilt.quiltrc
ls: невозможно получить доступ к /etc/quilt.quiltrc: Нет такого файла или каталога
user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ unset EDITOR
user@debian:~/hello/hello-2.1.1$ echo $EDITOR

user@debian:~/hello/hello-2.1.1$
user@debian:~/hello/hello-2.1.1$ quilt new patch3
Патч patch3 теперь наверху
user@debian:~/hello/hello-2.1.1$ quilt edit src/hello.c
File src/hello.c added to patch patch3
Используйте «fg» для возврата в nano

[3]+ Stopped quilt edit src/hello.c
user@debian:~/hello/hello-2.1.1$
Вот я сперва показываю, что файлов ~/.quiltrc и /etc/quilt.quiltrc, которые тоже могли бы быть конфигурационными, нет. Потом показываю, что и переменной EDITOR нет. Ну, а потом жду, что запустится vi, а запускается nano. Реально грустно.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

По всей видимости, запускается editor. Что за ним скрывается — настраивается через механизм альтернатив:

Shell

% sudo update-alternatives --config editor
Есть 7 вариантов для альтернативы editor (предоставляет /usr/bin/editor).

Выбор Путь Приор Состояние
------------------------------------------------------------
0 /usr/bin/jed 42 автоматический режим
1 /bin/ed -100 ручной режим
2 /bin/nano 40 ручной режим
3 /usr/bin/jed 42 ручной режим
4 /usr/bin/mcedit 25 ручной режим
5 /usr/bin/vim.basic 30 ручной режим
* 6 /usr/bin/vim.nox 40 ручной режим
7 /usr/bin/vim.tiny 15 ручной режим

Press <enter> to keep the current choice[*], or type selection number:
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Bizdelnick писал:
23.05.2019 23:30
По всей видимости, запускается editor.
, так оно. Но вообще-то написано vi, значит должно быть vi.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

жучара писал(а):
25.05.2019 02:54
Но вообще-то написано vi, значит должно быть vi.
Специфика Debian. Привели поведение к принятому в дистрибутиве, а документацию поправить забыли.
https://sources.debian.org/patches/quilt/0.63-8/use-sensible-editor/
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Реальная проблема в том, что в книжке приведён пример какой им надо (правка файла Makefile). Строго говоря, там исходный код и не правился. А я вот правлю и естессно, ничё не получается.

...Находимся в пустой папке hello. Исходники hello отсюда скачаем

Shell

user@debian:~/Desktop/hello$
user@debian:~/Desktop/hello$ wget ftp://ftp.gnu.org/pub/gnu/hello/hello-2.1.1.tar.gz > /dev/null
--2019-06-09 11:05:28-- ftp://ftp.gnu.org/pub/gnu/hello/hello-2.1.1.tar.gz
=> «hello-2.1.1.tar.gz.3»
Распознаётся ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Подключение к ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:21... соединение установлено.
Выполняется вход под именем anonymous ... Выполнен вход в систему!
==> SYST ... готово. ==> PWD ... готово.
==> TYPE I ... готово. ==> CWD (1) /pub/gnu/hello ... готово.
==> SIZE hello-2.1.1.tar.gz ... 389363
==> PASV ... готово. ==> RETR hello-2.1.1.tar.gz ... готово.
Размер (байт): 389363 (380K) (не достоверно)

100%[===========================================================>] 389 363 337K/s за 1,1s

2019-06-09 11:05:31 (337 KB/s) - «hello-2.1.1.tar.gz.3» saved [389363]

user@debian:~/Desktop/hello$
Разархивируем

Shell

user@debian:~/Desktop/hello$
user@debian:~/Desktop/hello$ tar -xzf hello-2.1.1.tar.gz
user@debian:~/Desktop/hello$
В папку hello-2.1.1 перейдём

Shell

user@debian:~/Desktop/hello$
user@debian:~/Desktop/hello$ cd hello-2.1.1/
user@debian:~/Desktop/hello/hello-2.1.1$
Папку debian с внутренностями создадим

Shell

user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ dh_make -f ../hello-2.1.1.tar.gz -s
Maintainer name : user
Email-Address : user@debian
Date : Sun, 09 Jun 2019 11:07:25 +0500
Package Name : hello
Version : 2.1.1
License : blank
Type of Package : Single
Hit <enter> to confirm:
Skipping creating ../hello_2.1.1.orig.tar.gz because it already exists
You already have a debian/ subdirectory in the source tree.
dh_make will not try to overwrite anything.
user@debian:~/Desktop/hello/hello-2.1.1$
Папку debian/patches создадим

Shell

user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ mkdir debian/patches
user@debian:~/Desktop/hello/hello-2.1.1$
Патч hello.patch создадим

Shell

user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ dquilt new hello.patch
Патч hello.patch теперь наверху
user@debian:~/Desktop/hello/hello-2.1.1$
Файл src/hello.c к патчу hello.patch добавим, файл src/hello.c отредактируем

Shell

user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ dquilt edit src/hello.c
File src/hello.c added to patch hello.patch

user@debian:~/Desktop/hello/hello-2.1.1$
Патч hello.patch обновим

Shell

user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ dquilt refresh
Патч hello.patch обновлён
user@debian:~/Desktop/hello/hello-2.1.1$

Код: Выделить всё

int
main (argc, argv)
     int argc;
     char *argv[];
{
  printf ("cafebabe\n");
  int optc;
Собственно сборка.
dpkg-buildpackage -us -uc

Shell

user@debian:~/Desktop/hello/hello-2.1.1$
user@debian:~/Desktop/hello/hello-2.1.1$ dpkg-buildpackage -us -uc
dpkg-buildpackage: пакет исходных текстов hello
dpkg-buildpackage: версия исходных текстов 2.1.1-1
dpkg-buildpackage: исходные тексты изменены user <user@debian>
dpkg-buildpackage: архитектура узла amd64
dpkg-source --before-build hello-2.1.1
fakeroot debian/rules clean
dh clean --with autotools-dev
dh_testdir
dh_auto_clean
dh_autotools-dev_restoreconfig
dh_clean
dpkg-source -b hello-2.1.1
dpkg-source: инфо: используется формат исходника «3.0 (quilt)»
dpkg-source: инфо: сборка hello с использованием существующего ./hello_2.1.1.orig.tar.gz
dpkg-source: инфо: сборка hello в hello_2.1.1-1.debian.tar.gz
dpkg-source: инфо: сборка hello в hello_2.1.1-1.dsc
debian/rules build
dh build --with autotools-dev
dh_testdir
dh_autotools-dev_updateconfig
dh_auto_configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for strerror in -lcposix... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for string.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for struct stat.st_blksize... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for ranlib... ranlib
checking for gcc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for off_t... yes
checking for size_t... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking whether we are using the GNU C Library 2.1 or newer... yes
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for iconv... yes
checking argz.h usability... yes
checking argz.h presence... yes
checking for argz.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking nl_types.h usability... yes
checking nl_types.h presence... yes
checking for nl_types.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for feof_unlocked... yes
checking for fgets_unlocked... yes
checking for getc_unlocked... yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... yes
checking for munmap... yes
checking for putenv... yes
checking for setenv... yes
checking for setlocale... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strtoul... yes
checking for tsearch... yes
checking for __argz_count... yes
checking for __argz_stringify... yes
checking for __argz_next... yes
checking for iconv declaration...
extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t*outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking for bison... no
checking whether NLS is requested... yes
checking whether included gettext is requested... no
checking for GNU gettext in libc... yes
checking for perl... perl
configure: creating ./config.status
config.status: creating Makefile
config.status: creating contrib/Makefile
config.status: creating doc/Makefile
config.status: creating intl/Makefile
config.status: creating man/Makefile
config.status: creating po/Makefile.in
config.status: creating m4/Makefile
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing default commands
dh_auto_build
make[1]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make all-recursive
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
Making all in contrib
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
Making all in doc
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
Making all in intl
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
Making all in po
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
Making all in src
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
gcc -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -I.. -I../intl -I../intl -g -O2 -c `test -f 'hello.c' || echo './'`hello.c
gcc -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -I.. -I../intl -I../intl -g -O2 -c `test -f 'version.c' || echo './'`version.c
gcc -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -I.. -I../intl -I../intl -g -O2 -c `test -f 'getopt.c' || echo './'`getopt.c
gcc -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -I.. -I../intl -I../intl -g -O2 -c `test -f 'getopt1.c' || echo './'`getopt1.c
gcc -g -O2 -o hello hello.o version.o getopt.o getopt1.o
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
Making all in man
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
perl help2man --name="Friendly Greeting Program" ../src/hello >hello.1
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
Making all in m4
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
Making all in tests
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[1]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
dh_auto_test
make[1]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
Making check in contrib
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
Making check in doc
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
Making check in intl
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
Making check in po
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
Making check in src
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
Making check in man
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
Making check in m4
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
Making check in tests
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make check-TESTS
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
0a1
> cafebabe
FAIL: hello-1
0a1
> cafebabe
FAIL: world-1
0a1
> cafebabe
FAIL: nothing-1
===================
3 of 3 tests failed
===================
make[3]: *** [check-TESTS] Ошибка 1
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[2]: *** [check-am] Ошибка 2
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[1]: *** [check-recursive] Ошибка 1
make[1]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
dh_auto_test: make -j1 check returned exit code 2
make: *** [build] Ошибка 29
dpkg-buildpackage: ошибка: debian/rules build возвратил код ошибки 2
user@debian:~/Desktop/hello/hello-2.1.1$
Занавес.
А ведь я просто добавил вызов встроенной функции. А что будет, если я напишу свою функцию и вынесу её в отдельный файл? Страшно подумать даже.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

жучара писал(а):
09.06.2019 09:32
Реальная проблема в том, что в книжке приведён пример какой им надо (правка файла Makefile). Строго говоря, там исходный код и не правился. А я вот правлю и естессно, ничё не получается.
С технической точки зрения нет абсолютно никакой разницы, какие файлы правятся.
жучара писал(а):
09.06.2019 09:32
Папку debian/patches создадим
Это не обязательно делать вручную.
жучара писал(а):
09.06.2019 09:32
А ведь я просто добавил вызов встроенной функции.
Вы изменили поведение программы, в результате чего завалились тесты (очевидно, сравнивающие вывод команды с ожидаемым). Ничего удивительного в этом нет, и собственно к сборке пакета данная ошибка не имеет ни малейшего отношения. Читайте лог сборки внимательнее, в нём вся информация есть.
жучара писал(а):
09.06.2019 09:32
А что будет, если я напишу свою функцию и вынесу её в отдельный файл? Страшно подумать даже.
Если точно так же напишете, не позаботившись о нормальной работе получившегося, действительно страшно подумать. В любом случае не советую делать такие патчи, по крайней мере в случае программ, собираемых autotools.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Bizdelnick писал:
09.06.2019 09:58
Читайте лог сборки внимательнее
а где его брать?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

жучара писал(а):
09.06.2019 10:03
а где его брать?
Так Вы же его и выложили. Смотрите, где появилась ошибка:
жучара писал(а):
09.06.2019 09:32

Shell

make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
0a1
> cafebabe
FAIL: hello-1
0a1
> cafebabe
FAIL: world-1
0a1
> cafebabe
FAIL: nothing-1
===================
3 of 3 tests failed
===================
make[3]: *** [check-TESTS] Ошибка 1
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

Взялся было разбираться с тем, что вы показали, да какое там...
В общем, всё то же самое, только попроще. Собираю пакет НЕПРАВЛЕННЫЙ. То есть скачал исходники и собрал, разархивировал и собрал.

Shell

user@astra:~/Desktop/hello$
user@astra:~/Desktop/hello$ wget ftp://ftp.gnu.org/pub/gnu/hello/hello-2.1.1.tar.gz > /dev/null
--2019-06-09 14:21:31-- ftp://ftp.gnu.org/pub/gnu/hello/hello-2.1.1.tar.gz
=> «hello-2.1.1.tar.gz»
Распознаётся ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Подключение к ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:21... соединение установлено.
Выполняется вход под именем anonymous ... Выполнен вход в систему!
==> SYST ... готово. ==> PWD ... готово.
==> TYPE I ... готово. ==> CWD (1) /pub/gnu/hello ... готово.
==> SIZE hello-2.1.1.tar.gz ... 389363
==> PASV ... готово. ==> RETR hello-2.1.1.tar.gz ... готово.
Размер (байт): 389363 (380K) (не достоверно)

100%[================================>] 389 363 400K/s за 1,0s

2019-06-09 14:21:35 (400 KB/s) - «hello-2.1.1.tar.gz» saved [389363]

user@astra:~/Desktop/hello$
user@astra:~/Desktop/hello$
user@astra:~/Desktop/hello$
user@astra:~/Desktop/hello$
user@astra:~/Desktop/hello$ tar -xzf hello-2.1.1.tar.gz
user@astra:~/Desktop/hello$
user@astra:~/Desktop/hello$
user@astra:~/Desktop/hello$
user@astra:~/Desktop/hello$ cd hello-2.1.1/
user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$ dh_make -f ../hello-2.1.1.tar.gz -s
Maintainer name : user
Email-Address : user@astra
Date : Sun, 09 Jun 2019 14:21:57 +0500
Package Name : hello
Version : 2.1.1
License : blank
Type of Package : Single
Hit <enter> to confirm:
Done. Please edit the files in the debian/ subdirectory now. hello
uses a configure script, so you probably don't have to edit the Makefiles.
user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$ dpkg-buildpackage -us -uc
dpkg-buildpackage: пакет исходных текстов hello
dpkg-buildpackage: версия исходных текстов 2.1.1-1
dpkg-buildpackage: исходные тексты изменены user <user@astra>
dpkg-buildpackage: архитектура узла amd64
dpkg-source --before-build hello-2.1.1
fakeroot debian/rules clean
dh clean --with autotools-dev
dh_testdir
dh_auto_clean
dh_autotools-dev_restoreconfig
dh_clean
dpkg-source -b hello-2.1.1
dpkg-source: инфо: используется формат исходника «3.0 (quilt)»
dpkg-source: инфо: сборка hello с использованием существующего ./hello_2.1.1.orig.tar.gz
dpkg-source: инфо: сборка hello в hello_2.1.1-1.debian.tar.gz
dpkg-source: инфо: сборка hello в hello_2.1.1-1.dsc
debian/rules build
dh build --with autotools-dev
dh_testdir
dh_autotools-dev_updateconfig
dh_auto_configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for strerror in -lcposix... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for string.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for struct stat.st_blksize... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for ranlib... ranlib
checking for gcc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for off_t... yes
checking for size_t... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking whether we are using the GNU C Library 2.1 or newer... yes
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for iconv... yes
checking argz.h usability... yes
checking argz.h presence... yes
checking for argz.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking nl_types.h usability... yes
checking nl_types.h presence... yes
checking for nl_types.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for feof_unlocked... yes
checking for fgets_unlocked... yes
checking for getc_unlocked... yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... yes
checking for munmap... yes
checking for putenv... yes
checking for setenv... yes
checking for setlocale... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strtoul... yes
checking for tsearch... yes
checking for __argz_count... yes
checking for __argz_stringify... yes
checking for __argz_next... yes
checking for iconv declaration...
extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking for bison... no
checking whether NLS is requested... yes
checking whether included gettext is requested... no
checking for GNU gettext in libc... yes
checking for perl... perl
configure: creating ./config.status
config.status: creating Makefile
config.status: creating contrib/Makefile
config.status: creating doc/Makefile
config.status: creating intl/Makefile
config.status: creating man/Makefile
config.status: creating po/Makefile.in
config.status: creating m4/Makefile
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing default commands
dh_auto_build
make[1]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make all-recursive
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
Making all in contrib
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
Making all in doc
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
Making all in intl
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
Making all in po
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
Making all in src
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
gcc -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -I.. -I../intl -I../intl -g -O2 -c `test -f 'hello.c' || echo './'`hello.c
gcc -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -I.. -I../intl -I../intl -g -O2 -c `test -f 'version.c' || echo './'`version.c
gcc -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -I.. -I../intl -I../intl -g -O2 -c `test -f 'getopt.c' || echo './'`getopt.c
gcc -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -I.. -I../intl -I../intl -g -O2 -c `test -f 'getopt1.c' || echo './'`getopt1.c
gcc -g -O2 -o hello hello.o version.o getopt.o getopt1.o
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
Making all in man
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
perl help2man --name="Friendly Greeting Program" ../src/hello >hello.1
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
Making all in m4
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
Making all in tests
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[1]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
dh_auto_test
make[1]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
Making check in contrib
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
Making check in doc
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
Making check in intl
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
Making check in po
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
Making check in src
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
Making check in man
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
Making check in m4
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
make[2]: Цель `check' не требует выполнения команд.
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
Making check in tests
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make check-TESTS
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
PASS: hello-1
PASS: world-1
PASS: nothing-1
==================
All 3 tests passed
==================
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[1]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
fakeroot debian/rules binary
dh binary --with autotools-dev
dh_testroot
dh_prep
dh_installdirs
dh_auto_install
make[1]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
Making install in contrib
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
make[3]: Цель `install-exec-am' не требует выполнения команд.
make[3]: Цель `install-data-am' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
Making install in doc
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
make[3]: Цель `install-exec-am' не требует выполнения команд.
/bin/sh ../mkinstalldirs /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/info
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/info
/usr/bin/install -c -m 644 ./hello.info /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/info/hello.info
install-info --info-dir=/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/info /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/info/hello.info
This is not dpkg install-info anymore, but GNU install-info
See the man page for ginstall-info for command line arguments
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
Making install in intl
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
if test "hello" = "gettext" \
&& test '' = 'intl-compat.o'; then \
/bin/sh `case "./mkinstalldirs" in /*) echo "./mkinstalldirs" ;; *) echo ".././mkinstalldirs" ;; esac` /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/lib /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/include; \
/usr/bin/install -c -m 644 libintl.h /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/include/libintl.h; \
@LIBTOOL@ --mode=install \
/usr/bin/install -c -m 644 libintl.a /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/lib/libintl.a; \
else \
: ; \
fi
if test 'no' = yes; then \
test yes != no || /bin/sh `case "./mkinstalldirs" in /*) echo "./mkinstalldirs" ;; *) echo ".././mkinstalldirs" ;; esac` /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/lib; \
temp=/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/lib/t-charset.alias; \
dest=/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/lib/charset.alias; \
if test -f /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/lib/charset.alias; then \
orig=/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/lib/charset.alias; \
sed -f ref-add.sed $orig > $temp; \
/usr/bin/install -c -m 644 $temp $dest; \
rm -f $temp; \
else \
if test yes = no; then \
orig=charset.alias; \
sed -f ref-add.sed $orig > $temp; \
/usr/bin/install -c -m 644 $temp $dest; \
rm -f $temp; \
fi; \
fi; \
/bin/sh `case "./mkinstalldirs" in /*) echo "./mkinstalldirs" ;; *) echo ".././mkinstalldirs" ;; esac` /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale; \
test -f /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/locale.alias \
&& orig=/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/locale.alias \
|| orig=./locale.alias; \
temp=/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/t-locale.alias; \
dest=/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/locale.alias; \
sed -f ref-add.sed $orig > $temp; \
/usr/bin/install -c -m 644 $temp $dest; \
rm -f $temp; \
else \
: ; \
fi
if test "hello" = "gettext"; then \
/bin/sh `case "./mkinstalldirs" in /*) echo "./mkinstalldirs" ;; *) echo ".././mkinstalldirs" ;; esac` /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/intl; \
/usr/bin/install -c -m 644 VERSION /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/intl/VERSION; \
/usr/bin/install -c -m 644 ChangeLog.inst /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/intl/ChangeLog; \
dists="COPYING.LIB-2.0 COPYING.LIB-2.1 Makefile.in config.charset locale.alias ref-add.sin ref-del.sin gmo.h gettextP.h hash-string.h plural-exp.h eval-plural.h os2compat.h libgnuintl.h loadinfo.h bindtextdom.c dcgettext.c dgettext.c gettext.c finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c explodename.c dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y plural-exp.c localcharset.c localename.c osdep.c os2compat.c intl-compat.c"; \
for file in $dists; do \
/usr/bin/install -c -m 644 ./$file \
/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/intl/$file; \
done; \
chmod a+x /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/intl/config.charset; \
dists="plural.c"; \
for file in $dists; do \
if test -f $file; then dir=.; else dir=.; fi; \
/usr/bin/install -c -m 644 $dir/$file \
/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/intl/$file; \
done; \
dists="xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c COPYING.LIB-2 gettext.h libgettext.h plural-eval.c"; \
for file in $dists; do \
rm -f /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/intl/$file; \
done; \
else \
: ; \
fi
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
Making install in po
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
/bin/sh `case "./mkinstalldirs" in /*) echo "./mkinstalldirs" ;; *) echo ".././mkinstalldirs" ;; esac` /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/ca/LC_MESSAGES
installing ca.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/ca/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/da/LC_MESSAGES
installing da.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/da/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/de/LC_MESSAGES
installing de.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/de/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/de_DE/LC_MESSAGES
installing de_DE.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/de_DE/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/el/LC_MESSAGES
installing el.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/el/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/eo/LC_MESSAGES
installing eo.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/eo/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/es/LC_MESSAGES
installing es.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/es/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/et/LC_MESSAGES
installing et.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/et/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/fi/LC_MESSAGES
installing fi.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/fi/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/fr/LC_MESSAGES
installing fr.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/fr/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/gl/LC_MESSAGES
installing gl.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/gl/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/he/LC_MESSAGES
installing he.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/he/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/hr/LC_MESSAGES
installing hr.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/hr/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/hu/LC_MESSAGES
installing hu.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/hu/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/id/LC_MESSAGES
installing id.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/id/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/it/LC_MESSAGES
installing it.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/it/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/ja/LC_MESSAGES
installing ja.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/ja/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/ko/LC_MESSAGES
installing ko.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/ko/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/lv/LC_MESSAGES
installing lv.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/lv/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/nb/LC_MESSAGES
installing nb.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/nb/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/nl/LC_MESSAGES
installing nl.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/nl/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/nn/LC_MESSAGES
installing nn.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/nn/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/pl/LC_MESSAGES
installing pl.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/pl/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/pt/LC_MESSAGES
installing pt.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/pt/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/pt_BR/LC_MESSAGES
installing pt_BR.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/pt_BR/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/ru/LC_MESSAGES
installing ru.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/ru/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/sk/LC_MESSAGES
installing sk.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/sk/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/sl/LC_MESSAGES
installing sl.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/sl/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/sv/LC_MESSAGES
installing sv.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/sv/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/tr/LC_MESSAGES
installing tr.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/tr/LC_MESSAGES/hello.mo
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/uk/LC_MESSAGES
installing uk.gmo as /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/locale/uk/LC_MESSAGES/hello.mo
if test "hello" = "gettext"; then \
/bin/sh `case "./mkinstalldirs" in /*) echo "./mkinstalldirs" ;; *) echo ".././mkinstalldirs" ;; esac` /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/po; \
for file in Makefile.in.in Makevars remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot ; do \
/usr/bin/install -c -m 644 ./$file \
/home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/gettext/po/$file; \
done; \
else \
: ; \
fi
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
Making install in src
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
/bin/sh ../mkinstalldirs /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/bin
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/bin
/usr/bin/install -c hello /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/bin/hello
make[3]: Цель `install-data-am' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
Making install in man
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
make[3]: Цель `install-exec-am' не требует выполнения команд.
/bin/sh ../mkinstalldirs /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/man/man1
mkdir -p -- /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/man/man1
/usr/bin/install -c -m 644 ./hello.1 /home/user/Desktops/Desktop1/hello/hello-2.1.1/debian/hello/usr/share/man/man1/hello.1
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
Making install in m4
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
make[3]: Цель `install-exec-am' не требует выполнения команд.
make[3]: Цель `install-data-am' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
Making install in tests
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[3]: Цель `install-exec-am' не требует выполнения команд.
make[3]: Цель `install-data-am' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[3]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[3]: Цель `install-exec-am' не требует выполнения команд.
make[3]: Цель `install-data-am' не требует выполнения команд.
make[3]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
make[1]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
dh_install
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installman
dh_installcatalogs
dh_installcron
dh_installdebconf
dh_installemacsen
dh_installifupdown
dh_installinfo
dh_pysupport
dh_pysupport: This program is deprecated, you should use dh_python2 instead. Migration guide: http://deb.li/dhs2p
dh_installinit
dh_installmenu
dh_installmime
dh_installmodules
dh_installlogcheck
dh_installlogrotate
dh_installpam
dh_installppp
dh_installudev
dh_installwm
dh_installxfonts
dh_installgsettings
dh_bugfiles
dh_ucf
dh_lintian
dh_gconf
dh_icons
dh_perl
dh_usrlocal
dh_link
dh_compress
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dpkg-gencontrol: предупреждение: File::FcntlLock not available; using flock which is not NFS-safe
dh_md5sums
dh_builddeb
dpkg-deb: сборка пакета «hello» в файл «../hello_2.1.1-1_amd64.deb».
dpkg-genchanges >../hello_2.1.1-1_amd64.changes
dpkg-genchanges: в закачку включён весь исходный код
dpkg-source --after-build hello-2.1.1
dpkg-buildpackage: закачка всего (с пакетом оригинального исходного кода)
user@astra:~/Desktop/hello/hello-2.1.1$
А потом ещё раз собрал (команда dpkg-buildpackage -us -uc):

Shell

user@astra:~/Desktop/hello/hello-2.1.1$
user@astra:~/Desktop/hello/hello-2.1.1$ dpkg-buildpackage -us -uc
dpkg-buildpackage: пакет исходных текстов hello
dpkg-buildpackage: версия исходных текстов 2.1.1-1
dpkg-buildpackage: исходные тексты изменены user <user@astra>
dpkg-buildpackage: архитектура узла amd64
dpkg-source --before-build hello-2.1.1
fakeroot debian/rules clean
dh clean --with autotools-dev
dh_testdir
dh_auto_clean
make[1]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
Making distclean in tests
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
rm -f Makefile stamp-h stamp-h[0-9]*
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/tests'
Making distclean in m4
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
rm -f Makefile stamp-h stamp-h[0-9]*
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/m4'
Making distclean in man
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
rm -f Makefile stamp-h stamp-h[0-9]*
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/man'
Making distclean in src
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
test -z "hello" || rm -f hello
rm -f *.o core *.core
rm -f *.tab.c
rm -rf .deps ./.deps
rm -f Makefile stamp-h stamp-h[0-9]*
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/src'
Making distclean in po
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
rm -f *.insert-header
rm -f remove-potcdate.sed
rm -f core core.* hello.po hello.1po hello.2po *.new.po
rm -fr *.o
rm -f Makefile Makefile.in POTFILES *.mo
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/po'
Making distclean in intl
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
rm -f *.a *.la *.o *.lo core core.*
rm -f libintl.h charset.alias ref-add.sed ref-del.sed
rm -f -r .libs _libs
rm -f Makefile ID TAGS
if test "hello" = gettext; then \
rm -f ChangeLog.inst VERSION; \
else \
: ; \
fi
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/intl'
Making distclean in doc
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
rm -f hello.aux hello.cp hello.cps hello.dvi hello.fn hello.ky hello.log \
hello.pg hello.ps hello.toc hello.tp hello.vr
rm -f vti.tmp
rm -f Makefile stamp-h stamp-h[0-9]*
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/doc'
Making distclean in contrib
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
rm -f Makefile stamp-h stamp-h[0-9]*
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1/contrib'
Making distclean in .
make[2]: Entering directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
rm -f Makefile intl/Makefile stamp-h stamp-h[0-9]*
rm -f config.h
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
make[2]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
rm -f config.status config.cache config.log
make[1]: Leaving directory `/home/user/Desktops/Desktop1/hello/hello-2.1.1'
dh_autotools-dev_restoreconfig
dh_clean
dpkg-source -b hello-2.1.1
dpkg-source: инфо: используется формат исходника «3.0 (quilt)»
dpkg-source: инфо: сборка hello с использованием существующего ./hello_2.1.1.orig.tar.gz
dpkg-source: инфо: обнаружены локальные изменения, изменённые файлы:
hello-2.1.1/man/hello.1
dpkg-source: инфо: вы можете встроить локальные изменения в dpkg-source --commit
dpkg-source: ошибка: прерывание работы из-за неожиданных изменений авторского кода, смотрите /tmp/hello_2.1.1-1.diff.he6Ffm
dpkg-buildpackage: ошибка: dpkg-source -b hello-2.1.1 возвратил код ошибки 2
user@astra:~/Desktop/hello/hello-2.1.1$
Вот даже напишу отдельно:
dpkg-source: инфо: обнаружены локальные изменения, изменённые файлы:
hello-2.1.1/man/hello.1
dpkg-source: инфо: вы можете встроить локальные изменения в dpkg-source --commit
dpkg-source: ошибка: прерывание работы из-за неожиданных изменений авторского кода, смотрите /tmp/hello_2.1.1-1.diff.he6Ffm
Я ничего не трогал, никаких файлов. Раз собрал и два собрал. Всё. Пытался было перед повторной сборкой удалить debian rm -r debian/ и вновь скомандовать dh_make -f ../hello-2.1.1.tar.gz -s. Бесполезно. dpkg-buildpackage -us -uc врёт, что я что-то там изменил.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

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

Сообщение Bizdelnick »

Такое бывает, если после очистки удалились не все сгенерированные файлы, или же в ходе сборки в какой-то файл действительно вносятся изменения (чего по идее быть не должно). Проверьте, есть ли такой файл в архиве с исходниками, если нет — пропишите его удаление в rules:

Код: Выделить всё

override_dh_auto_clean:
	dh_auto_clean
	rm -f man/hello.1
Можете также попробовать скопировать правило из дебиановского пакета: https://sources.debian.org/src/hello/2.10-2/debian/rules/#L5
Мне, правда, не очень понятен его смысл. Видимо, dh_auto_clean почему-то отрабатывает некорректно.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

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

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

man/hello1.c в архиве есть и содержит помимо всего прочего строчку:
.TH HELLO "1" "June 2002" "GNU hello 2.1.1" GNU

После сборки он изменён и содержит строчку:
.TH HELLO "1" "June 2019" "GNU hello 2.1.1" GNU

При последующих сборках оно ругается, что этот файл изменён, уж не знаю, как оно определяет, по контрольным суммам, что ли (а где оно их берёт, опять же). Но это я уж фантазирую.

Строчка-то вполне себе. Сейчас июнь 2019 года, почему бы этому не быть отражено в этом файле?

Причём сперва оно изменит файл, а потом на него ругнётся, что он изменён.
Да ну как так-то?
Само же меняет файл и само же ругается, что он изменён. Хоть бы уж или не меняло, или не ругалось.
Ну слов нет, одни маты.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

Так, а ваше исправление помогает.
Но опять вопросы возникают. Если применить ваше изменение, то в потоке ошибок выводится такое:

dpkg-source: предупреждение: игнорируется удаление файла man/hello.1 глупый вопрос- а чё оно не удаляется при очистке, если велено удалять?

И не удаляет и собирает нормально.

Так, а если ваше изменение не вносить, тогда:
dpkg-source: ошибка: прерывание работы из-за неожиданных изменений авторского кода, смотрите /tmp/hello_2.1.1-1.diff.uHsG0D

Не удаляет но и не собирает.

Да хрен с ним со всем, тут уже логика поведения непонятная какая-то и нигде не описанная. Может дойду когда-нибудь. Сейчас разбираться с тестами.
Я просто читаю маны.
Спасибо сказали:
Ответить