On 7/8/25 22:36, John Snow wrote:
centos_stream_9     3.9.23   21.3.1  53.0.0      3.4.3   BaseOS, CRB

Ok, so the lowest version of Sphinx (3.4.3) is currently used for CentOS Stream 9. It's supported for roughly 2 more years, until 12.0.

opensuse_leap_15_6  3.6.15   20.0.2  44.1.1      2.3.1   updates/sle,

We use the 3.11 runtime in the dockerfile, see tests/lcitool/mappings.yml. That is a bare minimum install, so configure won't use the distro sphinx and instead use 5.3.0 from pythondeps.toml.

main/oss
pkgsrc_current      3.12.11  25.1.1  80.9.0      8.2.3   ---
ubuntu_22_04        3.10.12  22.0.2  59.6.0      4.3.2
jammy-updates/main, jammy/universe, jammy/main

This is the second oldest version of Sphinx.

ubuntu_24_04        3.12.3   24.0    68.1.2      7.2.6   noble/main,
noble/universe
ubuntu_24_10        3.12.7   24.2    74.1.2      7.4.7
oracular/main, oracular/universe
ubuntu_25_04        3.13.3   25.0    75.8.0      8.1.3   plucky/main,
plucky/universe

(3) CentOS stream does not ship "sphinx" except via "CRB", which I
think may not be enabled by default.

It's not, but it's intended to be enabled when developing against the Red Hat packages. We enable it in the dockerfile:

    dnf config-manager --set-enabled -y crb

(4) OpenSUSE Leap 15.6 is egregiously old. 16.x is promised for later
this year, but we are past the promised "five year" support window for
this platform in some sense -- 15.0 released in 2018 -- so I believe
it can actually be ignored.

As far as Python is concerned, OpenSUSE 15 doesn't cause trouble anyway, because we do not use the 3.6 interpreter and its very old distro packages.

So that's two reasons to ignore OpenSUSE.

(5) Ubuntu only ships pip in "universe", but also ships some Python
3.x interpreter updates to that repository as well. I have filtered
this list to only use Universe for pip packages, leaving Python the
base version that ships with the platform in x/main or x-updates/main.

Yes, fair enough. Ubuntu 22.04 came out more recently than CentOS Stream 9, after all, and its base distribution is more up to date than CS9 with respect to the Python ecosystem. Rust is where Ubuntu (both 22.04 and 24.04) is considerably less updated.

Paolo

(6) "ports" collections (FreeBSD, NetBSD, OpenBSD/pkgsrc_current,
Homebrew and MacPorts) do not necessarily have the concept of a
platform default Python interpreter version, but other packages in the
collection can be used as a heuristic to determine which one is best
suited.

For instance, FreeBSD and NetBSD only ship pip et al for a single
interpreter version.
OpenBSD has a symbolic "python3" package that installs a specific
version. Homebrew has a "python3" alias that chooses a specific Python
interpreter version. MacPorts similarly has a symbolic "py-setuptools"
package that will choose a specific interpreter version.

These are used as heuristics to determine a "de-facto" default for the
ports collection platforms.

-

That's all for now. I will publish the script to the list later,
though I have no intention of cleaning it up for inclusion in our
tree. When I send it, bookmark the email if you'd like to try using
this for other purposes or running it for yourself. Maybe I will throw
it up on my personal GitLab in case it is useful to other subsystem
maintainers in the future. The filtering code is a little messy, but
it got the job done and should be reasonably straightforward to make
sense of at a glance. It uses only the 'requests' library as a third
party dependency.

Your humble Python sin-eater,
--js





Reply via email to