On Tue, Jan 20, 2026 at 3:53 AM Daniel P. Berrangé <[email protected]> wrote: > > On Mon, Jan 19, 2026 at 04:27:31PM -0500, John Snow wrote: > > add the "pyvenv_functests_group" target to meson. This target will > > invoke mkvenv.py to install the associated dependency group to the > > build/pyvenv directory. > > > > A "pyvenv_tooling_group" is not included here as it is the plan to > > always install this group by default, so it will not need an on-demand > > trigger. > > > > Signed-off-by: John Snow <[email protected]> > > --- > > meson.build | 1 + > > pyvenv/meson.build | 28 ++++++++++++++++++++++++++++ > > 2 files changed, 29 insertions(+) > > create mode 100644 pyvenv/meson.build > > > > diff --git a/meson.build b/meson.build > > index 3108f01e887..245f1bc2ec9 100644 > > --- a/meson.build > > +++ b/meson.build > > @@ -4551,6 +4551,7 @@ subdir('scripts') > > subdir('tools') > > subdir('pc-bios') > > subdir('docs') > > +subdir('pyvenv') > > # Tests are disabled on emscripten because they rely on host features that > > aren't > > # supported by emscripten (e.g. fork and unix socket). > > if host_os != 'emscripten' > > diff --git a/pyvenv/meson.build b/pyvenv/meson.build > > new file mode 100644 > > index 00000000000..2bfddeb4a52 > > --- /dev/null > > +++ b/pyvenv/meson.build > > @@ -0,0 +1,28 @@ > > +# Note that this file only controls "optional" dependency groups; groups > > +# *required* for the build are handled directly in configure instead: > > +# namely, meson and sphinx. > > + > > +# NB: This command may or may not include the "--online" flag, depending > > +# on the results of configure. > > +ensuregroup_cmd = config_host['MKVENV_ENSUREGROUP'].split() > > I'm confused because this implies that "ensuregroup_cmd" use of the > --online flag is supposed to be controlled by configure > > > > + > > +pyvenv_common_deps = files( > > + meson.project_source_root() + '/pythondeps.toml', > > + meson.project_source_root() + '/python/scripts/mkvenv.py' > > +) > > +pyvenv_wheel_dir = meson.project_source_root() + '/python/wheels' > > + > > + > > +# This group is allowed to rely on internet, to fetch from PyPI. > > +# If --online was not passed to configure, this could fail. > > ...and this also suggests --online is supposed to be controlled > by configure, but... > > > +pyvenv_functests_group = custom_target( > > + 'pyvenv_functests_group', > > + output: 'functests.group', > > + input: pyvenv_common_deps, > > + command: ensuregroup_cmd + [ > > + '--online', > > now we just go ahead and hardcode use of --online regardless.
Whoops, leftover from when I had both groups. What is now the tooling group used to obey the flags, and I garbled the comments. My gut tells me that we should force --online here, and if it fails because we're actually in an isolated environment, then so be it. On the other hand, if we were configured offline, the error message you get from mkvenv might be better. Do you have an opinion? > > > + '--dir', pyvenv_wheel_dir, > > + '@INPUT0@', > > + 'functests', > > + ], > > +) > > -- > > 2.52.0 > > > > With regards, > Daniel > -- > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o- https://fstop138.berrange.com :| > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| >
