Source: python2.7
Version: 2.7.18-6
Severity: important
Tags: patch
Hi,
the previously added Breaks (against python-minimal and libpython-stdlib)
fixed many upgrade paths, but against unversioned 'python' there is only a
transitive conflict (due to unsatifiable strict versioned dependencies)
and that does not work out for all upgrade paths. So let's add
'python (<< 2.7.18)' to the list of Breaks to catch these cases as well.
Example: rambo-k
Bad (incomplete) upgrade:
Starting 2 pkgProblemResolver with broken count: 6
Investigating (0) python2.7:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-6 @ii umU Ib >
Broken python2.7:amd64 Breaks on libpython-stdlib:amd64 < 2.7.16-1 @ii mK Ib
> (< 2.7.18)
Considering libpython-stdlib:amd64 3 as a solution to python2.7:amd64 14
Added libpython-stdlib: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 3 as a solution to python2.7:amd64 14
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-minimal:amd64
Investigating (0) python:amd64 < 2.7.16-1 @ii mK Ib >
Broken python:amd64 PreDepends on python-minimal:amd64 < 2.7.16-1 @ii mR > (=
2.7.16-1)
Considering python-minimal:amd64 3 as a solution to python:amd64 11
Added python-minimal:amd64 to the remove list
Broken python:amd64 Depends on libpython-stdlib:amd64 < 2.7.16-1 @ii mR > (=
2.7.16-1)
Considering libpython-stdlib:amd64 3 as a solution to python:amd64 11
Added libpython-stdlib:amd64 to the remove list
Broken python:amd64 Depends on python2:amd64 < 2.7.16-1 -> 2.7.18-2 @ii umU >
(= 2.7.16-1)
Considering python2:amd64 9 as a solution to python:amd64 11
Added python2:amd64 to the remove list
Fixing python:amd64 via keep of python-minimal:amd64
Fixing python:amd64 via keep of libpython-stdlib:amd64
Fixing python:amd64 via keep of python2:amd64
Try to Re-Instate (0) python2:amd64
Re-Instated python2:amd64 (6 vs 6)
Investigating (0) libpython2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-6
@ii umU Ib >
Broken libpython2.7-minimal:amd64 Breaks on libpython-stdlib:amd64 < 2.7.16-1
@ii mK Ib > (< 2.7.18)
Considering libpython-stdlib:amd64 3 as a solution to
libpython2.7-minimal:amd64 9
Added libpython-stdlib:amd64 to the remove list
Broken libpython2.7-minimal:amd64 Breaks on python-minimal:amd64 < 2.7.16-1
@ii mK Ib > (< 2.7.18)
Considering python-minimal:amd64 3 as a solution to
libpython2.7-minimal:amd64 9
Added python-minimal:amd64 to the remove list
Fixing libpython2.7-minimal:amd64 via remove of libpython-stdlib:amd64
Fixing libpython2.7-minimal:amd64 via remove of python-minimal:amd64
Investigating (1) python:amd64 < 2.7.16-1 @ii mK Ib >
Broken python:amd64 PreDepends on python-minimal:amd64 < 2.7.16-1 @ii mR > (=
2.7.16-1)
Considering python-minimal:amd64 3 as a solution to python:amd64 11
Added python-minimal:amd64 to the remove list
Broken python:amd64 Depends on libpython-stdlib:amd64 < 2.7.16-1 @ii mR > (=
2.7.16-1)
Considering libpython-stdlib:amd64 3 as a solution to python:amd64 11
Added libpython-stdlib:amd64 to the remove list
Broken python:amd64 Depends on python2:amd64 < 2.7.16-1 -> 2.7.18-2 @ii umU >
(= 2.7.16-1)
Considering python2:amd64 9 as a solution to python:amd64 11
Added python2:amd64 to the remove list
Fixing python:amd64 via keep of python-minimal:amd64
Fixing python:amd64 via keep of libpython-stdlib:amd64
Fixing python:amd64 via keep of python2:amd64
Investigating (1) python2:amd64 < 2.7.16-1 | 2.7.18-2 @ii umH Ib >
Broken python2:amd64 PreDepends on python2-minimal:amd64 < 2.7.16-1 ->
2.7.18-2 @ii umU > (= 2.7.16-1)
Considering python2-minimal:amd64 2 as a solution to python2:amd64 9
Added python2-minimal:amd64 to the remove list
Broken python2:amd64 Depends on libpython2-stdlib:amd64 < 2.7.16-1 ->
2.7.18-2 @ii umU > (= 2.7.16-1)
Considering libpython2-stdlib:amd64 2 as a solution to python2:amd64 9
Added libpython2-stdlib:amd64 to the remove list
Fixing python2:amd64 via keep of python2-minimal:amd64
Fixing python2:amd64 via keep of libpython2-stdlib:amd64
Investigating (1) libpython2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-6
@ii umU Ib >
Broken libpython2.7-minimal:amd64 Breaks on libpython-stdlib:amd64 < 2.7.16-1
@ii mK > (< 2.7.18)
Considering libpython-stdlib:amd64 3 as a solution to
libpython2.7-minimal:amd64 9
Added libpython-stdlib:amd64 to the remove list
Broken libpython2.7-minimal:amd64 Breaks on python-minimal:amd64 < 2.7.16-1
@ii mK > (< 2.7.18)
Considering python-minimal:amd64 3 as a solution to
libpython2.7-minimal:amd64 9
Added python-minimal:amd64 to the remove list
Fixing libpython2.7-minimal:amd64 via remove of libpython-stdlib:amd64
Fixing libpython2.7-minimal:amd64 via remove of python-minimal:amd64
Try to Re-Instate (1) python2-minimal:amd64
Try to Re-Instate (1) libpython2-stdlib:amd64
Investigating (2) python:amd64 < 2.7.16-1 @ii mK Ib >
Broken python:amd64 PreDepends on python-minimal:amd64 < 2.7.16-1 @ii mR > (=
2.7.16-1)
Considering python-minimal:amd64 3 as a solution to python:amd64 11
Added python-minimal:amd64 to the remove list
Broken python:amd64 Depends on libpython-stdlib:amd64 < 2.7.16-1 @ii mR > (=
2.7.16-1)
Considering libpython-stdlib:amd64 3 as a solution to python:amd64 11
Added libpython-stdlib:amd64 to the remove list
Fixing python:amd64 via keep of python-minimal:amd64
Fixing python:amd64 via keep of libpython-stdlib:amd64
Investigating (2) libpython2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-6
@ii umU Ib >
Broken libpython2.7-minimal:amd64 Breaks on libpython-stdlib:amd64 < 2.7.16-1
@ii mK > (< 2.7.18)
Considering libpython-stdlib:amd64 11 as a solution to
libpython2.7-minimal:amd64 9
Holding Back libpython2.7-minimal:amd64 rather than change
libpython-stdlib:amd64
Investigating (2) python2.7-minimal:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-6 @ii
umU Ib >
Broken python2.7-minimal:amd64 Depends on libpython2.7-minimal:amd64 <
2.7.16-2+deb10u1 | 2.7.18-6 @ii umH > (= 2.7.18-6)
Considering libpython2.7-minimal:amd64 9 as a solution to
python2.7-minimal:amd64 7
Holding Back python2.7-minimal:amd64 rather than change
libpython2.7-minimal:amd64
Investigating (3) python2.7:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-6 @ii umU Ib >
Broken python2.7:amd64 Depends on python2.7-minimal:amd64 < 2.7.16-2+deb10u1
| 2.7.18-6 @ii umH > (= 2.7.18-6)
Considering python2.7-minimal:amd64 7 as a solution to python2.7:amd64 14
Removing python2.7:amd64 rather than change python2.7-minimal:amd64
Investigating (3) python:amd64 < 2.7.16-1 @ii mK Ib >
Broken python:amd64 Depends on python2.7:amd64 < 2.7.16-2+deb10u1 | 2.7.18-6
@ii umR > (>= 2.7.16-1~)
Considering python2.7:amd64 14 as a solution to python:amd64 11
Removing python:amd64 rather than change python2.7:amd64
Investigating (3) libpython2.7-stdlib:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-6
@ii umU Ib >
Broken libpython2.7-stdlib:amd64 Depends on libpython2.7-minimal:amd64 <
2.7.16-2+deb10u1 | 2.7.18-6 @ii umH > (= 2.7.18-6)
Considering libpython2.7-minimal:amd64 9 as a solution to
libpython2.7-stdlib:amd64 10
Holding Back libpython2.7-stdlib:amd64 rather than change
libpython2.7-minimal:amd64
Investigating (3) python2:amd64 < 2.7.16-1 | 2.7.18-2 @ii umH Ib >
Broken python2:amd64 Depends on python2.7:amd64 < 2.7.16-2+deb10u1 | 2.7.18-6
@ii umR > (>= 2.7.16-1~)
Considering python2.7:amd64 14 as a solution to python2:amd64 9
Removing python2:amd64 rather than change python2.7:amd64
Try to Re-Instate (3) libpython2.7-minimal:amd64
Try to Re-Instate (3) python2.7-minimal:amd64
Investigating (3) python-pkg-resources:amd64 < 40.8.0-1 -> 44.1.1-1 @ii umU
Ib >
Broken python-pkg-resources:amd64 Depends on python2:any:any < none @un H >
(< 2.8)
Considering python2:amd64 14 as a solution to python-pkg-resources:amd64 3
Removing python-pkg-resources:amd64 rather than change python2:any:any
Investigating (3) python-numpy:amd64 < 1:1.16.2-1 @ii mK Ib >
Broken python-numpy:amd64 Depends on python:amd64 < 2.7.16-1 @ii mR > (< 2.8)
Considering python:amd64 14 as a solution to python-numpy:amd64 2
Removing python-numpy:amd64 rather than change python:amd64
Investigating (3) python-scipy:amd64 < 1.1.0-7 @ii mK Ib >
Broken python-scipy:amd64 Depends on python-numpy:amd64 < 1:1.16.2-1 @ii mR >
(>= 1:1.16.0~rc1)
Considering python-numpy:amd64 14 as a solution to python-scipy:amd64 -1
Removing python-scipy:amd64 rather than change python-numpy:amd64
Investigating (3) python-joblib:amd64 < 0.13.0-2 @ii mK Ib >
Broken python-joblib:amd64 Depends on python:amd64 < 2.7.16-1 @ii mR > (< 2.8)
Considering python:amd64 14 as a solution to python-joblib:amd64 -1
Removing python-joblib:amd64 rather than change python:amd64
Investigating (3) python-decorator:amd64 < 4.3.0-1.1 @ii mK Ib >
Broken python-decorator:amd64 Depends on python:any:any < none @un H > (< 2.8)
Considering python:amd64 14 as a solution to python-decorator:amd64 -1
Removing python-decorator:amd64 rather than change python:any:any
Investigating (3) python-sklearn-lib:amd64 < 0.20.2+dfsg-6 @ii mK Ib >
Broken python-sklearn-lib:amd64 Depends on python-numpy:amd64 < 1:1.16.2-1
@ii mR > (>= 1:1.16.0~rc1)
Considering python-numpy:amd64 14 as a solution to python-sklearn-lib:amd64
-1
Removing python-sklearn-lib:amd64 rather than change python-numpy:amd64
Investigating (3) python-sklearn:amd64 < 0.20.2+dfsg-6 @ii mK Ib >
Broken python-sklearn:amd64 Depends on python:any:any < none @un H > (< 2.8)
Considering python:amd64 14 as a solution to python-sklearn:amd64 -2
Removing python-sklearn:amd64 rather than change python:any:any
Try to Re-Instate (4) libpython2.7-stdlib:amd64
Done
The following packages were automatically installed and are no longer
required:
[...]
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
python python-decorator python-joblib python-numpy python-pkg-resources
python-scipy python-sklearn python-sklearn-lib python2 python2.7
The following NEW packages will be installed:
[...]
The following packages have been kept back:
libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib python2-minimal
python2.7-minimal
The following packages will be upgraded:
[...]
90 upgraded, 46 newly installed, 10 to remove and 5 not upgraded.
Fixed with the additional Breaks to
Starting 2 pkgProblemResolver with broken count: 6
Investigating (0) python2.7:amd64 < 2.7.16-2+deb10u1 -> 2.7.18-7~deb11anbe1
@ii umU Ib >
Broken python2.7:amd64 Breaks on libpython-stdlib:amd64 < 2.7.16-1 @ii mK Ib
> (< 2.7.18)
Considering libpython-stdlib:amd64 0 as a solution to python2.7:amd64 11
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 8 as a solution to python2.7:amd64 11
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 0 as a solution to python2.7:amd64 11
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
Investigating (0) python-numpy:amd64 < 1:1.16.2-1 @ii mK Ib >
Broken python-numpy:amd64 Depends on python:amd64 < 2.7.16-1 @ii mR > (< 2.8)
Considering python:amd64 8 as a solution to python-numpy:amd64 2
Removing python-numpy:amd64 rather than change python:amd64
Investigating (0) python-joblib:amd64 < 0.13.0-2 @ii mK Ib >
Broken python-joblib:amd64 Depends on python:amd64 < 2.7.16-1 @ii mR > (< 2.8)
Considering python:amd64 8 as a solution to python-joblib:amd64 -1
Removing python-joblib:amd64 rather than change python:amd64
Investigating (0) python-scipy:amd64 < 1.1.0-7 @ii mK Ib >
Broken python-scipy:amd64 Depends on python-numpy:amd64 < 1:1.16.2-1 @ii mR >
(>= 1:1.16.0~rc1)
Considering python-numpy:amd64 2 as a solution to python-scipy:amd64 -1
Removing python-scipy:amd64 rather than change python-numpy:amd64
Investigating (0) python-decorator:amd64 < 4.3.0-1.1 @ii mK Ib >
Broken python-decorator:amd64 Depends on python:any:any < none @un H > (< 2.8)
Considering python:amd64 8 as a solution to python-decorator:amd64 -1
Removing python-decorator:amd64 rather than change python:any:any
Investigating (0) python-sklearn-lib:amd64 < 0.20.2+dfsg-6 @ii mK Ib >
Broken python-sklearn-lib:amd64 Depends on python-numpy:amd64 < 1:1.16.2-1
@ii mR > (>= 1:1.16.0~rc1)
Considering python-numpy:amd64 2 as a solution to python-sklearn-lib:amd64
-1
Removing python-sklearn-lib:amd64 rather than change python-numpy:amd64
Investigating (0) python-sklearn:amd64 < 0.20.2+dfsg-6 @ii mK Ib >
Broken python-sklearn:amd64 Depends on python:any:any < none @un H > (< 2.8)
Considering python:amd64 8 as a solution to python-sklearn:amd64 -2
Removing python-sklearn:amd64 rather than change python:any:any
Done
The following packages were automatically installed and are no longer
required:
[...]
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
libpython-stdlib python python-decorator python-joblib python-minimal
python-numpy python-scipy python-sklearn python-sklearn-lib
The following NEW packages will be installed:
[...]
The following packages will be upgraded:
[...]
98 upgraded, 46 newly installed, 9 to remove and 0 not upgraded.
Andreas
diff -u python2.7-2.7.18/debian/changelog python2.7-2.7.18/debian/changelog
--- python2.7-2.7.18/debian/changelog
+++ python2.7-2.7.18/debian/changelog
@@ -1,3 +1,12 @@
+python2.7 (2.7.18-7) UNRELEASED; urgency=medium
+
+ * 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: #-1.
+
+ -- Andreas Beckmann <[email protected]> Mon, 12 Apr 2021 10:36:11 +0200
+
python2.7 (2.7.18-6) unstable; urgency=medium
* python2.7, libpython2.7-minimal: Add Breaks: python-minimal (<< 2.7.18),
diff -u python2.7-2.7.18/debian/py27-breaks.Debian
python2.7-2.7.18/debian/py27-breaks.Debian
--- python2.7-2.7.18/debian/py27-breaks.Debian
+++ python2.7-2.7.18/debian/py27-breaks.Debian
@@ -2,0 +3 @@
+python (<< 2.7.18),