On Wed, Mar 29, 2023, 9:02 AM Paolo Bonzini <pbonz...@redhat.com> wrote:
> Thanks for posting this! > > On 3/28/23 23:11, John Snow wrote: > > This series is in RFC state; some notable things: > > - So far, only meson is included in this setup. > > - There's a ton of debugging prints everywhere. It's extremely chatty > right now. > > - Sphinx and qemu.qmp are not yet included in this venv. > > (qemu.qmp isn't able to be removed from the tree yet.) > > - Testing isn't yet*fully* switched over. > > - There is no online functionality yet, this series is *100% offline* - > > it's the harder option, so I tackled it first. > > > > Some known bugs as of now: > > - venv-in-venv setups are not yet handled. > > - python3.7 setups without setuptools/pip in the host environment may be > > unable to generate script file shims; a workaround is in development > > but wasn't ready today. I decided to exclude it. > > I don't think that's needed at all---requiring setuptools on those older > Python versions is good enough and can be mentioned in either an error > message or the release notes. But out of curiosity what was the > workaround? > Run the shim generation inside the venv, alongside checkpip. That way we know we have setuptools. (It broke for some other reason I didn't diagnose in time to send.) > I think the steps for the first working version should be: > > * fix venv-in-venv using the .pth trick > Yep. > * undo the meson parts from PATCH 3; make patch 3 create the venv + > subsume the MKVENV parts of the Makefiles + always set > explicit_python=yes (so that at this point the in-tree meson is always > used). > > * add a patch that starts rejecting --meson=/path/to/meson and drops > explicit_python (instead using pyvenv/bin/meson to check whether a > system meson is usable) > > * make Meson use a sphinx-build binary from the virtual environment > (i.e. pass -Dsphinx_build=$PWD/pyvenv/bin/sphinx-build) > Yep, let's talk about this part in particular. > These are the bare minimum needed to drop Python 3.6 support in QEMU 8.1. > > Paolo > >