[pkg-uWSGI-devel] Bug#865224: uwsgi: ftbfs with multiple supported python3 versions

gregor herrmann gregoa at debian.org
Tue Jul 18 09:27:56 UTC 2017

Control: clone -1 -2
Control: reassign -2 cdbs
Control: retitle -2 cdbs: python helper finds python3.5 und python3.6 but no runtime for python3.6
Control: severity -2 important
Control: affects -2 src:uwsgi

On Tue, 18 Jul 2017 00:03:10 +0000, Scott Kitterman wrote:

> On July 17, 2017 7:19:55 PM EDT, gregor herrmann <gregoa at debian.org> wrote:
> >
> >So it looks like the cdbs python module finds a python3.6 "flavor"
> >(from py3versions) but no runtime for it.
> >
> >Ultimately, this looks like a cdbs problem to me. Maybe we can find a
> >bandaid for uwsgi for now to tell d/rules to use only one python3
> >flavour or to not bail out of the python3.6 runtime is not detected.

(Cloning a separate bug for this issue.)
> In that case, your X-Python3-Version hack is probably the best way
> to get the Perl transition done. It'll be another RC bug against
> UWSGI once python3.6 is default, but I don't expect that soon.

Indeed, adding 'X-Python3-Version: 3.5' to debian/control's source
stanza helps. (As already mentioned by Niko earlier.)

What also seems to work is the following workaround in debian/rules:

diff -Nru uwsgi-2.0.15/debian/rules uwsgi-2.0.15/debian/rules
--- uwsgi-2.0.15/debian/rules   2017-02-20 11:40:46.000000000 +0100
+++ uwsgi-2.0.15/debian/rules   2017-07-18 08:55:03.000000000 +0200
@@ -259,9 +259,11 @@
 plugin_lang_kind = $(strip \
        $(if $(filter java python,$(plugin_lang)),\
                $(lastword $(subst -, ,$(plugin_kind)))))
-plugin_flavors = $(strip \
-       $(if $(filter python,$(plugin_lang)),\
-               $(cdbs_$(plugin_lang_kind:python=python2)_allflavors)))
+#workaround, cf. #865224
+#plugin_flavors = $(strip \
+#      $(if $(filter python,$(plugin_lang)),\
+#              $(cdbs_$(plugin_lang_kind:python=python2)_allflavors)))
+plugin_flavors = $(plugin_defaultflavor)
 plugin_defaultflavor = $(strip \
        $(if $(filter python,$(plugin_lang)),\

Then $(flavor) is later on only set to the default python versions,
i.e. python2.7 and python3.5 (tested with a strategic "echo" in one
of the loops), and the build succeeds. In practice this should brings
us back to the situation before python3.6 was added as a supported
python version in python3-defaults in June.

Maybe that's a bit less invasive and a bit more binNMU friendly than
hardcoding 'X-Python3-Version: 3.5'?


 .''`.  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
   `-   BOFH excuse #365:  parallel processors running perpendicular today 

More information about the pkg-uWSGI-devel mailing list