[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 7/9] configure: switch to ensuregroup
From: |
Paolo Bonzini |
Subject: |
[PATCH 7/9] configure: switch to ensuregroup |
Date: |
Wed, 9 Aug 2023 11:29:31 +0200 |
Using the new ensuregroup command, the desired versions of meson and
sphinx can be placed in pythondeps.toml rather than configure.
The meson.install entry in pythondeps.toml matches the version that is
found in python/wheels. This ensures that mkvenv.py uses the bundled
wheel even if PyPI is enabled; thus not introducing warnings or errors
from versions that are more recent than the one used in CI.
The sphinx entries match what is shipped in Fedora 38. It's the
last release that has support for older versions of Python (sphinx 6.0
requires Python 3.8) and especially docutils (of which sphinx 6.0 requires
version 0.18). This is important because Ubuntu 20.04 has docutils 0.14
and Debian 11 has docutils 0.16.
"mkvenv.py ensure" is only used to bootstrap tomli.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 14 ++++----------
pythondeps.toml | 8 ++++++++
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/configure b/configure
index 347153702c1..e4d42d640e4 100755
--- a/configure
+++ b/configure
@@ -1024,13 +1024,8 @@ if $python -c 'import sys; sys.exit(sys.version_info >=
(3,11))'; then
$mkvenv ensure --dir "${source_path}/python/wheels" \
'tomli>=1.2.0' || exit 1
fi
-if ! $mkvenv ensure \
- --dir "${source_path}/python/wheels" \
- --diagnose "meson" \
- "meson>=0.63.0" ;
-then
- exit 1
-fi
+$mkvenv ensuregroup --dir "${source_path}/python/wheels" \
+ "${source_path}/pythondeps.toml" meson || exit 1
# At this point, we expect Meson to be installed and available.
# We expect mkvenv or pip to have created pyvenv/bin/meson for us.
@@ -1047,10 +1042,9 @@ if test "$download" = "enabled" -a "$docs" = "enabled" ;
then
fi
if test "$docs" != "disabled" ; then
- if ! $mkvenv ensure \
+ if ! $mkvenv ensuregroup \
$mkvenv_flags \
- --diagnose "sphinx-build" \
- "sphinx>=1.6.0" "sphinx-rtd-theme>=0.5.0";
+ "${source_path}/pythondeps.toml" docs;
then
if test "$docs" = "enabled" ; then
exit 1
diff --git a/pythondeps.toml b/pythondeps.toml
index 362f63ff2c9..6be31dba301 100644
--- a/pythondeps.toml
+++ b/pythondeps.toml
@@ -15,3 +15,11 @@
# precise error diagnostics to the user. For example,
# 'sphinx-build' can be used as a bellwether for the
# presence of 'sphinx' in the system.
+
+[meson]
+# The install key should match the version in python/wheels/
+meson = { accepted = ">=0.63.0", installed = "0.63.3", canary = "meson" }
+
+[docs]
+sphinx = { accepted = ">=1.6", installed = "5.3.0", canary = "sphinx-build" }
+sphinx_rtd_theme = { accepted = ">=0.5", installed = "1.1.1" }
--
2.41.0
- [PATCH 0/9] Use known good releases when installing in pyvenv, Paolo Bonzini, 2023/08/09
- [PATCH 1/9] python: mkvenv: tweak the matching of --diagnose to depspecs, Paolo Bonzini, 2023/08/09
- [PATCH 2/9] python: mkvenv: introduce TOML-like representation of dependencies, Paolo Bonzini, 2023/08/09
- [PATCH 4/9] lcitool: bump libvirt-ci submodule and regenerate, Paolo Bonzini, 2023/08/09
- [PATCH 3/9] python: mkvenv: add ensuregroup command, Paolo Bonzini, 2023/08/09
- [PATCH 7/9] configure: switch to ensuregroup,
Paolo Bonzini <=
- [PATCH 5/9] configure: never use PyPI for Meson, Paolo Bonzini, 2023/08/09
- [PATCH 6/9] python: use vendored tomli, Paolo Bonzini, 2023/08/09
- [PATCH 8/9] Revert "tests: Use separate virtual environment for avocado", Paolo Bonzini, 2023/08/09
- [PATCH 9/9] tests/docker: add python3-tomli dependency to containers, Paolo Bonzini, 2023/08/09
- Re: [PATCH 0/9] Use known good releases when installing in pyvenv, John Snow, 2023/08/09
- Re: [PATCH 0/9] Use known good releases when installing in pyvenv, Philippe Mathieu-Daudé, 2023/08/10