after some consideration, i realised that the removal of python3.7 as
a dependency from python3-all results in "unrelated software on the
whole system break", and that this is reminiscent of the critical
error made by ubuntu, over 10 years ago.

1 critical        makes unrelated software on the system (or the whole system)
                  break, or causes serious data loss, or introduces a security
                  hole on systems where you install the package.

the steps to reproduce this are:

1. install debian 10 (which has python 3.7 as a dependency)
  https://packages.debian.org/buster/python3

2. install (for example) python3-gmpy2 which is dependent on version 3.7
  https://packages.debian.org/buster/python3-gmpy2

3. install N.E.Other python package which also specifically depends on
version 3.7
  but which has *NOT* yet been recompiled / upgraded in debian/testing for
  version 3.8

4. install a python package (named python-dualdep) which:
  (A) depends on python3-gmpy2
  (B) depends on python3-NEOther package from step 3

5. add debian/testing to /etc/apt/sources.list

6. apt-get install python3-gmpy2 to bring in the *NEW* version of
    python3-gmpy2 which SPECIFICALLY now ONLY depends on python3.8
   https://packages.debian.org/testing/python3-gmpy2

7. the result is a completely broken system.

this is basically a repeat of the nightmare scenario / mistake that
ubuntu made 10+ years ago in the transition from python 2.5 to python
2.6.

upgrades from ubuntu *STABLE* resulted in the *REMOVAL* of python 2.5
(and all python packages)... actually during the upgrade process
(leaving no version of python with which to *continue* the upgrade
process), because due to the polarisation caused by some packages
being built for python 2.5 and some for python 2.6, it was impossible
to satisfy both at the same time.

the only "solution" for apt: REMOVE either the packages that depend on
python 3.7 OR remove the packages that depend on python 3.8
(in some cases this becomes impossible to do, resulting in a broken
system).

this is extremely serious and needs to be fixed as fast as possible,
before more packages get compiled up only depending on python 3.8.

in particular, if python3-numpy hits the debian repository whilst only
depending on python 3.8, having zero packages which support python 3.7
simultaneously whilst transitioning to python 3.8, i guarantee that
all hell will break loose, due to the sheer number of packages that
depend on it:

$ apt-cache rdepends python3-numpy | sort | uniq | wc
    439

that's 439 ongoing dependencies, which would cause absolute chaos for
the entire scientific community, as their packages would fail to
properly transition over during a stable (debian 10) to stable (debian
11) upgrade.

at present (thank god) it is still depending on python3.7 and python 3.8
https://packages.debian.org/testing/python3-numpy

l.

Reply via email to