On Tue, Jul 15, 2025, 6:27 PM John Snow <js...@redhat.com> wrote: > The way editable installs work has changed at some point since Fedora 40 > was released. Generally, we should be opting to use pyproject.toml > installs (PEP517/518) - but those are not fully supported until v61 of > setuptools, and CentOS Stream 9 ships v53. > > Until that time, we can make use of a transitional feature in > pip/setuptools to use "legacy" editable installs, which is enough to fix > "make check-dev" on modern local workstations for now. > > By using the environment variable approach to configure pip, we avoid > any problems for older versions of pip that don't recognize this option, > so it's harmless. The config-settings option first appeared in v23 of > pip. editable_mode was first supported by setuptools in v64. > > (I'm not currently precisely aware of when the default behavior of '-e' > switched away from 'compat', but it appears to be a joint effect between > setuptools and pip versions.) > > Version information for supported build platforms: > > distro python3 pip setuptools sphinx > -------------------------------------------------------- > centos_stream_9 3.9.23 21.3.1 53.0.0 3.4.3 > ubuntu_22_04 3.10.12 22.0.2 59.6.0 4.3.2 > > ** pyproject.toml installs supported as of here ** > > freebsd 3.11.13 23.3.2 63.1.0 5.3.0 > debian_12 3.11.2 23.0.1 66.1.1 5.3.0 > ubuntu_24_04 3.12.3 24.0 68.1.2 7.2.6 > centos_stream_10 3.12.11 23.3.2 69.0.3 7.2.6 > fedora_41 3.13.5 24.2 69.2.0 7.3.7 > alpine_3_19 3.11.13 23.3.1 70.3.0 6.2.1 > alpine_3_20 3.12.11 24.0 70.3.0 7.2.6 > alpine_3_21 3.12.11 24.3.1 70.3.0 8.1.3 > ubuntu_24_10 3.12.7 24.2 74.1.2 7.4.7 > fedora_42 3.13.5 24.3.1 74.1.3 8.1.3 > ubuntu_25_04 3.13.3 25.0 75.8.0 8.1.3 > macports 3.13.5 25.1.1 78.1.1 8.2.3 > openbsd 3.12.11 25.1.1 79.0.1 8.2.3 > alpine_3_22 3.12.11 25.1.1 80.9.0 8.2.3 > homebrew 3.13.5 --- 80.9.0 8.2.3 > pkgsrc_current 3.12.11 25.1.1 80.9.0 8.2.3 > > Signed-off-by: John Snow <js...@redhat.com> > --- > python/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/python/Makefile b/python/Makefile > index 764b79ccb23..32aedce4137 100644 > --- a/python/Makefile > +++ b/python/Makefile > @@ -68,7 +68,7 @@ $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate: > setup.cfg tests/minreqs.tx > echo "INSTALL -r tests/minreqs.txt $(QEMU_MINVENV_DIR)";\ > $(PIP_INSTALL) -r tests/minreqs.txt 1>/dev/null; \ > echo "INSTALL -e qemu $(QEMU_MINVENV_DIR)"; \ > - $(PIP_INSTALL) -e . 1>/dev/null; \ > + PIP_CONFIG_SETTINGS="editable_mode=compat" $(PIP_INSTALL) > -e . 1>/dev/null; \ > ) > @touch $(QEMU_MINVENV_DIR) > > @@ -103,7 +103,7 @@ check-dev: dev-venv > > .PHONY: develop > develop: > - $(PIP_INSTALL) -e .[devel] > + PIP_CONFIG_SETTINGS="editable_mode=compat" $(PIP_INSTALL) -e > .[devel] > > .PHONY: check > check: > -- > 2.50.0 >
For what it's worth, I think this patch is safe to include in an early rc as it should effect only testing - but if we don't feel it is safe, it's also a very work-aroundable problem. >