* [PATCH] configure: allow PyPI access for python 'tooling' dependencies
@ 2026-02-25 19:12 John Snow
2026-02-26 8:08 ` Thomas Huth
2026-02-26 13:46 ` Daniel P. Berrangé
0 siblings, 2 replies; 5+ messages in thread
From: John Snow @ 2026-02-25 19:12 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Alex Bennée, Thomas Huth, John Snow,
Kevin Wolf
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] configure: allow PyPI access for python 'tooling' dependencies
2026-02-25 19:12 [PATCH] configure: allow PyPI access for python 'tooling' dependencies John Snow
@ 2026-02-26 8:08 ` Thomas Huth
2026-02-26 13:46 ` Daniel P. Berrangé
1 sibling, 0 replies; 5+ messages in thread
From: Thomas Huth @ 2026-02-26 8:08 UTC (permalink / raw)
To: John Snow, qemu-devel; +Cc: Paolo Bonzini, Alex Bennée, Kevin Wolf
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>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] configure: allow PyPI access for python 'tooling' dependencies
2026-02-25 19:12 [PATCH] configure: allow PyPI access for python 'tooling' dependencies John Snow
2026-02-26 8:08 ` Thomas Huth
@ 2026-02-26 13:46 ` Daniel P. Berrangé
2026-02-26 17:52 ` Peter Maydell
1 sibling, 1 reply; 5+ messages in thread
From: Daniel P. Berrangé @ 2026-02-26 13:46 UTC (permalink / raw)
To: John Snow
Cc: qemu-devel, Paolo Bonzini, Alex Bennée, Thomas Huth,
Kevin Wolf
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 :|
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] configure: allow PyPI access for python 'tooling' dependencies
2026-02-26 13:46 ` Daniel P. Berrangé
@ 2026-02-26 17:52 ` Peter Maydell
2026-02-26 20:45 ` John Snow
0 siblings, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2026-02-26 17:52 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: John Snow, qemu-devel, Paolo Bonzini, Alex Bennée,
Thomas Huth, Kevin Wolf
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] configure: allow PyPI access for python 'tooling' dependencies
2026-02-26 17:52 ` Peter Maydell
@ 2026-02-26 20:45 ` John Snow
0 siblings, 0 replies; 5+ messages in thread
From: John Snow @ 2026-02-26 20:45 UTC (permalink / raw)
To: Peter Maydell
Cc: Daniel P. Berrangé, qemu-devel, Paolo Bonzini,
Alex Bennée, Thomas Huth, Kevin Wolf
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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-02-26 20:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-25 19:12 [PATCH] configure: allow PyPI access for python 'tooling' dependencies John Snow
2026-02-26 8:08 ` Thomas Huth
2026-02-26 13:46 ` Daniel P. Berrangé
2026-02-26 17:52 ` Peter Maydell
2026-02-26 20:45 ` John Snow
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.