Source: quodlibet
Version: 2.2.99-1
Severity: serious
Justification: Policy 3.5
Tags: patch

quodlibet-ext contains Python extensions module, so it should have versioned dependency on python (it currently has none). There *is* a quodlibet-ext -> quodlibet -> exfalso -> python dependency chain. However, quotlibet-ext is arch:any and exfalso is arch:all, so there's actually no guarantee that both of the packages were built having the same set of supported Python versions. E.g., after the recent binNMU, it looks like this:


Package: quodlibet-ext
Version: 2.2.99-1+b1
Depends: quodlibet (= 2.2.99-1), …
Files:
…
/usr/lib/pyshared/python2.7/quodlibet/_trayicon.so
/usr/lib/pyshared/python2.7/quodlibet/_mmkeys.so
/usr/lib/pyshared/python2.6/quodlibet/_trayicon.so
/usr/lib/pyshared/python2.6/quodlibet/_mmkeys.so
…

Package: quodlibet
Version: 2.2.99-1
Depends: python (>= 2.5), exfalso (= 2.2.99-1), …

Package: exfalso
Version: 2.2.99-1
Depends: python (<< 2.7), python (>= 2.5), python-support (>= 0.90.0), …


So quodlibet-ext supports 2.6 and 2.7, but it transitively depends on >= 2.5,
<< 2.7 rather than >= 2.6, << 2.8.

The attached patch should fix this bug.

--
Jakub Wilk
diff -Nru quodlibet-2.2.99/debian/control quodlibet-2.2.99/debian/control
--- quodlibet-2.2.99/debian/control	2011-03-17 20:16:20.000000000 +0100
+++ quodlibet-2.2.99/debian/control	2011-05-06 13:20:55.000000000 +0200
@@ -50,7 +50,7 @@
 Package: quodlibet-ext
 Architecture: any
 Priority: extra
-Depends: ${shlibs:Depends}, ${misc:Depends}, quodlibet (= ${source:Version}),
+Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}, quodlibet (= ${source:Version}),
     quodlibet-plugins (>= 20090127-2)
 Description: extensions for the Quod Libet audio player
  This package contains architecture-dependent extensions to Quod
diff -Nru quodlibet-2.2.99/debian/rules quodlibet-2.2.99/debian/rules
--- quodlibet-2.2.99/debian/rules	2011-03-17 20:16:20.000000000 +0100
+++ quodlibet-2.2.99/debian/rules	2011-05-06 14:19:04.000000000 +0200
@@ -3,7 +3,5 @@
 	dh $@
 
 override_dh_pysupport:
+	cd debian/exfalso/ && rm $(shell cat debian/quodlibet-ext.install)
 	dh_pysupport
-	# kill all the architecture-dependent files in the exfalso package,
-	# what's left after pysupport has moved arch-indep files elsewhere
-	rm -rf debian/exfalso/usr/lib

Reply via email to