configure | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)
We actually do not allow our meson requirements to be fetched online
because we strictly prefer the vendored version. Move the tooling group
installation to a different invocation that does allow PyPI to be
accessed when configure is run without explicitly disabling PyPI access.
This will allow QEMU to download and install python3-wheel for you if
you don't have it in your host environment.
Reported-by: Kevin Wolf <kwolf@redhat.com>
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
---
configure | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
index c4837eba2b1..090579bf236 100755
--- a/configure
+++ b/configure
@@ -963,10 +963,12 @@ fi
python="$python -B"
mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
-# Finish preparing the virtual environment using vendored .whl files
+# Finish preparing the virtual environment using vendored .whl files.
+# Even if PyPI is allowed, we disallow it here to force installation
+# from our preferred vendored versions.
$mkvenv ensuregroup --dir "${source_path}/python/wheels" \
- ${source_path}/pythondeps.toml meson tooling || exit 1
+ ${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.
@@ -993,13 +995,19 @@ if test "$host_os" = "haiku" && test ! -e "$meson" ; then
meson="$(cd pyvenv/non-packaged/bin; get_pwd)/meson"
fi
-# Conditionally ensure Sphinx is installed.
-
mkvenv_online_flag=""
if test "$download" = "enabled" ; then
mkvenv_online_flag=" --online"
fi
+# Unconditionally install our tooling group. PyPI is allowed if enabled here.
+
+$mkvenv ensuregroup $mkvenv_online_flag \
+ --dir "${source_path}/python/wheels" \
+ ${source_path}/pythondeps.toml tooling || exit 1
+
+# Conditionally ensure Sphinx is installed.
+
if test "$docs" != "disabled" ; then
if ! $mkvenv ensuregroup \
$(test "$docs" = "enabled" && echo "$mkvenv_online_flag") \
--
2.53.0
On Wed, Feb 25, 2026 at 02:12:55PM -0500, John Snow wrote: > We actually do not allow our meson requirements to be fetched online > because we strictly prefer the vendored version. Move the tooling group > installation to a different invocation that does allow PyPI to be > accessed when configure is run without explicitly disabling PyPI access. > > This will allow QEMU to download and install python3-wheel for you if > you don't have it in your host environment. IOW, with this patch the behaviour is now: * Host python3-wheel -> already works * No python3-wheel -> auto downloads * No python3-wheel && --disable-downloads -> fail previously the 2nd case there was behaving the same as the 3rd which was wrong. > > Reported-by: Kevin Wolf <kwolf@redhat.com> > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: John Snow <jsnow@redhat.com> > --- > configure | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
On Thu, 26 Feb 2026 at 13:47, Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Wed, Feb 25, 2026 at 02:12:55PM -0500, John Snow wrote: > > We actually do not allow our meson requirements to be fetched online > > because we strictly prefer the vendored version. Move the tooling group > > installation to a different invocation that does allow PyPI to be > > accessed when configure is run without explicitly disabling PyPI access. > > > > This will allow QEMU to download and install python3-wheel for you if > > you don't have it in your host environment. > > IOW, with this patch the behaviour is now: > > * Host python3-wheel -> already works > * No python3-wheel -> auto downloads > * No python3-wheel && --disable-downloads -> fail > > previously the 2nd case there was behaving the same as the > 3rd which was wrong. Thanks; I've applied this patch at John's request to git to unbreak builds for people who happen not to have their distro's python3-wheel installed. -- PMM
On Thu, Feb 26, 2026 at 12:52 PM Peter Maydell <peter.maydell@linaro.org> wrote: > > On Thu, 26 Feb 2026 at 13:47, Daniel P. Berrangé <berrange@redhat.com> wrote: > > > > On Wed, Feb 25, 2026 at 02:12:55PM -0500, John Snow wrote: > > > We actually do not allow our meson requirements to be fetched online > > > because we strictly prefer the vendored version. Move the tooling group > > > installation to a different invocation that does allow PyPI to be > > > accessed when configure is run without explicitly disabling PyPI access. > > > > > > This will allow QEMU to download and install python3-wheel for you if > > > you don't have it in your host environment. > > > > IOW, with this patch the behaviour is now: > > > > * Host python3-wheel -> already works > > * No python3-wheel -> auto downloads > > * No python3-wheel && --disable-downloads -> fail > > > > previously the 2nd case there was behaving the same as the > > 3rd which was wrong. > > Thanks; I've applied this patch at John's request to git to unbreak > builds for people who happen not to have their distro's python3-wheel > installed. > > -- PMM Thank you, and apologies for the minor fuss. I've updated the changelog to reflect this new requirement: https://wiki.qemu.org/ChangeLog/11.0#Dependencies
On 25/02/2026 20.12, John Snow wrote: > We actually do not allow our meson requirements to be fetched online > because we strictly prefer the vendored version. Move the tooling group > installation to a different invocation that does allow PyPI to be > accessed when configure is run without explicitly disabling PyPI access. > > This will allow QEMU to download and install python3-wheel for you if > you don't have it in your host environment. > > Reported-by: Kevin Wolf <kwolf@redhat.com> > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: John Snow <jsnow@redhat.com> > --- > configure | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) Thanks, this fixes the issue, indeed! Reviewed-by: Thomas Huth <thuth@redhat.com> Tested-by: Thomas Huth <thuth@redhat.com>
© 2016 - 2026 Red Hat, Inc.