On 4/26/23 10:21, Daniel P. Berrangé wrote:
So if you already have Sphinx, this should perform an upgrade to the
latest version?

Essentially I meant 'force' to mean*never*  use the host python
installation packages. Always install all the deps in the venv,
even if they exist in the host with sufficient version met.

I think this is essentially --enable-isolated-venv. I don't think there is a usecase for "let the venv use system packages, but override them with pip right away".


--python=... # runtime used to create venv
--enable-pip-groups=testing,devel,avocado,meson,sphinx
--enable-pip=now  # install all python deps now
--enable-pip=on-demand  # install qemu.git/meson/sphinx, delay the rest
--enable-pip=no    # offline
--{enable,disable}-isolated-venv # let venv use system/distro if disable

This feels like a bit of overkill to me, and would create a hell
of a lot of combinations to test if you expand the matrix of
options.

Yeah, this is a bit overkill. I think we can reduce it to three cases, corresponding to:

- --enable-pypi --enable-isolated-venv - use pip to install everything, including for options in "auto" state (e.g. would install sphinx without --enable-docs)

- --enable-pypi --disable-isolated-venv - use pip to install missing packages. TBD whether to do so for options in "auto" state or only for "enabled" (i.e., TBD whether to install sphinx without --enable-docs).

- --disable-pypi (only meaningful for --disable-isolated-venv) - apart from vendored wheels, just use system site packages (same as QEMU <= 8.0)

I think we want to hash out this detail first, and thus we should leave online mode out of the non-RFC version. It can be implemented together with isolated mode.

Paolo


Reply via email to