Package: debhelper; Maintainer for debhelper is Debhelper Maintainers <debhelper@packages.debian.org>; Source for debhelper is src:debhelper (PTS, buildd, popcon).
Reported by: Ximin Luo <infinity0@debian.org>
Date: Thu, 14 Sep 2017 13:09:02 UTC
Severity: normal
Tags: patch
Merged with 982908
Found in versions debhelper/13.3.3, debhelper/10.7.2
Reply or subscribe to this bug.
View this report as an mbox folder, status mbox, maintainer mbox
Report forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>
:
Bug#875780
; Package debhelper
.
(Thu, 14 Sep 2017 13:09:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Ximin Luo <infinity0@debian.org>
:
New Bug report received and forwarded. Copy sent to Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>
.
(Thu, 14 Sep 2017 13:09:04 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: debhelper Version: 10.7.2 Severity: normal File: /usr/bin/dh_strip Dear Maintainer, I'm working around #35733 and #468333 by renaming *.rlib to *.rlib.a before running dh_strip(1). This works well, however one file is omitted by debhelper: ---- $ xxd debian/libstd-rust-dev/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-b6402de156fe6ac9.rlib | head -n16 00000000: 213c 6172 6368 3e0a 2f20 2020 2020 2020 !<arch>./ 00000010: 2020 2020 2020 2020 3020 2020 2020 2020 0 00000020: 2020 2020 3020 2020 2020 3020 2020 2020 0 0 00000030: 3020 2020 2020 2020 3132 3037 3634 2020 0 120764 00000040: 2020 600a 0000 0511 0001 d892 0001 d892 `............. 00000050: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 00000060: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 00000070: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 00000080: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 00000090: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 000000a0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 000000b0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 000000c0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 000000d0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 000000e0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ 000000f0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ ---- This is because dh_strip uses perl's -B check to filter out "text" files for stripping, see here: ---- # Is it a static library, and not a debug library? if ($fn =~ m/\/lib[^\/]*\.a$/ && $fn !~ m/.*_g\.a$/) { # Is it a binary file, or something else (maybe a linker # script on Hurd, for example? I don't use file, because # file returns a variety of things on static libraries. if (-B $fn) { push @static_libs, $fn; return; } } ---- This fails for the libstd-*.rlib I just gave - but if I remove the -B check everything works. Obviously I can't do that in the packaging files however. Is there another way I can work around this issue, before it is fixed? X -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'buildd-unstable'), (300, 'unstable'), (100, 'experimental'), (1, 'experimental-debug') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.11.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages debhelper depends on: ii autotools-dev 20161112.1 ii binutils 2.29-8 ii dh-autoreconf 14 ii dh-strip-nondeterminism 0.038-1 ii dpkg 1.18.24 ii dpkg-dev 1.18.24 ii file 1:5.31-1 ii libdpkg-perl 1.18.24 ii man-db 2.7.6.1-2 ii perl 5.26.0-5 ii po-debconf 1.0.20 debhelper recommends no packages. Versions of packages debhelper suggests: ii dh-make 2.201608 -- no debconf information -- debsums errors found: debsums: changed file /usr/bin/dh_strip (from debhelper package)
Information forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>
:
Bug#875780
; Package debhelper
.
(Thu, 14 Sep 2017 13:18:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Ximin Luo <infinity0@debian.org>
:
Extra info received and forwarded to list. Copy sent to Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>
.
(Thu, 14 Sep 2017 13:18:05 GMT) (full text, mbox, link).
Message #10 received at 875780@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Ximin Luo: > ---- > $ xxd debian/libstd-rust-dev/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-b6402de156fe6ac9.rlib | head -n16 > 00000000: 213c 6172 6368 3e0a 2f20 2020 2020 2020 !<arch>./ > 00000010: 2020 2020 2020 2020 3020 2020 2020 2020 0 > 00000020: 2020 2020 3020 2020 2020 3020 2020 2020 0 0 > 00000030: 3020 2020 2020 2020 3132 3037 3634 2020 0 120764 > [,,] Test cases are attached - the first 512 bytes of libstd.rlib and libcore.rlib respectively. $ perl -e 'print((-B "libstd.head") ? "yes\n" : "no\n");' no $ perl -e 'print((-B "libcore.head") ? "yes\n" : "no\n");' yes More info here: https://eli.thegreenplace.net/2011/10/19/perls-guess-if-file-is-text-or-binary-implemented-in-python X -- GPG: ed25519/56034877E1F87C35 GPG: rsa4096/1318EFAC5FBBDBCE https://github.com/infinity0/pubkeys.git
[libcore.head (application/octet-stream, attachment)]
[libstd.head (application/octet-stream, attachment)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper@packages.debian.org>
:
Bug#875780
; Package debhelper
.
(Fri, 27 Mar 2020 12:00:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Luca Boccassi <bluca@debian.org>
:
Extra info received and forwarded to list. Copy sent to Debhelper Maintainers <debhelper@packages.debian.org>
.
(Fri, 27 Mar 2020 12:00:03 GMT) (full text, mbox, link).
Message #15 received at 875780@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
> Package: debhelper > Version: 10.7.2 > Severity: normal > File: /usr/bin/dh_strip > > Dear Maintainer, > > I'm working around #35733 and #468333 by renaming *.rlib to *.rlib.a > before > running dh_strip(1). This works well, however one file is omitted by > debhelper: > > ---- > $ xxd debian/libstd-rust-dev/usr/lib/rustlib/x86_64-unknown-linux- > gnu/lib/libstd-b6402de156fe6ac9.rlib | head -n16 > 00000000: 213c 6172 6368 3e0a 2f20 2020 2020 2020 !<arch>./ > 00000010: 2020 2020 2020 2020 3020 2020 2020 2020 0 > 00000020: 2020 2020 3020 2020 2020 3020 2020 2020 0 0 > 00000030: 3020 2020 2020 2020 3132 3037 3634 2020 0 120764 > 00000040: 2020 600a 0000 0511 0001 d892 0001 d892 `............. > 00000050: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 00000060: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 00000070: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 00000080: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 00000090: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 000000a0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 000000b0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 000000c0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 000000d0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 000000e0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > 000000f0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > ---- > > This is because dh_strip uses perl's -B check to filter out "text" > files for stripping, see here: > > ---- > # Is it a static library, and not a debug library? > if ($fn =~ m/\/lib[^\/]*\.a$/ && $fn !~ m/.*_g\.a$/) { > # Is it a binary file, or something else (maybe a > linker > # script on Hurd, for example? I don't use file, > because > # file returns a variety of things on static libraries. > if (-B $fn) { > push @static_libs, $fn; > return; > } > } > ---- > > This fails for the libstd-*.rlib I just gave - but if I remove the -B > check > everything works. Obviously I can't do that in the packaging files > however. Is > there another way I can work around this issue, before it is fixed? > > X I face the same problem - a static library built on Jan 28th was stripped correctly, but one built on March 26th is now ignored by dh_strip because perl thinks it's a text file. The library has no diff between the two builds. Once manually stripped, diffoscope reports this difference between the two libraries: --- librte_pmd_virtio_crypto.a.old +++ librte_pmd_virtio_crypto.a ├── nm -s {} │ @@ -114,44 +114,44 @@ │ 000000000000012c r .LC82 │ 0000000000000143 r .LC83 │ 000000000000015d r .LC84 │ 0000000000000172 r .LC85 │ 0000000000000187 r .LC86 │ 00000000000000c8 r .LC9 │ U _GLOBAL_OFFSET_TABLE_ │ -00000000000002d0 r __func__.37667 │ -00000000000002f0 r __func__.39290 │ -0000000000000170 r __func__.39787 │ -00000000000004a0 r __func__.39809 │ -0000000000000480 r __func__.39827 │ -0000000000000040 r __func__.39845 │ -0000000000000400 r __func__.39851 │ -00000000000000a0 r __func__.39865 │ -00000000000000c0 r __func__.39875 │ -00000000000000e0 r __func__.39881 │ -0000000000000100 r __func__.39895 │ -0000000000000120 r __func__.39901 │ -0000000000000000 r __func__.39907 │ -0000000000000020 r __func__.39915 │ -00000000000003c0 r __func__.39923 │ -0000000000000460 r __func__.39928 │ -0000000000000060 r __func__.39934 │ -0000000000000440 r __func__.39939 │ -0000000000000420 r __func__.39949 │ -0000000000000140 r __func__.39960 │ -0000000000000320 r __func__.39965 │ -0000000000000360 r __func__.39970 │ -00000000000003a0 r __func__.39988 │ -00000000000001e0 r __func__.40023 │ -00000000000001a0 r __func__.40038 │ -0000000000000220 r __func__.40053 │ -0000000000000260 r __func__.40061 │ -00000000000002a0 r __func__.40078 │ -0000000000000080 r __func__.40090 │ -00000000000003e0 r __func__.40097 │ +00000000000002d0 r __func__.37686 │ +00000000000002f0 r __func__.39309 │ +0000000000000170 r __func__.39806 │ +00000000000004a0 r __func__.39828 │ +0000000000000480 r __func__.39846 │ +0000000000000040 r __func__.39864 │ +0000000000000400 r __func__.39870 │ +00000000000000a0 r __func__.39884 │ +00000000000000c0 r __func__.39894 │ +00000000000000e0 r __func__.39900 │ +0000000000000100 r __func__.39914 │ +0000000000000120 r __func__.39920 │ +0000000000000000 r __func__.39926 │ +0000000000000020 r __func__.39934 │ +00000000000003c0 r __func__.39942 │ +0000000000000460 r __func__.39947 │ +0000000000000060 r __func__.39953 │ +0000000000000440 r __func__.39958 │ +0000000000000420 r __func__.39968 │ +0000000000000140 r __func__.39979 │ +0000000000000320 r __func__.39984 │ +0000000000000360 r __func__.39989 │ +00000000000003a0 r __func__.40007 │ +00000000000001e0 r __func__.40042 │ +00000000000001a0 r __func__.40057 │ +0000000000000220 r __func__.40072 │ +0000000000000260 r __func__.40080 │ +00000000000002a0 r __func__.40097 │ +0000000000000080 r __func__.40109 │ +00000000000003e0 r __func__.40116 │ U __rte_panic │ U __snprintf_chk │ U __stack_chk_fail │ U __tls_get_addr │ U crypto_virtio_hw_internal │ 0000000000000fea t crypto_virtio_pci_probe │ 0000000000000050 t crypto_virtio_pci_remove │ @@ -251,19 +251,19 @@ │ 000000000000003c r .LC3 │ 0000000000000028 r .LC4 │ 0000000000000060 r .LC5 │ 000000000000005a r .LC7 │ 0000000000000098 r .LC8 │ 00000000000000c8 r .LC9 │ U _GLOBAL_OFFSET_TABLE_ │ -0000000000000050 r __func__.38928 │ -0000000000000070 r __func__.39003 │ -0000000000000000 r __func__.39054 │ -0000000000000010 r __func__.39062 │ -0000000000000030 r __func__.39077 │ +0000000000000050 r __func__.38949 │ +0000000000000070 r __func__.39024 │ +0000000000000000 r __func__.39075 │ +0000000000000010 r __func__.39083 │ +0000000000000030 r __func__.39098 │ U __stack_chk_fail │ 0000000000000400 C crypto_virtio_hw_internal │ 000000000000002b t get_cfg_addr │ 0000000000000190 t modern_del_queue │ 0000000000000080 t modern_get_features │ 0000000000000120 t modern_get_isr │ 0000000000000170 t modern_get_queue_num │ @@ -307,23 +307,23 @@ │ 0000000000000010 r .LC2 │ 0000000000000020 r .LC3 │ 0000000000000060 r .LC4 │ 0000000000000080 r .LC5 │ 0000000000000110 r .LC7 │ 0000000000000016 r .LC8 │ U _GLOBAL_OFFSET_TABLE_ │ -00000000000000d0 r __func__.36564 │ -00000000000000f0 r __func__.38828 │ -0000000000000060 r __func__.38875 │ -0000000000000090 r __func__.38887 │ -0000000000000150 r __func__.38896 │ -0000000000000170 r __func__.38906 │ -0000000000000130 r __func__.38912 │ -0000000000000110 r __func__.38927 │ -00000000000000b0 r __func__.38936 │ +00000000000000d0 r __func__.36581 │ +00000000000000f0 r __func__.38845 │ +0000000000000060 r __func__.38892 │ +0000000000000090 r __func__.38904 │ +0000000000000150 r __func__.38913 │ +0000000000000170 r __func__.38923 │ +0000000000000130 r __func__.38929 │ +0000000000000110 r __func__.38944 │ +00000000000000b0 r __func__.38953 │ U __rte_panic │ U __stack_chk_fail │ U __tls_get_addr │ U crypto_virtio_hw_internal │ U cryptodev_virtio_driver_id │ U per_lcore__lcore_id │ U rte_log │ @@ -343,15 +343,15 @@ │ U virtqueue_disable_intr │ │ crypto_virtio_virtqueue.c.o: │ 0000000000000000 r .LC0 │ 0000000000000000 r .LC1 │ 0000000000000040 r .LC2 │ U _GLOBAL_OFFSET_TABLE_ │ -0000000000000000 r __func__.36474 │ +0000000000000000 r __func__.36491 │ U __rte_panic │ U __stack_chk_fail │ U __tls_get_addr │ U per_lcore__lcore_id │ 0000000000000000 t rte_mempool_ops_enqueue_bulk.part.0 │ U rte_mempool_ops_table │ 0000000000000000 t rte_pktmbuf_free ├── filetype from diffoscope │ @@ -1 +1 @@ │ -ArFile │ +StaticLibFile Not sure how it detects the file type, and why it changes from ArFile to StaticLibFile (or what's the difference between the two). Old package with librte_pmd_virtio_crypto.a stripped correctly: http://snapshot.debian.org/package/dpdk/19.11-3/#libdpdk-dev_19.11-3 New package with librte_pmd_virtio_crypto.a unstripped: https://salsa.debian.org/paelzer-guest/dpdk/-/jobs/630625/artifacts/file/debian/output/libdpdk-dev_19.11.1-1+salsaci_amd64.deb -- Kind regards, Luca Boccassi
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper@packages.debian.org>
:
Bug#875780
; Package debhelper
.
(Sat, 28 Mar 2020 12:21:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Luca Boccassi <bluca@debian.org>
:
Extra info received and forwarded to list. Copy sent to Debhelper Maintainers <debhelper@packages.debian.org>
.
(Sat, 28 Mar 2020 12:21:05 GMT) (full text, mbox, link).
Message #20 received at 875780@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Control: tags -1 patch On Fri, 2020-03-27 at 11:56 +0000, Luca Boccassi wrote: > > Package: debhelper > > Version: 10.7.2 > > Severity: normal > > File: /usr/bin/dh_strip > > > > Dear Maintainer, > > > > I'm working around #35733 and #468333 by renaming *.rlib to > > *.rlib.a > > before > > running dh_strip(1). This works well, however one file is omitted > > by > > debhelper: > > > > ---- > > $ xxd debian/libstd-rust-dev/usr/lib/rustlib/x86_64-unknown-linux- > > gnu/lib/libstd-b6402de156fe6ac9.rlib | head -n16 > > 00000000: 213c 6172 6368 3e0a 2f20 2020 2020 2020 !<arch>./ > > 00000010: 2020 2020 2020 2020 3020 2020 2020 2020 0 > > 00000020: 2020 2020 3020 2020 2020 3020 2020 2020 0 0 > > 00000030: 3020 2020 2020 2020 3132 3037 3634 2020 0 120764 > > 00000040: 2020 600a 0000 0511 0001 d892 0001 d892 `............. > > 00000050: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 00000060: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 00000070: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 00000080: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 00000090: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 000000a0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 000000b0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 000000c0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 000000d0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 000000e0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > 000000f0: 0001 d892 0001 d892 0001 d892 0001 d892 ................ > > ---- > > > > This is because dh_strip uses perl's -B check to filter out "text" > > files for stripping, see here: > > > > ---- > > # Is it a static library, and not a debug library? > > if ($fn =~ m/\/lib[^\/]*\.a$/ && $fn !~ m/.*_g\.a$/) { > > # Is it a binary file, or something else (maybe a > > linker > > # script on Hurd, for example? I don't use file, > > because > > # file returns a variety of things on static libraries. > > if (-B $fn) { > > push @static_libs, $fn; > > return; > > } > > } > > ---- > > > > This fails for the libstd-*.rlib I just gave - but if I remove the > > -B > > check > > everything works. Obviously I can't do that in the packaging files > > however. Is > > there another way I can work around this issue, before it is fixed? > > > > X > > I face the same problem - a static library built on Jan 28th was > stripped correctly, but one built on March 26th is now ignored by > dh_strip because perl thinks it's a text file. The library has no > diff > between the two builds. > > Once manually stripped, diffoscope reports this difference between > the > two libraries: > > --- librte_pmd_virtio_crypto.a.old > +++ librte_pmd_virtio_crypto.a > ├── nm -s {} > │ @@ -114,44 +114,44 @@ > │ 000000000000012c r .LC82 > │ 0000000000000143 r .LC83 > │ 000000000000015d r .LC84 > │ 0000000000000172 r .LC85 > │ 0000000000000187 r .LC86 > │ 00000000000000c8 r .LC9 > │ U _GLOBAL_OFFSET_TABLE_ > │ -00000000000002d0 r __func__.37667 > │ -00000000000002f0 r __func__.39290 > │ -0000000000000170 r __func__.39787 > │ -00000000000004a0 r __func__.39809 > │ -0000000000000480 r __func__.39827 > │ -0000000000000040 r __func__.39845 > │ -0000000000000400 r __func__.39851 > │ -00000000000000a0 r __func__.39865 > │ -00000000000000c0 r __func__.39875 > │ -00000000000000e0 r __func__.39881 > │ -0000000000000100 r __func__.39895 > │ -0000000000000120 r __func__.39901 > │ -0000000000000000 r __func__.39907 > │ -0000000000000020 r __func__.39915 > │ -00000000000003c0 r __func__.39923 > │ -0000000000000460 r __func__.39928 > │ -0000000000000060 r __func__.39934 > │ -0000000000000440 r __func__.39939 > │ -0000000000000420 r __func__.39949 > │ -0000000000000140 r __func__.39960 > │ -0000000000000320 r __func__.39965 > │ -0000000000000360 r __func__.39970 > │ -00000000000003a0 r __func__.39988 > │ -00000000000001e0 r __func__.40023 > │ -00000000000001a0 r __func__.40038 > │ -0000000000000220 r __func__.40053 > │ -0000000000000260 r __func__.40061 > │ -00000000000002a0 r __func__.40078 > │ -0000000000000080 r __func__.40090 > │ -00000000000003e0 r __func__.40097 > │ +00000000000002d0 r __func__.37686 > │ +00000000000002f0 r __func__.39309 > │ +0000000000000170 r __func__.39806 > │ +00000000000004a0 r __func__.39828 > │ +0000000000000480 r __func__.39846 > │ +0000000000000040 r __func__.39864 > │ +0000000000000400 r __func__.39870 > │ +00000000000000a0 r __func__.39884 > │ +00000000000000c0 r __func__.39894 > │ +00000000000000e0 r __func__.39900 > │ +0000000000000100 r __func__.39914 > │ +0000000000000120 r __func__.39920 > │ +0000000000000000 r __func__.39926 > │ +0000000000000020 r __func__.39934 > │ +00000000000003c0 r __func__.39942 > │ +0000000000000460 r __func__.39947 > │ +0000000000000060 r __func__.39953 > │ +0000000000000440 r __func__.39958 > │ +0000000000000420 r __func__.39968 > │ +0000000000000140 r __func__.39979 > │ +0000000000000320 r __func__.39984 > │ +0000000000000360 r __func__.39989 > │ +00000000000003a0 r __func__.40007 > │ +00000000000001e0 r __func__.40042 > │ +00000000000001a0 r __func__.40057 > │ +0000000000000220 r __func__.40072 > │ +0000000000000260 r __func__.40080 > │ +00000000000002a0 r __func__.40097 > │ +0000000000000080 r __func__.40109 > │ +00000000000003e0 r __func__.40116 > │ U __rte_panic > │ U __snprintf_chk > │ U __stack_chk_fail > │ U __tls_get_addr > │ U crypto_virtio_hw_internal > │ 0000000000000fea t crypto_virtio_pci_probe > │ 0000000000000050 t crypto_virtio_pci_remove > │ @@ -251,19 +251,19 @@ > │ 000000000000003c r .LC3 > │ 0000000000000028 r .LC4 > │ 0000000000000060 r .LC5 > │ 000000000000005a r .LC7 > │ 0000000000000098 r .LC8 > │ 00000000000000c8 r .LC9 > │ U _GLOBAL_OFFSET_TABLE_ > │ -0000000000000050 r __func__.38928 > │ -0000000000000070 r __func__.39003 > │ -0000000000000000 r __func__.39054 > │ -0000000000000010 r __func__.39062 > │ -0000000000000030 r __func__.39077 > │ +0000000000000050 r __func__.38949 > │ +0000000000000070 r __func__.39024 > │ +0000000000000000 r __func__.39075 > │ +0000000000000010 r __func__.39083 > │ +0000000000000030 r __func__.39098 > │ U __stack_chk_fail > │ 0000000000000400 C crypto_virtio_hw_internal > │ 000000000000002b t get_cfg_addr > │ 0000000000000190 t modern_del_queue > │ 0000000000000080 t modern_get_features > │ 0000000000000120 t modern_get_isr > │ 0000000000000170 t modern_get_queue_num > │ @@ -307,23 +307,23 @@ > │ 0000000000000010 r .LC2 > │ 0000000000000020 r .LC3 > │ 0000000000000060 r .LC4 > │ 0000000000000080 r .LC5 > │ 0000000000000110 r .LC7 > │ 0000000000000016 r .LC8 > │ U _GLOBAL_OFFSET_TABLE_ > │ -00000000000000d0 r __func__.36564 > │ -00000000000000f0 r __func__.38828 > │ -0000000000000060 r __func__.38875 > │ -0000000000000090 r __func__.38887 > │ -0000000000000150 r __func__.38896 > │ -0000000000000170 r __func__.38906 > │ -0000000000000130 r __func__.38912 > │ -0000000000000110 r __func__.38927 > │ -00000000000000b0 r __func__.38936 > │ +00000000000000d0 r __func__.36581 > │ +00000000000000f0 r __func__.38845 > │ +0000000000000060 r __func__.38892 > │ +0000000000000090 r __func__.38904 > │ +0000000000000150 r __func__.38913 > │ +0000000000000170 r __func__.38923 > │ +0000000000000130 r __func__.38929 > │ +0000000000000110 r __func__.38944 > │ +00000000000000b0 r __func__.38953 > │ U __rte_panic > │ U __stack_chk_fail > │ U __tls_get_addr > │ U crypto_virtio_hw_internal > │ U cryptodev_virtio_driver_id > │ U per_lcore__lcore_id > │ U rte_log > │ @@ -343,15 +343,15 @@ > │ U virtqueue_disable_intr > │ > │ crypto_virtio_virtqueue.c.o: > │ 0000000000000000 r .LC0 > │ 0000000000000000 r .LC1 > │ 0000000000000040 r .LC2 > │ U _GLOBAL_OFFSET_TABLE_ > │ -0000000000000000 r __func__.36474 > │ +0000000000000000 r __func__.36491 > │ U __rte_panic > │ U __stack_chk_fail > │ U __tls_get_addr > │ U per_lcore__lcore_id > │ 0000000000000000 t rte_mempool_ops_enqueue_bulk.part.0 > │ U rte_mempool_ops_table > │ 0000000000000000 t rte_pktmbuf_free > ├── filetype from diffoscope > │ @@ -1 +1 @@ > │ -ArFile > │ +StaticLibFile > > > Not sure how it detects the file type, and why it changes from ArFile > to StaticLibFile (or what's the difference between the two). > > Old package with librte_pmd_virtio_crypto.a stripped correctly: > > http://snapshot.debian.org/package/dpdk/19.11-3/#libdpdk-dev_19.11-3 > > New package with librte_pmd_virtio_crypto.a unstripped: > > https://salsa.debian.org/paelzer-guest/dpdk/-/jobs/630625/artifacts/file/debian/output/libdpdk-dev_19.11.1-1+salsaci_amd64.deb Opened MR on Salsa to add a fallback on file --mime-type when perl -B fails: https://salsa.debian.org/debian/debhelper/-/merge_requests/37 -- Kind regards, Luca Boccassi
[signature.asc (application/pgp-signature, inline)]
Added tag(s) patch.
Request was from Luca Boccassi <bluca@debian.org>
to 875780-submit@bugs.debian.org
.
(Sat, 28 Mar 2020 12:21:06 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper@packages.debian.org>
:
Bug#875780
; Package debhelper
.
(Sun, 29 Mar 2020 12:24:07 GMT) (full text, mbox, link).
Acknowledgement sent
to Niels Thykier <niels@thykier.net>
:
Extra info received and forwarded to list. Copy sent to Debhelper Maintainers <debhelper@packages.debian.org>
.
(Sun, 29 Mar 2020 12:24:07 GMT) (full text, mbox, link).
Message #27 received at 875780@bugs.debian.org (full text, mbox, reply):
Luca Boccassi: > Control: tags -1 patch > > On Fri, 2020-03-27 at 11:56 +0000, Luca Boccassi wrote: >>> [...] >> >> I face the same problem - a static library built on Jan 28th was >> stripped correctly, but one built on March 26th is now ignored by >> dh_strip because perl thinks it's a text file. The library has no >> diff >> between the two builds. >> >> Once manually stripped, diffoscope reports this difference between >> the >> two libraries: >> >> [...] >> >> >> Not sure how it detects the file type, and why it changes from ArFile >> to StaticLibFile (or what's the difference between the two). >> >> Old package with librte_pmd_virtio_crypto.a stripped correctly: >> >> http://snapshot.debian.org/package/dpdk/19.11-3/#libdpdk-dev_19.11-3 >> >> New package with librte_pmd_virtio_crypto.a unstripped: >> >> https://salsa.debian.org/paelzer-guest/dpdk/-/jobs/630625/artifacts/file/debian/output/libdpdk-dev_19.11.1-1+salsaci_amd64.deb > > Opened MR on Salsa to add a fallback on file --mime-type when perl -B > fails: > > https://salsa.debian.org/debian/debhelper/-/merge_requests/37 > Hi Luca, Thanks for the proposed patch. At this point, I would rather slowly move away from the use of file(1) and am more interested in a patch that avoided new uses of file. The primary issue is that debhelper's design is not a good match with programs with a "slow" upstart time. This leads to "weird" work arounds to avoid the "penality" for running the program (e.g. as was done with ELF binaries until compat 12 where we finally started doing the right thing). ~Niels
Information forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper@packages.debian.org>
:
Bug#875780
; Package debhelper
.
(Sun, 29 Mar 2020 12:39:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Luca Boccassi <bluca@debian.org>
:
Extra info received and forwarded to list. Copy sent to Debhelper Maintainers <debhelper@packages.debian.org>
.
(Sun, 29 Mar 2020 12:39:03 GMT) (full text, mbox, link).
Message #32 received at 875780@bugs.debian.org (full text, mbox, reply):
On Sun, 29 Mar 2020 at 13:22, Niels Thykier <niels@thykier.net> wrote: > > Luca Boccassi: > > Control: tags -1 patch > > > > On Fri, 2020-03-27 at 11:56 +0000, Luca Boccassi wrote: > >>> [...] > >> > >> I face the same problem - a static library built on Jan 28th was > >> stripped correctly, but one built on March 26th is now ignored by > >> dh_strip because perl thinks it's a text file. The library has no > >> diff > >> between the two builds. > >> > >> Once manually stripped, diffoscope reports this difference between > >> the > >> two libraries: > >> > >> [...] > >> > >> > >> Not sure how it detects the file type, and why it changes from ArFile > >> to StaticLibFile (or what's the difference between the two). > >> > >> Old package with librte_pmd_virtio_crypto.a stripped correctly: > >> > >> http://snapshot.debian.org/package/dpdk/19.11-3/#libdpdk-dev_19.11-3 > >> > >> New package with librte_pmd_virtio_crypto.a unstripped: > >> > >> https://salsa.debian.org/paelzer-guest/dpdk/-/jobs/630625/artifacts/file/debian/output/libdpdk-dev_19.11.1-1+salsaci_amd64.deb > > > > Opened MR on Salsa to add a fallback on file --mime-type when perl -B > > fails: > > > > https://salsa.debian.org/debian/debhelper/-/merge_requests/37 > > > > Hi Luca, > > Thanks for the proposed patch. > > At this point, I would rather slowly move away from the use of file(1) > and am more interested in a patch that avoided new uses of file. > > The primary issue is that debhelper's design is not a good match with > programs with a "slow" upstart time. This leads to "weird" work arounds > to avoid the "penality" for running the program (e.g. as was done with > ELF binaries until compat 12 where we finally started doing the right > thing). > > ~Niels Hi, I understand, and fully agree with the goal. However I'm really not sure how to go and fix Perl's broken heuristics - it sounds really scary :-) And I can't think of any other way to fix it at the moment. Should I avoid dh_strip in the affected package? Or is there any other way? Thanks! Kind regards, Luca Boccassi
Marked as found in versions debhelper/13.3.3.
Request was from Niels Thykier <niels@thykier.net>
to 982908-submit@bugs.debian.org
.
(Tue, 16 Feb 2021 20:48:03 GMT) (full text, mbox, link).
Merged 875780 982908
Request was from Niels Thykier <niels@thykier.net>
to 982908-submit@bugs.debian.org
.
(Tue, 16 Feb 2021 20:48:05 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper@packages.debian.org>
:
Bug#875780
; Package debhelper
.
(Sat, 21 Jan 2023 15:57:10 GMT) (full text, mbox, link).
Acknowledgement sent
to Sven Joachim <svenjoac@gmx.de>
:
Extra info received and forwarded to list. Copy sent to Debhelper Maintainers <debhelper@packages.debian.org>
.
(Sat, 21 Jan 2023 15:57:10 GMT) (full text, mbox, link).
Message #41 received at 875780@bugs.debian.org (full text, mbox, reply):
Chiming in here, as I am unfortunately affected by this relatively rare problem. On 2020-03-29 14:21 +0200, Niels Thykier wrote: > Luca Boccassi: >> Control: tags -1 patch >> >> On Fri, 2020-03-27 at 11:56 +0000, Luca Boccassi wrote: >>>> [...] >>> >>> I face the same problem - a static library built on Jan 28th was >>> stripped correctly, but one built on March 26th is now ignored by >>> dh_strip because perl thinks it's a text file. The library has no >>> diff >>> between the two builds. >>> >>> Once manually stripped, diffoscope reports this difference between >>> the >>> two libraries: >>> >>> [...] >>> >>> >>> Not sure how it detects the file type, and why it changes from ArFile >>> to StaticLibFile (or what's the difference between the two). >>> >>> Old package with librte_pmd_virtio_crypto.a stripped correctly: >>> >>> http://snapshot.debian.org/package/dpdk/19.11-3/#libdpdk-dev_19.11-3 >>> >>> New package with librte_pmd_virtio_crypto.a unstripped: >>> >>> https://salsa.debian.org/paelzer-guest/dpdk/-/jobs/630625/artifacts/file/debian/output/libdpdk-dev_19.11.1-1+salsaci_amd64.deb >> >> Opened MR on Salsa to add a fallback on file --mime-type when perl -B >> fails: >> >> https://salsa.debian.org/debian/debhelper/-/merge_requests/37 >> > > Hi Luca, > > Thanks for the proposed patch. > > At this point, I would rather slowly move away from the use of file(1) > and am more interested in a patch that avoided new uses of file. > > The primary issue is that debhelper's design is not a good match with > programs with a "slow" upstart time. This leads to "weird" work arounds > to avoid the "penality" for running the program (e.g. as was done with > ELF binaries until compat 12 where we finally started doing the right > thing). Would it be possible to use libfile-libmagic-perl here and in other cases where debhelper currently uses file(1)? At least that would save the overhead of process creation. Cheers, Sven
Send a report that this bug log contains spam.
Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.