[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#805435: libapache2-mod-wsgi-py3, broken depends when rebuilt.



Package: libapache2-mod-wsgi-py3
Version: 4.3.0-1
Severity: serious
Tags: stretch sid
x-debbugs-cc: debian-python@lists.debian.org

I run a derivative called raspbian and I noticed our auto-binnmuer was repeatedly binnmuing mod-wsgi. Further investigation reveealed that every time it was rebuilt it was getting dependencies like.
python3 (>= 3.5), python3 (<< 3.5)

Which is obviously unsatisfiable.

I was able to reproduce this with a manual test build in a Debian sid environment.

Further investigation showed that the code in debian/rules assumed that supported python3 versions would be listed from lowest to highest but the current version of py3versions -vs always lists the default version last. My memory tells me this was a recent behaviour change and that would seem to fit with the fact that in Debian this package was successfully binnmu'd to add python 3.5 support.

As a quick fix I added some commands to debian/rules to sort the list before extracting the first and last entries and uploaded to Raspbian. A debdiff is attached, no intent to NMU in Debian.

 ccing debian-python for their opinion on

1: whether they were aware that this behaviour change could break packages
2: whether there is a better way to get the highest and lowest currently supported python3 version.

diff -Nru mod-wsgi-4.3.0/debian/changelog mod-wsgi-4.3.0/debian/changelog
--- mod-wsgi-4.3.0/debian/changelog	2014-10-05 10:28:06.000000000 +0000
+++ mod-wsgi-4.3.0/debian/changelog	2015-11-18 05:22:24.000000000 +0000
@@ -1,3 +1,9 @@
+mod-wsgi (4.3.0-1+rpi1) stretch-staging; urgency=medium
+
+  * Sort python 3 versions to prevent generation of impossible dependencies.
+
+ -- Peter Michael Green <plugwash@raspbian.org>  Wed, 18 Nov 2015 04:39:47 +0000
+
 mod-wsgi (4.3.0-1) unstable; urgency=medium
 
   [ Felix Geyer ]
diff -Nru mod-wsgi-4.3.0/debian/rules mod-wsgi-4.3.0/debian/rules
--- mod-wsgi-4.3.0/debian/rules	2014-10-05 10:19:11.000000000 +0000
+++ mod-wsgi-4.3.0/debian/rules	2015-11-18 05:25:03.000000000 +0000
@@ -7,7 +7,7 @@
 PYDEFAULT=$(shell pyversions -dv)
 PYMIN=$(shell echo $(PYVERS) | awk '{print $$1}')
 PYMAX=$(shell echo $(PYVERS) | LANG=C awk '{print $$NF+0.1}')
-PY3VERS=$(shell py3versions -vs)
+PY3VERS=$(shell py3versions -vs | tr ' ' '\n' | sort -n | tr '\n' ' ' | paste -s -d ' ')
 PY3DEFAULT=$(shell py3versions -dv)
 PY3MIN=$(shell echo $(PY3VERS) | awk '{print $$1}')
 PY3MAX=$(shell echo $(PY3VERS) | LANG=C awk '{print $$NF+0.1}')

Reply to: