Apollon Oikonomopoulos <apoi...@debian.org> writes: > Hi Julien, > > Julien Cristau <jcris...@debian.org> writes: > >> On Thu, May 20, 2021 at 11:28:12AM +0300, Apollon Oikonomopoulos wrote: >>> Control: severity -1 important >>> Control: tags -1 wontfix >>> >>> Hi Andreas >>> >>> Thanks for the report. >>> >>> Andreas Beckmann <a...@debian.org> writes: >>> >>> > Package: ganeti >>> > Version: 3.0.1-2 >>> > Severity: serious >>> > User: debian...@lists.debian.org >>> > Usertags: piuparts >>> > >>> > Hi, >>> > >>> > during a test with piuparts I noticed your package fails to upgrade from >>> > 'buster'. >>> > It installed fine in 'buster', then the upgrade to 'bullseye' fails. >>> > >>> > In order to run 'gnt-cluster upgrade' both ganeti-3.0 and ganeti-2.16 >>> > need to be installed, but the package from buster needs to be removed >>> > due to the removal of unversioned python and the Python 2 modules >>> > (python-*) before the local admin could run 'gnt-cluster upgrade' >>> > >>> > I'm not sure how a clean upgrade is intended to be performed in this >>> > case. This may also be an interesting question for DSA. >>> >>> Yes, the removal of unversioned python makes things more complicated. I >>> was hoping that ganeti-2.16's dependencies would be enough to keep the >>> Python 2 modules around until gnt-cluster upgrade could run. >>> >> Do we know what specifically causes old python to be removed? >> > > Broken python2.7:amd64 Breaks on libpython-stdlib:amd64 < 2.7.16-1 @ii mK > Ib > (< > 2.7.18) > Considering libpython-stdlib:amd64 11 as a solution to python2.7:amd64 23 > Added libpython-stdlib:amd64 to the remove list > Broken python2.7:amd64 Breaks on python:amd64 < 2.7.16-1 @ii mK Ib > (< > 2.7.18) > Considering python:amd64 15 as a solution to python2.7:amd64 23 > Added python:amd64 to the remove list > Broken python2.7:amd64 Breaks on python-minimal:amd64 < 2.7.16-1 @ii mK Ib > > (< 2.7.18) > Considering python-minimal:amd64 11 as a solution to python2.7:amd64 23 > Added python-minimal:amd64 to the remove list > Fixing python2.7:amd64 via remove of libpython-stdlib:amd64 > Fixing python2.7:amd64 via remove of python:amd64 > Fixing python2.7:amd64 via remove of python-minimal:amd64 > > python2.7 in Bullseye explicitly Breaks: python (<< 2.7.18), > python-minimal (<< 2.7.18). This causes the removal of all packages that > Depend on python (including ganeti-2.16, python-simplejson etc).
This was added in python2.7 (2.7.18-7) unstable; urgency=medium [ Andreas Beckmann ] * python2.7, libpython2.7-minimal: Add Breaks: python (<< 2.7.18) to ensure removal of the unversioned python packages on upgrades from buster. The previously added (transitive) Breaks are not sufficient in a few upgrade scenarios. Closes: #987661. -- Matthias Klose <d...@debian.org> Wed, 28 Apr 2021 19:39:59 +0200 I admit I'm not aware of what we are trying to achieve here, but this approach might be a bit too aggressive, as it requires that you have to fix e.g. all locally-built packages depending on unversioned python *before* upgrading to bullseye. I wonder if transitional packages would work better for bullseye (but I guess it's a bit too late for that). Regards, Apollon