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}')