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

Reply via email to