On Sun, 23 Jul 2017 14:56:21 +0200, Axel Beckert wrote: > After the BinNMU for rebuilding against Perl 5.26, vile has the > following unsatisfiable dependencies: > > Depends: vile-common (= 9.8s-1), vile-common (= 9.8s-1+b1), […] > > This can be solved by any sourceful upload, but it should be fixed > permanently by making the package BinNMU-safe.
This looks like an interesting case.
Indeed the Depends of vile now is:
Depends: vile-common (= 9.8s-1), vile-common (= 9.8s-1+b1), libc6 (>=
2.15), libperl5.26 …
while it was
Depends: vile-common (= 9.8s-1), libc6 (>= 2.15), libperl5.24 …
before.
So we have a _second_ vile-common with the binNMU version.
d/control looks as expected:
Package: vile
Depends: vile-common (= ${source:Version}), ${misc:Depends},
${shlibs:Depends}
d/rules doesn't do any manual substvar handling.
So where does the second dependency com from? The only "suspicious"
line in d/rules referring to vile-common is:
dh_installdocs --link-doc=vile-common
And indeed, dh_installdocs(1) says:
CAVEAT 2: The use of --link-doc should only be done when the
packages have same "architecture" type. A link from a
architecture independent package to a architecture dependent
package (or vice versa) will not work. Since compat 10, debhelper
will actively reject unsupported combinations.
Also:
dh_installdocs --link-doc=vile-common
dh_installdocs: Compatibility levels before 9 are deprecated (level 8 in use)
dh_installdocs: WARNING: --link-doc between architecture all and not all
packages breaks binNMUs
dh_installdocs: WARNING: --link-doc between architecture all and not all
packages breaks binNMUs
dh_installdocs: WARNING: --link-doc between architecture all and not all
packages breaks binNMUs
And with DH_VERBOSE=1:
dh_installdocs --link-doc=vile-common
dh_installdocs: Compatibility levels before 9 are deprecated (level 8 in use)
dh_installdocs: WARNING: --link-doc between architecture all and not all
packages breaks binNMUs
install -d debian/vile/usr/share/doc
ln -s vile-common debian/vile/usr/share/doc/vile
(grep -a -s -v misc:Depends debian/vile.substvars; echo
"misc:Depends=vile-common (= \${binary:Version})") > debian/vile.substvars.new
[…]
So that's where the second dependency comes from.
It seems like this --link-doc needs to be removed (and the symlink
converted to a directory with dpkg-maintscript-helper's
symlink_to_dir).
Cheers,
gregor
--
.''`. https://info.comodo.priv.at/ - Debian Developer https://www.debian.org
: :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06
`. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
`- NP: Don McLean: He's Got You
signature.asc
Description: Digital Signature

