FYI,

bash-5.1# cat /etc/centos-release
CentOS Stream release 9
bash-5.1# python3 --version
Python 3.9.25
bash-5.1# dnf install python3.12-setuptools python3.12-wheel python3.12-pip
Last metadata expiration check: 0:02:24 ago on Tue Feb 17 22:39:26 2026.
Dependencies resolved.
==================================================================================================================================================
 Package                                    Architecture
 Version                              Repository
Size
==================================================================================================================================================
Installing:
 python3.12-pip                             noarch
 23.2.1-5.el9                         appstream
3.2 M
 python3.12-setuptools                      noarch
 68.2.2-5.el9                         appstream
1.6 M
 python3.12-wheel                           noarch
 0.41.2-3.el9                         appstream
166 k
Installing dependencies:
 libnsl2                                    x86_64
 2.0.0-1.el9                          appstream
31 k
 libtirpc                                   x86_64
 1.3.3-9.el9                          baseos
94 k
 mpdecimal                                  x86_64
 2.5.1-3.el9                          appstream
86 k
 python3.12                                 x86_64
 3.12.12-3.el9                        appstream
25 k
 python3.12-libs                            x86_64
 3.12.12-3.el9                        appstream
9.7 M
 python3.12-pip-wheel                       noarch
 23.2.1-5.el9                         appstream
1.5 M

Transaction Summary
==================================================================================================================================================
Install  9 Packages

Total download size: 16 M
Installed size: 66 M
Is this ok [y/N]:

...

So we actually probably have decent movement we can make as soon as
Ubuntu 22.04 is dropped; enough to do:

Python 3.9 -> 3.11
pip 21.3.1 -> 23.0.1
setuptools 53.0.0 -> 63.1.0
wheel 0.36.2 -> 0.38.4

With most of the new sticking points being debian 12 (EOL in June) or
FreeBSD (timeline uncertain for when they'll re-modernize their python
stack)

One edge case here, however, is Sphinx, which does not actually have a
modern package in centOS stream 9.

CentOS currently ships 3.4.3, but it would not be usable if using the
optional 3.12 upgrade. If we ignore this, both FreeBSD and Debian 12
have sphinx 5.3.0 to offer us, which is a reasonable version jump, but
it means that CentOS would not be able to build docs unless you
enabled `--online` for configuring QEMU or sideloaded Sphinx
otherwise.

That's enough to delete a large amount of the horrid crap in
docs/sphinx/compat.py, though not all of it - version 6.2.0 is the
version that would allow me to delete the *entire* thing.

When Debian 12 is dropped (June), we're waiting on just FreeBSD to
modernize their stack and we could make that final leap, too.

My plan:
- Wait and see what happens after the current QEMU release
- Gleefully drop Ubuntu 22.04 in April (Allows Python 3.11+)
- Gleefully drop Debian 12 in June
- Hold my breath and see if FreeBSD happens to modernize by this point
(They have until October 2027 to do so, so it's a dice roll if they
will or not)
- Do a big round of Python modernization all at once; either to 3.11
or 3.12 depending, and either to Sphinx 5.x or 7.x depending, pray for
forgiveness that I am removing CentOS stream 9's ability to build docs
offline so I don't have to wait another six months and then do another
big cleanup round

Updated version dashboard:
https://gitlab.com/jsnow/repology-dashboard#results-overview-as-of-2026-02-16

--js


Reply via email to