On 02/03/16 08:19, Simon McVittie wrote: > On Wed, 24 Feb 2016 at 01:49:08 +0100, Matthias Klose wrote: >> python3-defaults now no longer depends on python3.4, making python3.5 the >> only supported python3 version. python3.4 should be removed before stretch >> is released (mostly by binNMUing, and then removing python3.4). > > Packages that build for a single version of Python, and were last uploaded > when 3.4 was default, are currently broken. This mostly means applications > rather than libraries. > > The specific example I'm aware of is that onboard depends on python3-dbus, > onboard runs under python3.4, and recent uploads of python3-dbus don't > build libraries for python3.4 any more (because it was removed from the > list of supported versions just over a week ago) so onboard fails to > import dbus. <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816156> > > Was there meant to be a round of binNMUs before removing the old supported > version? I would have assumed that the transition would go like this: > > * make python3.5 the default > * binNMU everything that depends on python3.4 but not python3.5 > (e.g. onboard on all architectures except sh4, > <https://packages.debian.org/unstable/onboard>) > * remove python3.4 as supported > * (eventually) binNMU everything that depends on python3.4, libpython3.4 > or python (>= 3.4)
That is what happened. See #810136. > Or is there something wrong in onboard's dependencies such that it was > missed in a previous round of binNMUs? Perhaps it should have received > a python (>= 3.4), python (<< 3.5) dependency which would have > resulted in it being detected as uninstallable and binNMU'd? Looks like this package was binNMUed when python3.5 was added a as a supported version, but not when it was made the default: Changes: onboard (1.1.2-1+b1) sid; urgency=low, binary-only=yes . * Binary-only non-maintainer upload for i386; no source changes. * Rebuild with python3.5 as a supported python3. https://buildd.debian.org/status/fetch.php?pkg=onboard&arch=i386&ver=1.1.2-1%2Bb1&stamp=1443334431 Probably because the python3.5 tracker had: is_affected = .depends ~ /python3 \(<</; is_good = .depends ~ /python3 \(<< 3\.6/; is_bad = .depends ~ /python3 \(<< 3\.5/; And that depends on python3.4 (which the tracker doesn't catch) and python3 (<< 3.6) so it was marked as good. So everything that depends on python3.4 needs to be rebuilt now. I'll schedule binNMUs for all the affected packages. Cheers, Emilio