With Debian 11 tests removed from our CI suite, we are allowed to rely on the versions present in CentOS Stream 9 as a new minimum.
Note that CentOS Stream 9 does offer Python 3.12 packages, but mandating this incurs the loss of ability to build offline documentation on CentOS because there is no official Sphinx package for Python 3.12. We will very likely mandate these upgraded packages for QEMU 11.1, but there is no real benefit to doing it now for 11.0 - It will be simpler to perform that upgrade after QEMU drops support for Ubuntu 22.04 LTS in late April. See https://gitlab.com/jsnow/repology-dashboard#results-overview-as-of-2026-02-16 for more details on current Python ecosystem versions across all of our supported build platforms. Signed-off-by: John Snow <[email protected]> --- python/tests/minreqs.txt | 1 + pythondeps.toml | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/python/tests/minreqs.txt b/python/tests/minreqs.txt index 855b5129c94..6fc671b1780 100644 --- a/python/tests/minreqs.txt +++ b/python/tests/minreqs.txt @@ -16,6 +16,7 @@ # installation of the QEMU package itself fails, failing to find # setuptools. setuptools<=70 +wheel==0.36.2 # Dependencies for qapidoc/qapi_domain et al sphinx==3.4.3 diff --git a/pythondeps.toml b/pythondeps.toml index a0717742423..c843f163a8f 100644 --- a/pythondeps.toml +++ b/pythondeps.toml @@ -38,14 +38,16 @@ sphinx_rtd_theme = { accepted = ">=0.5", installed = "1.2.2" } [tooling] "qemu.qmp" = { accepted = ">=0.0.5", installed = "0.0.5" } "qemu" = { path = "python/" } -# NB: The following dependencies should be a little bit more modern than -# the versions listed here, but we are still using Debian 11 for several -# GitLab CI tests, so we are further restricted. -"setuptools" = { accepted = ">=44.1.1" } -"wheel" = { accepted = ">=0.34.2" } -# pip should be guaranteed by mkvenv, this is merely a sanity check for -# which version we are counting on being present. -"pip" = { accepted = ">=20.3.4" } +# These dependencies largely serve as sanity checks and a place to +# record our current accepted minimum versions of various python +# packaging modules; in offline mode, the absence of these modules will +# cause configure to fail. +# +# We are currently constrained by CentOS Stream 9. +"setuptools" = { accepted = ">=53.0.0" } +"wheel" = { accepted = ">=0.36.2" } +# Guaranteed by mkvenv, sanity-check only +"pip" = { accepted = ">=21.3.1" } # This test group is for functional tests, and can include dependencies # fetched from PyPI. -- 2.53.0
