On Tue, Jan 20, 2026 at 12:27:01PM -0500, John Snow wrote: > 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?
IIUC, the later patch only adds pyvenv_functests_group to the thorough functional tests, NOT the quick tests. Given that the thorough tests mandated online access to download assets, it feels reasonable to also hardcode --online here for their code prereqs. 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 :|
