Hi James,

James McCoy <james...@debian.org> (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 (k...@debian.org)            <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant

Attachment: signature.asc
Description: PGP signature

Reply via email to