Bug#859349: cytadela: Uninstallable in Unstable after BinNMU due to unsatisfiable dependencies

Axel Beckert abe at debian.org
Sun Apr 2 18:15:09 UTC 2017


Package: cytadela
Version: 1.1.0-2
Severity: serious
Tag: patch
Justifaction: uninstallable

Hi,

cytadela has become uninstallable in Debian Unstable with the BinNMU
about two weeks ago.

After the BinNMU, cytadela depends (beyond others) on both,
"cytadela-data (= 1.1.0-2+b1)" and "cytadela-data (= 1.1.0-2)" which is
obviously impossible to fulfil.

The former (and problematic) depends comes from ${misc:Depends}
(i.e. debian/cytadela.substvars) which is set as follows:

  misc:Depends=cytadela-data (= ${binary:Version})

which again is very likely caused by

  dh_installdocs --link-doc=cytadela-data

in debian/rules line 36.

Using --link-doc between packages of architecture "all" and non-"all"
is deprecated as it breaks BinNMUs (as can be seen here) and will error
out with debhelper comaptibility levels 10 and above.

This also already causes an according warning in the build log:

  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

The following patch should fix this issue at the cost of slightly
enlarging the binary packages cytadela and cytadela-dbg:

diff -Nru cytadela-1.1.0/debian/rules cytadela-1.1.0/debian/rules
--- cytadela-1.1.0/debian/rules 2014-06-07 20:26:13.000000000 +0200
+++ cytadela-1.1.0/debian/rules 2017-04-02 19:55:38.000000000 +0200
@@ -33,7 +33,7 @@
 
 override_dh_installdocs:
 	# Group all documentation in the -data arch-indep package
-	dh_installdocs --link-doc=cytadela-data
+	dh_installdocs
 # dh_listpackages uses DH_INTERNAL_OPTIONS that is set to '-a'/'-i'/''
 ifneq (,$(findstring cytadela-data, $(shell dh_listpackages)))
 	# lintian extra-license-file

If you want to save those few kB in cytadela-dbg, you probably can also
change the single dh_installdocs line into two lines (written down from
mind and _not_ tested):

	dh_installdocs -Pcytadela-dbg --link-doc=cytadela
	dh_installdocs --remaining-packages

This should add a symlink from /usr/share/doc/cytadela-dbg to
/usr/share/doc/cytadela.

But since the next upload after the Stretch release probably switches to
automatic debug packages anyways, this kind of finetuning is probably
not worth the effort.

-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (990, 'unstable'), (600, 'testing'), (500, 'unstable-debug'), (500, 'buildd-unstable'), (110, 'experimental'), (1, 'experimental-debug'), (1, 'buildd-experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages cytadela depends on:
ii  cytadela-data             1.1.0-2
ii  libc6                     2.24-9
ii  libgcc1                   1:6.3.0-11
ii  libgl1-mesa-glx [libgl1]  13.0.6-1
ii  libglu1-mesa [libglu1]    9.0.0-2.1
ii  libsdl-mixer1.2           1.2.12-11+b3
ii  libsdl1.2debian           1.2.15+dfsg1-4
ii  libstdc++6                6.3.0-11
ii  libvlc5                   2.2.5-1
ii  vlc-nox                   2.2.5-1

cytadela recommends no packages.

cytadela suggests no packages.

-- no debconf information



More information about the Pkg-games-devel mailing list