Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

Knoppix

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

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

Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

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

Друзья! Системы нулёвые. Соберём пакет zip в sid и в астралинукс (исходники будут одинаковые) и посмотрим, как он себя ведёт.

Итак, sid:

Качнём пакет zip НЕ НАКЛАДЫВАЯ патчей

Shell

user@sid:~/zip$ sudo apt-get update
Сущ:1 http://ftp.psn.ru/debian sid InRelease
Чтение списков пакетов… Готово
user@sid:~/zip$ apt-get -d source zip
Чтение списков пакетов… Готово
Необходимо скачать 1 129 kB архивов исходного кода.
Пол:1 http://ftp.psn.ru/debian sid/main zip 3.0-12 (dsc) [1 328 B]
Пол:2 http://ftp.psn.ru/debian sid/main zip 3.0-12 (tar) [1 119 kB]
Пол:3 http://ftp.psn.ru/debian sid/main zip 3.0-12 (diff) [8 628 B]
Получено 1 129 kB за 1с (1 564 kB/s)
Указан режим «только скачивание», и скачивание завершено
user@sid:~/zip$
Посмотрим, что мы качнули

Shell

user@sid:~/zip$ ls
zip_3.0-12.debian.tar.xz zip_3.0-12.dsc zip_3.0.orig.tar.gz
И установим сборочные зависимости:

Shell

user@sid:~/zip$ sudo apt-get build-dep ./zip_3.0-12.dsc
Заметьте, используется файл «./zip_3.0-12.dsc» для определения сборочных зависимостей
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Следующие НОВЫЕ пакеты будут установлены:
autoconf automake autopoint autotools-dev debhelper dh-autoreconf dh-strip-nondeterminism dwz file intltool-debian libarchive-zip-perl
libbz2-dev libdebhelper-perl libfile-stripnondeterminism-perl libmagic-mgc libmagic1 libsigsegv2 libsub-override-perl libtool m4 po-debconf
Обновлено 0 пакетов, установлено 21 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 4 793 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 16,8 MB.
Хотите продолжить? [Д/н] Y
Пол:1 http://ftp.psn.ru/debian sid/main amd64 libmagic-mgc amd64 1:5.39-3 [273 kB]
Пол:2 http://ftp.psn.ru/debian sid/main amd64 libmagic1 amd64 1:5.39-3 [126 kB]
Пол:3 http://ftp.psn.ru/debian sid/main amd64 file amd64 1:5.39-3 [69,1 kB]
Пол:4 http://ftp.psn.ru/debian sid/main amd64 libsigsegv2 amd64 2.13-1 [34,8 kB]
Пол:5 http://ftp.psn.ru/debian sid/main amd64 m4 amd64 1.4.18-5 [204 kB]
Пол:6 http://ftp.psn.ru/debian sid/main amd64 autoconf all 2.71-2 [343 kB]
Пол:7 http://ftp.psn.ru/debian sid/main amd64 autotools-dev all 20180224.1+nmu1 [77,1 kB]
Пол:8 http://ftp.psn.ru/debian sid/main amd64 automake all 1:1.16.4-2 [819 kB]
Пол:9 http://ftp.psn.ru/debian sid/main amd64 autopoint all 0.21-4 [510 kB]
Пол:10 http://ftp.psn.ru/debian sid/main amd64 libdebhelper-perl all 13.5.2 [192 kB]
Пол:11 http://ftp.psn.ru/debian sid/main amd64 libtool all 2.4.6-15 [513 kB]
Пол:12 http://ftp.psn.ru/debian sid/main amd64 dh-autoreconf all 20 [17,1 kB]
Пол:13 http://ftp.psn.ru/debian sid/main amd64 libarchive-zip-perl all 1.68-1 [104 kB]
Пол:14 http://ftp.psn.ru/debian sid/main amd64 libsub-override-perl all 0.09-2 [10,2 kB]
Пол:15 http://ftp.psn.ru/debian sid/main amd64 libfile-stripnondeterminism-perl all 1.12.0-1 [26,3 kB]
Пол:16 http://ftp.psn.ru/debian sid/main amd64 dh-strip-nondeterminism all 1.12.0-1 [15,4 kB]
Пол:17 http://ftp.psn.ru/debian sid/main amd64 dwz amd64 0.14-1 [98,3 kB]
Пол:18 http://ftp.psn.ru/debian sid/main amd64 intltool-debian all 0.35.0+20060710.5 [26,8 kB]
Пол:19 http://ftp.psn.ru/debian sid/main amd64 po-debconf all 1.0.21+nmu1 [248 kB]
Пол:20 http://ftp.psn.ru/debian sid/main amd64 debhelper all 13.5.2 [1 056 kB]
Пол:21 http://ftp.psn.ru/debian sid/main amd64 libbz2-dev amd64 1.0.8-4 [30,1 kB]
Получено 4 793 kB за 2с (2 310 kB/s)
E: Невозможно записать журнал (Смонтирован ли /dev/pts?) - posix_openpt (19: Нет такого устройства)
Выбор ранее не выбранного пакета libmagic-mgc.
(Чтение базы данных … на данный момент установлено 20439 файлов и каталогов.)
Подготовка к распаковке …/00-libmagic-mgc_1%3a5.39-3_amd64.deb …
Распаковывается libmagic-mgc (1:5.39-3) …
Выбор ранее не выбранного пакета libmagic1:amd64.
Подготовка к распаковке …/01-libmagic1_1%3a5.39-3_amd64.deb …
Распаковывается libmagic1:amd64 (1:5.39-3) …
Выбор ранее не выбранного пакета file.
Подготовка к распаковке …/02-file_1%3a5.39-3_amd64.deb …
Распаковывается file (1:5.39-3) …
Выбор ранее не выбранного пакета libsigsegv2:amd64.
Подготовка к распаковке …/03-libsigsegv2_2.13-1_amd64.deb …
Распаковывается libsigsegv2:amd64 (2.13-1) …
Выбор ранее не выбранного пакета m4.
Подготовка к распаковке …/04-m4_1.4.18-5_amd64.deb …
Распаковывается m4 (1.4.18-5) …
Выбор ранее не выбранного пакета autoconf.
Подготовка к распаковке …/05-autoconf_2.71-2_all.deb …
Распаковывается autoconf (2.71-2) …
Выбор ранее не выбранного пакета autotools-dev.
Подготовка к распаковке …/06-autotools-dev_20180224.1+nmu1_all.deb …
Распаковывается autotools-dev (20180224.1+nmu1) …
Выбор ранее не выбранного пакета automake.
Подготовка к распаковке …/07-automake_1%3a1.16.4-2_all.deb …
Распаковывается automake (1:1.16.4-2) …
Выбор ранее не выбранного пакета autopoint.
Подготовка к распаковке …/08-autopoint_0.21-4_all.deb …
Распаковывается autopoint (0.21-4) …
Выбор ранее не выбранного пакета libdebhelper-perl.
Подготовка к распаковке …/09-libdebhelper-perl_13.5.2_all.deb …
Распаковывается libdebhelper-perl (13.5.2) …
Выбор ранее не выбранного пакета libtool.
Подготовка к распаковке …/10-libtool_2.4.6-15_all.deb …
Распаковывается libtool (2.4.6-15) …
Выбор ранее не выбранного пакета dh-autoreconf.
Подготовка к распаковке …/11-dh-autoreconf_20_all.deb …
Распаковывается dh-autoreconf (20) …
Выбор ранее не выбранного пакета libarchive-zip-perl.
Подготовка к распаковке …/12-libarchive-zip-perl_1.68-1_all.deb …
Распаковывается libarchive-zip-perl (1.68-1) …
Выбор ранее не выбранного пакета libsub-override-perl.
Подготовка к распаковке …/13-libsub-override-perl_0.09-2_all.deb …
Распаковывается libsub-override-perl (0.09-2) …
Выбор ранее не выбранного пакета libfile-stripnondeterminism-perl.
Подготовка к распаковке …/14-libfile-stripnondeterminism-perl_1.12.0-1_all.deb …
Распаковывается libfile-stripnondeterminism-perl (1.12.0-1) …
Выбор ранее не выбранного пакета dh-strip-nondeterminism.
Подготовка к распаковке …/15-dh-strip-nondeterminism_1.12.0-1_all.deb …
Распаковывается dh-strip-nondeterminism (1.12.0-1) …
Выбор ранее не выбранного пакета dwz.
Подготовка к распаковке …/16-dwz_0.14-1_amd64.deb …
Распаковывается dwz (0.14-1) …
Выбор ранее не выбранного пакета intltool-debian.
Подготовка к распаковке …/17-intltool-debian_0.35.0+20060710.5_all.deb …
Распаковывается intltool-debian (0.35.0+20060710.5) …
Выбор ранее не выбранного пакета po-debconf.
Подготовка к распаковке …/18-po-debconf_1.0.21+nmu1_all.deb …
Распаковывается po-debconf (1.0.21+nmu1) …
Выбор ранее не выбранного пакета debhelper.
Подготовка к распаковке …/19-debhelper_13.5.2_all.deb …
Распаковывается debhelper (13.5.2) …
Выбор ранее не выбранного пакета libbz2-dev:amd64.
Подготовка к распаковке …/20-libbz2-dev_1.0.8-4_amd64.deb …
Распаковывается libbz2-dev:amd64 (1.0.8-4) …
Настраивается пакет libmagic-mgc (1:5.39-3) …
Настраивается пакет libarchive-zip-perl (1.68-1) …
Настраивается пакет libdebhelper-perl (13.5.2) …
Настраивается пакет libmagic1:amd64 (1:5.39-3) …
Настраивается пакет file (1:5.39-3) …
Настраивается пакет intltool-debian (0.35.0+20060710.5) …
Настраивается пакет autotools-dev (20180224.1+nmu1) …
Настраивается пакет libsigsegv2:amd64 (2.13-1) …
Настраивается пакет autopoint (0.21-4) …
Настраивается пакет dwz (0.14-1) …
Настраивается пакет libsub-override-perl (0.09-2) …
Настраивается пакет libbz2-dev:amd64 (1.0.8-4) …
Настраивается пакет libfile-stripnondeterminism-perl (1.12.0-1) …
Настраивается пакет libtool (2.4.6-15) …
Настраивается пакет po-debconf (1.0.21+nmu1) …
Настраивается пакет m4 (1.4.18-5) …
Настраивается пакет autoconf (2.71-2) …
Настраивается пакет dh-strip-nondeterminism (1.12.0-1) …
Настраивается пакет automake (1:1.16.4-2) …
update-alternatives: используется /usr/bin/automake-1.16 для предоставления /usr/bin/automake (automake) в автоматическом режиме
Настраивается пакет dh-autoreconf (20) …
Настраивается пакет debhelper (13.5.2) …
Обрабатываются триггеры для libc-bin (2.32-4) …
Обрабатываются триггеры для man-db (2.9.4-2) …
user@sid:~/zip$
Пока нормально всё вроде. Распакуем, опять-таки НЕ НАКЛАДЫВАЯ патчей

Shell

user@sid:~/zip$ ls
zip_3.0-12.debian.tar.xz zip_3.0-12.dsc zip_3.0.orig.tar.gz
user@sid:~/zip$
user@sid:~/zip$ dpkg-source -x --skip-patches --no-check ./zip_3.0-12.dsc
dpkg-source: инфо: извлечение zip в zip-3.0
dpkg-source: инфо: распаковывается zip_3.0.orig.tar.gz
dpkg-source: инфо: распаковывается zip_3.0-12.debian.tar.xz
user@sid:~/zip$


Собираем zip. Коль скоро мы не применяем к нему патчей (а мы не применяем, то функционал должен быть НУЛЁВЫЙ)

В папку с исходниками вошли

Shell

user@sid:~/zip$ cd zip-3.0/
user@sid:~/zip/zip-3.0$
поехали собирать

Shell

user@sid:~/zip/zip-3.0$ dpkg-buildpackage -us -uc
dpkg-buildpackage: инфо: пакет исходного кода zip
dpkg-buildpackage: инфо: версия исходного кода 3.0-12
dpkg-buildpackage: инфо: дистрибутив исходного кода unstable
dpkg-buildpackage: инфо: исходный код изменён Santiago Vila <sanvila@debian.org>
dpkg-buildpackage: инфо: архитектура узла amd64
dpkg-source --before-build .
dpkg-source: инфо: using patch list from debian/patches/series
dpkg-source: инфо: накладывается 01-typo-it-is-transferring-not-transfering.patch
dpkg-source: инфо: накладывается 02-typo-it-is-privileges-not-priviliges.patch
dpkg-source: инфо: накладывается 03-manpages-in-section-1-not-in-section-1l.patch
dpkg-source: инфо: накладывается 04-do-not-set-unwanted-cflags.patch
dpkg-source: инфо: накладывается 05-typo-it-is-preceding-not-preceeding.patch
dpkg-source: инфо: накладывается 06-stack-markings-to-avoid-executable-stack.patch
dpkg-source: инфо: накладывается 07-fclose-in-file-not-fclose-x.patch
dpkg-source: инфо: накладывается 08-hardening-build-fix-1.patch
dpkg-source: инфо: накладывается 09-hardening-build-fix-2.patch
dpkg-source: инфо: накладывается 10-remove-build-date.patch
dpkg-source: инфо: накладывается 11-typo-it-is-ambiguities-not-amgibuities.patch
fakeroot debian/rules clean
dh clean
debian/rules override_dh_auto_clean
make[1]: вход в каталог «/home/user/zip/zip-3.0»
/usr/bin/make -f unix/Makefile clean
make[2]: вход в каталог «/home/user/zip/zip-3.0»
rm -f *.o zip zipcloak zipnote zipsplit flags
rm -rf IZzip
make[2]: выход из каталога «/home/user/zip/zip-3.0»
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_clean
dpkg-source -b .
dpkg-source: инфо: используется формат исходника «3.0 (quilt)»
dpkg-source: инфо: сборка zip с использованием существующего ./zip_3.0.orig.tar.gz
dpkg-source: инфо: using patch list from debian/patches/series
dpkg-source: инфо: сборка zip в zip_3.0-12.debian.tar.xz
dpkg-source: инфо: сборка zip в zip_3.0-12.dsc
debian/rules build
dh build
dh_update_autotools_config
dh_autoreconf
debian/rules override_dh_auto_configure
make[1]: вход в каталог «/home/user/zip/zip-3.0»
LDFLAGS="`dpkg-buildflags --get LDFLAGS`" sh unix/configure "gcc" "`dpkg-buildflags --get CFLAGS` -Wall -I. -DUNIX `dpkg-buildflags --get CPPFLAGS`"
Check C compiler type (optimization options)
GNU C ()
Check bzip2 support
Check for bzip2 in bzip2 directory
Check if OS already has bzip2 library installed
-- OS supports bzip2 - linking in bzip2
Check for the C preprocessor
Check if we can use asm code
Check for ANSI options
Check for prototypes
Check the handling of const
Check for time_t
Check for size_t
Check for off_t
Check size of UIDs and GIDs
(Now zip stores variable size UIDs/GIDs using a new extra field. This
tests if this OS uses 16-bit UIDs/GIDs and so if the old 16-bit storage
should also be used for backward compatibility.)
s.st_uid is 4 bytes
s.st_gid is 4 bytes
-- UID not 2 bytes - disabling old 16-bit UID/GID support
Check for Large File Support
off_t is 8 bytes
-- yes we have Large File Support!
Check for wide char support
-- have wchar_t - enabling Unicode support
Check for gcc no-builtin flag
Check for rmdir
Check for strchr
Check for strrchr
Check for rename
Check for mktemp
Check for mktime
Check for mkstemp
Check for memset
Check for memmove
Check for strerror
Check for errno declaration
Check for directory libraries
Check for readlink
Check for directory include file
Check for nonexistent include files
Check for term I/O include file
Check for valloc
Check for /usr/local/bin and /usr/local/man
Check for OS-specific flags
Check for symbolic links
make[1]: выход из каталога «/home/user/zip/zip-3.0»
debian/rules override_dh_auto_build
make[1]: вход в каталог «/home/user/zip/zip-3.0»
/usr/bin/make -f unix/Makefile generic
make[2]: вход в каталог «/home/user/zip/zip-3.0»
eval /usr/bin/make -f unix/Makefile zips `cat flags`
make[3]: вход в каталог «/home/user/zip/zip-3.0»
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zip.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipfile.c
zipfile.c: In function ‘ffile_size’:
zipfile.c:1696:10: warning: variable ‘siz’ set but not used [-Wunused-but-set-variable]
1696 | size_t siz;
| ^~~
zipfile.c: In function ‘readlocal’:
zipfile.c:2168:11: warning: variable ‘start_offset’ set but not used [-Wunused-but-set-variable]
2168 | uzoff_t start_offset = 0;
| ^~~~~~~~~~~~
zipfile.c: In function ‘scanzipf_fixnew’:
zipfile.c:3225:11: warning: variable ‘in_cd_start_offset’ set but not used [-Wunused-but-set-variable]
3225 | uzoff_t in_cd_start_offset; /* offset of start of cd on cd start disk */
| ^~~~~~~~~~~~~~~~~~
zipfile.c:3223:11: warning: variable ‘cd_total_entries’ set but not used [-Wunused-but-set-variable]
3223 | uzoff_t cd_total_entries = 0; /* number of entries according to EOCDR */
| ^~~~~~~~~~~~~~~~
zipfile.c: In function ‘scanzipf_regnew’:
zipfile.c:4030:11: warning: variable ‘version_made’ set but not used [-Wunused-but-set-variable]
4030 | ush version_made;
| ^~~~~~~~~~~~
zipfile.c:4029:11: warning: variable ‘z64eocdr_size’ set but not used [-Wunused-but-set-variable]
4029 | uzoff_t z64eocdr_size;
| ^~~~~~~~~~~~~
zipfile.c: In function ‘scanzipf_fixnew’:
zipfile.c:3638:14: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3638 | *x = z;
| ~~~^~~
zipfile.c: In function ‘readzipfile’:
zipfile.c:5057:10: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5057 | *x = z;
| ~~~^~~
zipfile.c:4049:27: note: ‘x’ was declared here
4049 | struct zlist far * far *x; /* pointer last entry's link */
| ^
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipup.c
zipup.c: In function ‘zipup’:
zipup.c:403:17: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
403 | zoff_t o = 0, p; /* offsets in zip file */
| ^
zipup.c: In function ‘bz_compress_init’:
zipup.c:1674:17: warning: variable ‘bzlibVer’ set but not used [-Wunused-but-set-variable]
1674 | const char *bzlibVer;
| ^~~~~~~~
In file included from zipup.c:109:
zipup.c: In function ‘file_read’:
unix/zipup.h:21:22: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
21 | #define zread(f,b,n) read(f,b,n)
| ^~~~~~~~~~~
zipup.c:1264:10: note: in expansion of macro ‘zread’
1264 | zread(ifile, buf, 1); len = 1; /* keep single \r if EOF */
| ^~~~~
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H fileio.c
fileio.c: In function ‘wide_to_local_string’:
fileio.c:3281:7: warning: variable ‘state_dependent’ set but not used [-Wunused-but-set-variable]
3281 | int state_dependent;
| ^~~~~~~~~~~~~~~
fileio.c: In function ‘ask_for_split_read_path’:
fileio.c:2120:5: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2120 | fgets(buf, SPLIT_MAXPATH, stdin);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c:2143:7: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2143 | fgets(buf, SPLIT_MAXPATH, stdin);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c: In function ‘ask_for_split_write_path’:
fileio.c:2324:5: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2324 | fgets(buf, FNMAX, stdin);
| ^~~~~~~~~~~~~~~~~~~~~~~~
At top level:
fileio.c:3727:24: warning: ‘no_arg_files_err’ defined but not used [-Wunused-const-variable=]
3727 | static ZCONST char Far no_arg_files_err[] = "argument files not enabled\n";
| ^~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:519,
from tailor.h:238,
from zip.h:88,
from fileio.c:16:
In function ‘strncpy’,
inlined from ‘ucs4_string_to_utf8.part.0’ at fileio.c:3018:7:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:91:10: warning: ‘__builtin_strncpy’ output may be truncated copying between 0 and 1 bytes from a string of length 5 [-Wstringop-truncation]
91 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘strncat’,
inlined from ‘wide_to_local_string’ at fileio.c:3318:9:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:122:10: warning: ‘__builtin_strncat’ output may be truncated copying 1 byte from a string of length 8 [-Wstringop-truncation]
122 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H util.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H globals.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H crypt.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H ttyio.c
ttyio.c: In function ‘getp’:
ttyio.c:628:13: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
628 | read(f, &c, 1);
| ^~~~~~~~~~~~~~
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H unix/unix.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H crc32.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zbz2err.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H deflate.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H trees.c
gcc -o zip -Wl,-z,relro zip.o zipfile.o zipup.o fileio.o util.o globals.o crypt.o ttyio.o unix.o crc32.o zbz2err.o deflate.o trees.o -lbz2
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipcloak.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o zipfile_.o zipfile.c
zipfile.c: In function ‘ffile_size’:
zipfile.c:1696:10: warning: variable ‘siz’ set but not used [-Wunused-but-set-variable]
1696 | size_t siz;
| ^~~
zipfile.c: In function ‘scanzipf_regnew’:
zipfile.c:4030:11: warning: variable ‘version_made’ set but not used [-Wunused-but-set-variable]
4030 | ush version_made;
| ^~~~~~~~~~~~
zipfile.c:4029:11: warning: variable ‘z64eocdr_size’ set but not used [-Wunused-but-set-variable]
4029 | uzoff_t z64eocdr_size;
| ^~~~~~~~~~~~~
zipfile.c: In function ‘readzipfile’:
zipfile.c:5057:10: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5057 | *x = z;
| ~~~^~~
zipfile.c:4049:27: note: ‘x’ was declared here
4049 | struct zlist far * far *x; /* pointer last entry's link */
| ^
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o fileio_.o fileio.c
fileio.c: In function ‘wide_to_local_string’:
fileio.c:3281:7: warning: variable ‘state_dependent’ set but not used [-Wunused-but-set-variable]
3281 | int state_dependent;
| ^~~~~~~~~~~~~~~
fileio.c: In function ‘ask_for_split_read_path’:
fileio.c:2120:5: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2120 | fgets(buf, SPLIT_MAXPATH, stdin);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c:2143:7: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2143 | fgets(buf, SPLIT_MAXPATH, stdin);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c: In function ‘ask_for_split_write_path’:
fileio.c:2324:5: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2324 | fgets(buf, FNMAX, stdin);
| ^~~~~~~~~~~~~~~~~~~~~~~~
At top level:
fileio.c:3727:24: warning: ‘no_arg_files_err’ defined but not used [-Wunused-const-variable=]
3727 | static ZCONST char Far no_arg_files_err[] = "argument files not enabled\n";
| ^~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:519,
from tailor.h:238,
from zip.h:88,
from fileio.c:16:
In function ‘strncpy’,
inlined from ‘ucs4_string_to_utf8.part.0’ at fileio.c:3018:7:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:91:10: warning: ‘__builtin_strncpy’ output may be truncated copying between 0 and 1 bytes from a string of length 5 [-Wstringop-truncation]
91 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘strncat’,
inlined from ‘wide_to_local_string’ at fileio.c:3318:9:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:122:10: warning: ‘__builtin_strncat’ output may be truncated copying 1 byte from a string of length 8 [-Wstringop-truncation]
122 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o util_.o util.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o unix_.o unix/unix.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o crc32_.o crc32.c
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o crypt_.o crypt.c
gcc -o zipcloak -Wl,-z,relro zipcloak.o zipfile_.o fileio_.o util_.o globals.o unix_.o crc32_.o crypt_.o ttyio.o -lbz2
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipnote.c
gcc -o zipnote -Wl,-z,relro zipnote.o zipfile_.o fileio_.o util_.o globals.o unix_.o crc32_.o -lbz2
gcc -c -g -O2 -ffile-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipsplit.c
zipsplit.c: In function ‘main’:
zipsplit.c:884:7: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
884 | fgets(m, 10, stdin);
| ^~~~~~~~~~~~~~~~~~~
zipsplit.c: In function ‘retry’:
zipsplit.c:496:3: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
496 | fgets(m, 10, stdin);
| ^~~~~~~~~~~~~~~~~~~
gcc -o zipsplit -Wl,-z,relro zipsplit.o zipfile_.o fileio_.o util_.o globals.o unix_.o crc32_.o -lbz2
make[3]: выход из каталога «/home/user/zip/zip-3.0»
make[2]: выход из каталога «/home/user/zip/zip-3.0»
make[1]: выход из каталога «/home/user/zip/zip-3.0»
create-stamp debian/debhelper-build-stamp
fakeroot debian/rules binary
dh binary
dh_testroot
dh_prep
debian/rules override_dh_auto_install
make[1]: вход в каталог «/home/user/zip/zip-3.0»
/usr/bin/make -f unix/Makefile install prefix=`pwd`/debian/tmp/usr
make[2]: вход в каталог «/home/user/zip/zip-3.0»
mkdir -p /home/user/zip/zip-3.0/debian/tmp/usr/bin
cp zip zipcloak zipnote zipsplit /home/user/zip/zip-3.0/debian/tmp/usr/bin
cd /home/user/zip/zip-3.0/debian/tmp/usr/bin; chmod 755 zip zipcloak zipnote zipsplit
mkdir -p /home/user/zip/zip-3.0/debian/tmp/usr/man/man1
cp man/zip.1 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zip.1
chmod 644 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zip.1
cp man/zipcloak.1 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipcloak.1
chmod 644 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipcloak.1
cp man/zipnote.1 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipnote.1
chmod 644 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipnote.1
cp man/zipsplit.1 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipsplit.1
chmod 644 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipsplit.1
make[2]: выход из каталога «/home/user/zip/zip-3.0»
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_install
dh_installdocs
debian/rules override_dh_installchangelogs
make[1]: вход в каталог «/home/user/zip/zip-3.0»
dh_installchangelogs -XCHANGES
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_installman
dh_perl
dh_link
dh_strip_nondeterminism
debian/rules override_dh_compress
make[1]: вход в каталог «/home/user/zip/zip-3.0»
dh_compress -XTODO -XWHATSNEW
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_fixperms
dh_missing
dh_dwz -a
dh_strip -a
dh_makeshlibs -a
dh_shlibdeps -a
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package 'zip' in '../zip_3.0-12_amd64.deb'.
dpkg-deb: building package 'zip-dbgsym' in '../zip-dbgsym_3.0-12_amd64.deb'.
dpkg-genbuildinfo
dpkg-genchanges >../zip_3.0-12_amd64.changes
dpkg-genchanges: инфо: в закачку не включён оригинальный исходный код
dpkg-source --after-build .
dpkg-source: инфо: отмена наложений на 11-typo-it-is-ambiguities-not-amgibuities.patch
dpkg-source: инфо: отмена наложений на 10-remove-build-date.patch
dpkg-source: инфо: отмена наложений на 09-hardening-build-fix-2.patch
dpkg-source: инфо: отмена наложений на 08-hardening-build-fix-1.patch
dpkg-source: инфо: отмена наложений на 07-fclose-in-file-not-fclose-x.patch
dpkg-source: инфо: отмена наложений на 06-stack-markings-to-avoid-executable-stack.patch
dpkg-source: инфо: отмена наложений на 05-typo-it-is-preceding-not-preceeding.patch
dpkg-source: инфо: отмена наложений на 04-do-not-set-unwanted-cflags.patch
dpkg-source: инфо: отмена наложений на 03-manpages-in-section-1-not-in-section-1l.patch
dpkg-source: инфо: отмена наложений на 02-typo-it-is-privileges-not-priviliges.patch
dpkg-source: инфо: отмена наложений на 01-typo-it-is-transferring-not-transfering.patch
dpkg-buildpackage: инфо: закачка только двоичных пакетов и diff (без пакетов оригинального исходного кода)
user@sid:~/zip/zip-3.0$
Из папки с иходниками вышли и смотрим, что получилось

Shell

user@sid:~/zip/zip-3.0$ cd ..
user@sid:~/zip$
user@sid:~/zip$ ls
zip-3.0 zip_3.0-12_amd64.changes zip_3.0-12.debian.tar.xz zip_3.0.orig.tar.gz
zip_3.0-12_amd64.buildinfo zip_3.0-12_amd64.deb zip_3.0-12.dsc zip-dbgsym_3.0-12_amd64.deb
user@sid:~/zip$


Ну и хорошо. Удостоверимся, что в системе не стоит пакет zip

Shell

user@sid:~/zip$ dpkg -l | grep zip
ii bzip2 1.0.8-4 amd64 high-quality block-sorting file compressor - utilities
ii gzip 1.10-4 amd64 GNU compression utilities
ii libarchive-zip-perl 1.68-1 all Perl module for manipulation of ZIP archives
user@sid:~/zip$


Установим zip (мы собрали его из исходников):
Установим zip (мы собрали его из исходников):

Shell

user@sid:~/zip$ sudo apt-get install ./zip_3.0-12_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Заметьте, вместо «./zip_3.0-12_amd64.deb» выбирается «zip»
Будут установлены следующие дополнительные пакеты:
unzip
Следующие НОВЫЕ пакеты будут установлены:
unzip zip
Обновлено 0 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0 B/403 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 1 032 kB.
Хотите продолжить? [Д/н] y
Пол:1 /home/user/zip/zip_3.0-12_amd64.deb zip amd64 3.0-12 [232 kB]
E: Невозможно записать журнал (Смонтирован ли /dev/pts?) - posix_openpt (19: Нет такого устройства)
Выбор ранее не выбранного пакета unzip.
(Чтение базы данных … на данный момент установлено 21456 файлов и каталогов.)
Подготовка к распаковке …/unzip_6.0-26_amd64.deb …
Распаковывается unzip (6.0-26) …
Выбор ранее не выбранного пакета zip.
Подготовка к распаковке …/user/zip/zip_3.0-12_amd64.deb …
Распаковывается zip (3.0-12) …
Настраивается пакет unzip (6.0-26) …
Настраивается пакет zip (3.0-12) …
Обрабатываются триггеры для man-db (2.9.4-2) …
user@sid:~/zip$


Ещё раз: ни одного патча мы не применил, функционал у него нулёвый. Какой именно? Нас будет интересовать, сохраняются или нет права на фал на исполнение, если этот файл сархивировать а потом разархивировать. Смотрим:

Shell

user@sid:~/zip$ > foo
user@sid:~/zip$ chmod u+x foo
user@sid:~/zip$ ls -l foo
-rwxr--r-- 1 user user 0 сен 26 21:04 foo
user@sid:~/zip$ zip foo foo
adding: foo (stored 0%)
user@sid:~/zip$ rm foo
user@sid:~/zip$ unzip foo
Archive: foo.zip
extracting: foo
user@sid:~/zip$ ls -l foo
-rwxr--r-- 1 user user 0 сен 26 21:04 foo
user@sid:~/zip$
Сохраняются, ну и хорошо.

=======================
=======================
=======================


Теперь ниже та же последовательность операций для астралинукс Орёл 2.12.43. Также ни одного патча не накладываем. Пакет тот же самый, но результат противоположный- права на файл на исполнение не сохраняются.

Качнём пакет zip НЕ НАКЛАДЫВАЯ патчей

Shell

user@astra:~/zip$ sudo apt-get update
Сущ:1 http://download.astralinux.ru/astra/stable/orel/repository orel InRelease
Чтение списков пакетов… Готово
user@astra:~/zip$
user@astra:~/zip$ apt-get -d source zip
Чтение списков пакетов… Готово
Необходимо получить 1 132 kб архивов исходного кода.
Пол:1 http://download.astralinux.ru/astra/stable/orel/repository orel/main zip 3.0-11astra3 (dsc) [826 B]
Пол:2 http://download.astralinux.ru/astra/stable/orel/repository orel/main zip 3.0-11astra3 (tar) [1 119 kB]
Пол:3 http://download.astralinux.ru/astra/stable/orel/repository orel/main zip 3.0-11astra3 (diff) [11,9 kB]
Получено 1 132 kБ за 0с (2 306 kБ/c)
Указан режим «только скачивание», и скачивание завершено
user@astra:~/zip$


Посмотрим, что мы качнули

Shell

user@sid:~/zip$ ls
zip_3.0-12.debian.tar.xz zip_3.0-12.dsc zip_3.0.orig.tar.gz
И установим сборочные зависимости:

Shell

user@astra:~/zip$ sudo apt-get build-dep ./zip_3.0-11astra3.dsc
Заметим, используется файл «./zip_3.0-11astra3.dsc» для получения зависимостей сборки
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
user@astra:~/zip$


Стояли, видать, зависимости. Смотрим, что имеем и распакуем, НЕ НАКЛАДЫВАЯ патчей

Shell

user@astra:~/zip$ ls
zip_3.0-11astra3.debian.tar.xz zip_3.0-11astra3.dsc zip_3.0.orig.tar.gz
user@astra:~/zip$
user@astra:~/zip$ dpkg-source -x --skip-patches --no-check ./zip_3.0-11astra3.dsc
dpkg-source: инфо: извлечение zip в zip-3.0
dpkg-source: инфо: распаковывается zip_3.0.orig.tar.gz
dpkg-source: инфо: распаковывается zip_3.0-11astra3.debian.tar.xz
user@astra:~/zip$
В папку с исходниками войдём:

Shell

user@astra:~/zip$ cd zip-3.0/
user@astra:~/zip/zip-3.0$
Собираем:

Shell

user@astra:~/zip/zip-3.0$ dpkg-buildpackage -us -uc
dpkg-buildpackage: инфо: пакет исходного кода zip
dpkg-buildpackage: инфо: версия исходного кода 3.0-11astra3
dpkg-buildpackage: инфо: дистрибутив исходного кода unstable
dpkg-buildpackage: инфо: исходный код изменён Alexander Volkov <maintainers@astralinux.ru>
dpkg-buildpackage: инфо: архитектура узла amd64
dpkg-source --before-build zip-3.0
dpkg-source: инфо: накладывается 01-typo-it-is-transferring-not-transfering
dpkg-source: инфо: накладывается 02-typo-it-is-privileges-not-priviliges
dpkg-source: инфо: накладывается 03-manpages-in-section-1-not-in-section-1l
dpkg-source: инфо: накладывается 04-do-not-set-unwanted-cflags
dpkg-source: инфо: накладывается 05-typo-it-is-preceding-not-preceeding
dpkg-source: инфо: накладывается 06-stack-markings-to-avoid-executable-stack
dpkg-source: инфо: накладывается 07-fclose-in-file-not-fclose-x
dpkg-source: инфо: накладывается 08-hardening-build-fix-1
dpkg-source: инфо: накладывается 09-hardening-build-fix-2
dpkg-source: инфо: накладывается 10-remove-build-date
dpkg-source: инфо: накладывается 10-natspec+asdos
dpkg-source: инфо: накладывается rbt-fix-symlinks.patch
dpkg-source: инфо: накладывается CVE-2018-13410.patch
fakeroot debian/rules clean
dh clean
dh_testdir
debian/rules override_dh_auto_clean
make[1]: вход в каталог «/home/user/zip/zip-3.0»
/usr/bin/make -f unix/Makefile clean
make[2]: вход в каталог «/home/user/zip/zip-3.0»
rm -f *.o zip zipcloak zipnote zipsplit flags
rm -rf IZzip
make[2]: выход из каталога «/home/user/zip/zip-3.0»
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_clean
dpkg-source -b zip-3.0
dpkg-source: инфо: используется формат исходника «3.0 (quilt)»
dpkg-source: инфо: сборка zip с использованием существующего ./zip_3.0.orig.tar.gz
dpkg-source: инфо: сборка zip в zip_3.0-11astra3.debian.tar.xz
dpkg-source: инфо: сборка zip в zip_3.0-11astra3.dsc
debian/rules build
dh build
dh_testdir
dh_update_autotools_config
debian/rules override_dh_auto_configure
make[1]: вход в каталог «/home/user/zip/zip-3.0»
LDFLAGS="`dpkg-buildflags --get LDFLAGS`" sh unix/configure "gcc" "`dpkg-buildflags --get CFLAGS` -Wall -I. -DUNIX `dpkg-buildflags --get CPPFLAGS`"
Check C compiler type (optimization options)
GNU C ()
Check bzip2 support
Check for bzip2 in bzip2 directory
Check if OS already has bzip2 library installed
-- OS supports bzip2 - linking in bzip2
Check for the C preprocessor
Check if we can use asm code
Check for ANSI options
Check for prototypes
Check the handling of const
Check for time_t
Check for size_t
Check for off_t
Check size of UIDs and GIDs
(Now zip stores variable size UIDs/GIDs using a new extra field. This
tests if this OS uses 16-bit UIDs/GIDs and so if the old 16-bit storage
should also be used for backward compatibility.)
s.st_uid is 4 bytes
s.st_gid is 4 bytes
-- UID not 2 bytes - disabling old 16-bit UID/GID support
Check for Large File Support
off_t is 8 bytes
-- yes we have Large File Support!
Check for wide char support
-- have wchar_t - enabling Unicode support
Check for gcc no-builtin flag
Check for rmdir
Check for strchr
Check for strrchr
Check for rename
Check for mktemp
Check for mktime
Check for mkstemp
Check for memset
Check for memmove
Check for strerror
Check for errno declaration
Check for directory libraries
Check for readlink
Check for directory include file
Check for nonexistent include files
Check for term I/O include file
Check for valloc
Check for /usr/local/bin and /usr/local/man
Check for OS-specific flags
Check for symbolic links
make[1]: выход из каталога «/home/user/zip/zip-3.0»
debian/rules override_dh_auto_build
make[1]: вход в каталог «/home/user/zip/zip-3.0»
/usr/bin/make -f unix/Makefile generic
make[2]: вход в каталог «/home/user/zip/zip-3.0»
eval /usr/bin/make -f unix/Makefile zips `cat flags`
make[3]: вход в каталог «/home/user/zip/zip-3.0»
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zip.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipfile.c
zipfile.c: In function ‘ffile_size’:
zipfile.c:1696:10: warning: variable ‘siz’ set but not used [-Wunused-but-set-variable]
size_t siz;
^~~
zipfile.c: In function ‘readlocal’:
zipfile.c:2168:11: warning: variable ‘start_offset’ set but not used [-Wunused-but-set-variable]
uzoff_t start_offset = 0;
^~~~~~~~~~~~
zipfile.c: In function ‘scanzipf_fixnew’:
zipfile.c:3225:11: warning: variable ‘in_cd_start_offset’ set but not used [-Wunused-but-set-variable]
uzoff_t in_cd_start_offset; /* offset of start of cd on cd start disk */
^~~~~~~~~~~~~~~~~~
zipfile.c:3223:11: warning: variable ‘cd_total_entries’ set but not used [-Wunused-but-set-variable]
uzoff_t cd_total_entries = 0; /* number of entries according to EOCDR */
^~~~~~~~~~~~~~~~
zipfile.c: In function ‘scanzipf_regnew’:
zipfile.c:4030:11: warning: variable ‘version_made’ set but not used [-Wunused-but-set-variable]
ush version_made;
^~~~~~~~~~~~
zipfile.c:4029:11: warning: variable ‘z64eocdr_size’ set but not used [-Wunused-but-set-variable]
uzoff_t z64eocdr_size;
^~~~~~~~~~~~~
zipfile.c: In function ‘scanzipf_fixnew’:
zipfile.c:3638:14: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*x = z;
~~~^~~
zipfile.c: In function ‘readzipfile’:
zipfile.c:5057:10: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*x = z;
~~~^~~
zipfile.c:4049:27: note: ‘x’ was declared here
struct zlist far * far *x; /* pointer last entry's link */
^
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipup.c
zipup.c: In function ‘zipup’:
zipup.c:403:17: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
zoff_t o = 0, p; /* offsets in zip file */
^
zipup.c: In function ‘bz_compress_init’:
zipup.c:1674:17: warning: variable ‘bzlibVer’ set but not used [-Wunused-but-set-variable]
const char *bzlibVer;
^~~~~~~~
In file included from zipup.c:109:0:
zipup.c: In function ‘file_read’:
unix/zipup.h:21:22: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
#define zread(f,b,n) read(f,b,n)
^~~~~~~~~~~
zipup.c:1264:10: note: in expansion of macro ‘zread’
zread(ifile, buf, 1); len = 1; /* keep single \r if EOF */
^~~~~
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H fileio.c
fileio.c: In function ‘wide_to_local_string’:
fileio.c:3281:7: warning: variable ‘state_dependent’ set but not used [-Wunused-but-set-variable]
int state_dependent;
^~~~~~~~~~~~~~~
fileio.c: In function ‘ask_for_split_read_path’:
fileio.c:2120:5: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(buf, SPLIT_MAXPATH, stdin);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c:2143:7: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(buf, SPLIT_MAXPATH, stdin);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c: In function ‘ask_for_split_write_path’:
fileio.c:2324:5: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(buf, FNMAX, stdin);
^~~~~~~~~~~~~~~~~~~~~~~~
At top level:
fileio.c:3727:24: warning: ‘no_arg_files_err’ defined but not used [-Wunused-const-variable=]
static ZCONST char Far no_arg_files_err[] = "argument files not enabled\n";
^~~~~~~~~~~~~~~~
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H util.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H globals.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H crypt.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H ttyio.c
ttyio.c: In function ‘getp’:
ttyio.c:628:13: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
read(f, &c, 1);
^~~~~~~~~~~~~~
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H unix/unix.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H crc32.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zbz2err.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H deflate.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H trees.c
gcc -o zip -Wl,-z,relro zip.o zipfile.o zipup.o fileio.o util.o globals.o crypt.o ttyio.o unix.o crc32.o zbz2err.o deflate.o trees.o -lbz2 -lnatspec
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipcloak.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o zipfile_.o zipfile.c
zipfile.c: In function ‘ffile_size’:
zipfile.c:1696:10: warning: variable ‘siz’ set but not used [-Wunused-but-set-variable]
size_t siz;
^~~
zipfile.c: In function ‘scanzipf_regnew’:
zipfile.c:4030:11: warning: variable ‘version_made’ set but not used [-Wunused-but-set-variable]
ush version_made;
^~~~~~~~~~~~
zipfile.c:4029:11: warning: variable ‘z64eocdr_size’ set but not used [-Wunused-but-set-variable]
uzoff_t z64eocdr_size;
^~~~~~~~~~~~~
zipfile.c: In function ‘readzipfile’:
zipfile.c:5057:10: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*x = z;
~~~^~~
zipfile.c:4049:27: note: ‘x’ was declared here
struct zlist far * far *x; /* pointer last entry's link */
^
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o fileio_.o fileio.c
fileio.c: In function ‘wide_to_local_string’:
fileio.c:3281:7: warning: variable ‘state_dependent’ set but not used [-Wunused-but-set-variable]
int state_dependent;
^~~~~~~~~~~~~~~
fileio.c: In function ‘ask_for_split_read_path’:
fileio.c:2120:5: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(buf, SPLIT_MAXPATH, stdin);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c:2143:7: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(buf, SPLIT_MAXPATH, stdin);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fileio.c: In function ‘ask_for_split_write_path’:
fileio.c:2324:5: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(buf, FNMAX, stdin);
^~~~~~~~~~~~~~~~~~~~~~~~
At top level:
fileio.c:3727:24: warning: ‘no_arg_files_err’ defined but not used [-Wunused-const-variable=]
static ZCONST char Far no_arg_files_err[] = "argument files not enabled\n";
^~~~~~~~~~~~~~~~
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o util_.o util.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o unix_.o unix/unix.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o crc32_.o crc32.c
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H -DUTIL -o crypt_.o crypt.c
gcc -o zipcloak -Wl,-z,relro zipcloak.o zipfile_.o fileio_.o util_.o globals.o unix_.o crc32_.o crypt_.o ttyio.o -lbz2
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipnote.c
gcc -o zipnote -Wl,-z,relro zipnote.o zipfile_.o fileio_.o util_.o globals.o unix_.o crc32_.o -lbz2
gcc -c -g -O2 -fdebug-prefix-map=/home/user/zip/zip-3.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -I. -DUNIX -Wdate-time -D_FORTIFY_SOURCE=2 -DBZIP2_SUPPORT -DUIDGID_NOT_16BIT -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT -DHAVE_DIRENT_H -DHAVE_TERMIOS_H zipsplit.c
zipsplit.c: In function ‘main’:
zipsplit.c:884:7: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(m, 10, stdin);
^~~~~~~~~~~~~~~~~~~
zipsplit.c: In function ‘retry’:
zipsplit.c:496:3: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(m, 10, stdin);
^~~~~~~~~~~~~~~~~~~
gcc -o zipsplit -Wl,-z,relro zipsplit.o zipfile_.o fileio_.o util_.o globals.o unix_.o crc32_.o -lbz2
make[3]: выход из каталога «/home/user/zip/zip-3.0»
make[2]: выход из каталога «/home/user/zip/zip-3.0»
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_auto_test
create-stamp debian/debhelper-build-stamp
fakeroot debian/rules binary
dh binary
create-stamp debian/debhelper-build-stamp
dh_testroot
dh_prep
debian/rules override_dh_auto_install
make[1]: вход в каталог «/home/user/zip/zip-3.0»
/usr/bin/make -f unix/Makefile install prefix=`pwd`/debian/tmp/usr
make[2]: вход в каталог «/home/user/zip/zip-3.0»
mkdir -p /home/user/zip/zip-3.0/debian/tmp/usr/bin
cp zip zipcloak zipnote zipsplit /home/user/zip/zip-3.0/debian/tmp/usr/bin
cd /home/user/zip/zip-3.0/debian/tmp/usr/bin; chmod 755 zip zipcloak zipnote zipsplit
mkdir -p /home/user/zip/zip-3.0/debian/tmp/usr/man/man1
cp man/zip.1 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zip.1
chmod 644 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zip.1
cp man/zipcloak.1 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipcloak.1
chmod 644 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipcloak.1
cp man/zipnote.1 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipnote.1
chmod 644 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipnote.1
cp man/zipsplit.1 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipsplit.1
chmod 644 /home/user/zip/zip-3.0/debian/tmp/usr/man/man1/zipsplit.1
make[2]: выход из каталога «/home/user/zip/zip-3.0»
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_install
dh_installdocs
debian/rules override_dh_installchangelogs
make[1]: вход в каталог «/home/user/zip/zip-3.0»
dh_installchangelogs -XCHANGES
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_installman
dh_perl
dh_link
dh_strip_nondeterminism
debian/rules override_dh_compress
make[1]: вход в каталог «/home/user/zip/zip-3.0»
dh_compress -XTODO -XWHATSNEW
make[1]: выход из каталога «/home/user/zip/zip-3.0»
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package 'zip-dbgsym' in '../zip-dbgsym_3.0-11astra3_amd64.deb'.
dpkg-deb: building package 'zip' in '../zip_3.0-11astra3_amd64.deb'.
dpkg-genbuildinfo
dpkg-genchanges >../zip_3.0-11astra3_amd64.changes
dpkg-genchanges: инфо: в закачку не включён оригинальный исходный код
dpkg-source --after-build zip-3.0
dpkg-source: инфо: отмена наложений на CVE-2018-13410.patch
dpkg-source: инфо: отмена наложений на rbt-fix-symlinks.patch
dpkg-source: инфо: отмена наложений на 10-natspec+asdos
dpkg-source: инфо: отмена наложений на 10-remove-build-date
dpkg-source: инфо: отмена наложений на 09-hardening-build-fix-2
dpkg-source: инфо: отмена наложений на 08-hardening-build-fix-1
dpkg-source: инфо: отмена наложений на 07-fclose-in-file-not-fclose-x
dpkg-source: инфо: отмена наложений на 06-stack-markings-to-avoid-executable-stack
dpkg-source: инфо: отмена наложений на 05-typo-it-is-preceding-not-preceeding
dpkg-source: инфо: отмена наложений на 04-do-not-set-unwanted-cflags
dpkg-source: инфо: отмена наложений на 03-manpages-in-section-1-not-in-section-1l
dpkg-source: инфо: отмена наложений на 02-typo-it-is-privileges-not-priviliges
dpkg-source: инфо: отмена наложений на 01-typo-it-is-transferring-not-transfering
dpkg-buildpackage: инфо: закачка только двоичных пакетов и diff (без пакетов оригинального исходного кода)
user@astra:~/zip/zip-3.0$


Из папки с исходниками выйдем:

Shell

user@astra:~/zip/zip-3.0$ cd ..
user@astra:~/zip$
Смотрим, что получилось:

Shell

user@astra:~/zip$ ls
zip-3.0 zip_3.0-11astra3_amd64.changes zip_3.0-11astra3.debian.tar.xz zip_3.0.orig.tar.gz
zip_3.0-11astra3_amd64.buildinfo zip_3.0-11astra3_amd64.deb zip_3.0-11astra3.dsc zip-dbgsym_3.0-11astra3_amd64.deb
user@astra:~/zip$



В системе zip не установлен. Проверим:

Shell

user@astra:~/zip$ dpkg -l | grep zip
ii bzip2 1.0.8-4ubuntu3 amd64 high-quality block-sorting file compressor - utilities
ii gzip 1.6-5 amd64 GNU compression utilities
ii libarchive-zip-perl 1.59-1+deb9u1 all Perl module for manipulation of ZIP archives
user@astra:~/zip$

Устанавливаем zip:

Shell

user@astra:~/zip$ sudo apt-get install ./zip_3.0-11astra3_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./zip_3.0-11astra3_amd64.deb» выбирается «zip»
Будут установлены следующие дополнительные пакеты:
unzip
НОВЫЕ пакеты, которые будут установлены:
unzip zip
обновлено 0, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0 B/408 kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1 182 kB.
Хотите продолжить? [Д/н] y
E: Невозможно записать журнал (Смонтирован ли /dev/pts?) - posix_openpt (19: Нет такого устройства)
Выбор ранее не выбранного пакета unzip.
(Чтение базы данных … на данный момент установлено 21828 файлов и каталогов.)
Подготовка к распаковке …/unzip_6.0-21+deb9u2astra2_amd64.deb …
Распаковывается unzip (6.0-21+deb9u2astra2) …
Выбор ранее не выбранного пакета zip.
Подготовка к распаковке …/zip_3.0-11astra3_amd64.deb …
Распаковывается zip (3.0-11astra3) …
Обрабатываются триггеры для mime-support (3.60) …
Настраивается пакет unzip (6.0-21+deb9u2astra2) …
Настраивается пакет zip (3.0-11astra3) …
Обрабатываются триггеры для man-db (2.7.6.1-2) …
user@astra:~/zip$


Проверяем, как он сохраняет права:

Shell

user@astra:~/zip$ > foo
user@astra:~/zip$ chmod u+x foo
user@astra:~/zip$ ls -l foo
-rwxr--r-- 1 user user 0 сен 26 21:20 foo
user@astra:~/zip$ zip foo foo
adding: foo (stored 0%)
user@astra:~/zip$ rm foo
user@astra:~/zip$ unzip foo
Archive: foo.zip
extracting: foo
user@astra:~/zip$ ls -l foo
-rw-r--r-- 1 user user 0 сен 26 21:20 foo
user@astra:~/zip$
А никак он не сохраняет их. Грустно.

Остаётся добавить, что файл zip_3.0.orig.tar.gz в обоих случаях одинаковый.

Shell

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

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

Сообщение Bizdelnick »

жучара писал(а):
27.09.2021 00:43
Коль скоро мы не применяем к нему патчей (а мы не применяем, то функционал должен быть НУЛЁВЫЙ)
жучара писал(а):
27.09.2021 00:43

Shell

dpkg-source: инфо: using patch list from debian/patches/series
dpkg-source: инфо: накладывается 01-typo-it-is-transferring-not-transfering.patch
dpkg-source: инфо: накладывается 02-typo-it-is-privileges-not-priviliges.patch
dpkg-source: инфо: накладывается 03-manpages-in-section-1-not-in-section-1l.patch
dpkg-source: инфо: накладывается 04-do-not-set-unwanted-cflags.patch
dpkg-source: инфо: накладывается 05-typo-it-is-preceding-not-preceeding.patch
dpkg-source: инфо: накладывается 06-stack-markings-to-avoid-executable-stack.patch
dpkg-source: инфо: накладывается 07-fclose-in-file-not-fclose-x.patch
dpkg-source: инфо: накладывается 08-hardening-build-fix-1.patch
dpkg-source: инфо: накладывается 09-hardening-build-fix-2.patch
dpkg-source: инфо: накладывается 10-remove-build-date.patch
dpkg-source: инфо: накладывается 11-typo-it-is-ambiguities-not-amgibuities.patch
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

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

Bizdelnick Вот в книжке написано:
https://www.debian.org/doc/manuals/maint-guide/dother.ru.html#patches
Позднее, когда кто-то (включая вас самих) предоставляет заплату foo.patch к исходному коду, изменить пакет исходного кода 3.0 (quilt) очень просто:

Shell

$ dpkg-source -x gentoo_0.9.12.dsc
$ cd gentoo-0.9.12
$ dquilt import ../foo.patch
$ dquilt push
$ dquilt refresh
$ dquilt header -e
... описание заплаты
Я так понял, что чтобы применить патч, его нужно применить. dquilt и всё такое, руками. А в описанном мною случае всё это применяется само. Как же этого избежать?
Добавлено (01:24):
Можно, конечно, поудалять патчи вот так:

Shell

$ dquilt delete CVE-2018-13410
$
Ну и так все патчи. А как восстанавливать? Вот я щас все переудалил, у меня не компилится, значит, нужно по одному восстанавливать. Это опять качать исходники? Топорно как-то.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

Сообщение Bizdelnick »

жучара писал(а):
27.09.2021 01:02
Я так понял, что чтобы применить патч, его нужно применить. dquilt и всё такое, руками.
Неправильно поняли.
жучара писал(а):
27.09.2021 01:02
А в описанном мною случае всё это применяется само. Как же этого избежать?
Никак. Только удалять патчи из series. Ну или закомментировать их.
Добавлено (10:54):
жучара писал(а):
27.09.2021 01:02
Вот я щас все переудалил, у меня не компилится, значит, нужно по одному восстанавливать. Это опять качать исходники? Топорно как-то.
Как сделали, так и вышло. Кто бы мог подумать, что если попросить quilt удалить патч, он удалится…
Вы просто не читали man quilt.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

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

Bizdelnick писал:
27.09.2021 10:49
Как сделали, так и вышло. Кто бы мог подумать, что если попросить quilt удалить патч, он удалится…
Вы просто не читали man quilt.
ни хрена себе у вас щипочки. Действительно, я и подумать не мог, что если удалить патч, он удалится. Куда уж мне.

...Вообще, конечно, в man dpkg-source написано:
All patches listed in debian/patches/debian.series or debian/patches/series are then applied.
Просто огород городили с этим dquilt и всё для того,чтобы потом раз- и все сразу патчи применить без какой-либо возможности удаления/восстановления.

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

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

Сообщение Bizdelnick »

жучара писал(а):
27.09.2021 19:22
Просто огород городили с этим dquilt и всё для того,чтобы потом раз- и все сразу патчи применить без какой-либо возможности удаления/восстановления.
Вы так и не заглянули в man quilt. А врали-то в подписи…
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

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

Bizdelnick писал:
27.09.2021 19:27
жучара писал(а):
27.09.2021 19:22
Просто огород городили с этим dquilt и всё для того,чтобы потом раз- и все сразу патчи применить без какой-либо возможности удаления/восстановления.
Вы так и не заглянули в man quilt. А врали-то в подписи…
я не то, что заглянул, я вообще всё прочёл. Давно. Правда, ни хрена не понял. Но это уже второй вопрос.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

Сообщение Bizdelnick »

жучара писал(а):
27.09.2021 19:38
Правда, ни хрена не понял.
Так чего ж жалуетесь на огороженные огороды? Один способ я выше уже назвал: не удалять патч, а закомментировать его в series. Есть другие, но для Вас этот будет проще всего.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 937
ОС: астралинукс

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

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

Bizdelnick писал:
27.09.2021 20:03
жучара писал(а):
27.09.2021 19:38
Правда, ни хрена не понял.
Так чего ж жалуетесь на огороженные огороды? Один способ я выше уже назвал: не удалять патч, а закомментировать его в series. Есть другие, но для Вас этот будет проще всего.
Вы quilt import имеете ввиду?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Почему когда пакет собираешь в разных системах, он работает по-разному, хотя исходники одни и те же?

Сообщение Bizdelnick »

Я имею в виду ручную правку файла.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить