Hi James, James McCoy <[email protected]> (2019-01-14): > The amd64 package, the only one not built on a buildd, contains a > zero-byte /usr/bin/libtool. This makes it completely non-functional.
For some reasons, libtool and its manpage (from the libtool-bin binary)
are “sanitized” in binary-indep, which might explain why it's only
showing up on the maintainer build which was likely using “-b”.
> $ dpkg-deb -c libtool-bin_2.4.6-7_amd64.deb
> -rwxr-xr-x root/root 0 2019-01-12 09:10 ./usr/bin/libtool
> -rw-r--r-- root/root 20 2019-01-12 09:10
> ./usr/share/man/man1/libtool.1.gz
The manpage is a gzipped empty file.
Looking at debian/rules, this cannot possibly work… which is confirmed
by an amd64 build inside a (non-minimal) sid devel schroot, with
“dpkg-buildpackage -b”:
| # Sanitize /usr-merge path builds
| for f in \
| debian/libtool-bin/usr/share/man/man1/libtool.1 \
| debian/libtool-bin/usr/bin/libtool ; do cat $f | \
| sed -e 's%/usr/bin/grep%/bin/grep%/g' | \
| sed -e 's%/usr/bin/sed%/bin/sed%/g' | \
| sed -e 's%/usr/bin/dd%/bin/dd%g' | \
| sed -e 's%/tmp/libtool-2.4.6%/build/libtool-2.4.6%g' | \
| > debian/tmpff ; \
| mv debian/tmpff $f ; \
| done
| sed: -e expression #1, char 25: unknown option to `s'
| sed: -e expression #1, char 27: unknown option to `s'
| sed: -e expression #1, char 27: unknown option to `s'
| sed: -e expression #1, char 25: unknown option to `s'
[…]
| # Sanitize /usr-merge path builds
| for f in \
| debian/libtool/usr/bin/libtoolize ; do \
| cat $f | \
| sed -e 's%/usr/bin/grep%/bin/grep%/g' | \
| sed -e 's%/usr/bin/sed%/bin/sed%/g' | \
| sed -e 's%/usr/bin/dd%/bin/dd%g' | \
| sed -e 's%/tmp/libtool-2.4.6%/build/libtool-2.4.6%g' | \
| > debian/tmpff ; \
| mv debian/tmpff $f ; \
| done
| sed: -e expression #1, char 25: unknown option to `s'
| sed: -e expression #1, char 27: unknown option to `s'
At least those points need addressing:
1. some sed lines have an extra slash before the repetition specifier.
2. the for loop isn't set up to bail out on errors
3. libtoolize from bin:libtool which is arch:all is “sanitized”
in binary-arch; looks like a mixup between both targets given
the already mentioned libtool (binary and manpage)…
4. hardcoding the upstream version in debian/rules looks like a recipe
for a later regression
Cheers,
--
Cyril Brulebois ([email protected]) <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant
signature.asc
Description: PGP signature

