On Fri, Jan 21, 2022 at 12:54 PM Beraldo Leal <bl...@redhat.com> wrote: > > On Thu, Jan 20, 2022 at 07:52:21PM -0500, John Snow wrote: > > setuptools is a package that replaces the python stdlib 'distutils'. It > > is generally installed by all venv-creating tools "by default". It isn't > > actually needed at runtime for the qemu package, so our own setup.cfg > > does not mention it as a dependency. > > > > However, tox will create virtual environments that include it, and will > > upgrade it to the very latest version. the 'venv' tool will also include > > whichever version your host system happens to have. > > > > Unfortunately, setuptools version 60.0.0 and above include a hack to > > forcibly overwrite python's built-in distutils. The pylint tool that we > > use to run code analysis checks on this package relies on distutils and > > suffers regressions when setuptools >= 60.0.0 is present at all, see > > https://github.com/PyCQA/pylint/issues/5704 > > > > Instruct tox and the 'check-dev' targets to avoid setuptools packages > > that are too new, for now. Pipenv is unaffected, because setuptools 60 > > does not offer Python 3.6 support, and our pipenv config is pinned > > against Python 3.6. > > > > Signed-off-by: John Snow <js...@redhat.com> > > --- > > python/Makefile | 2 ++ > > python/setup.cfg | 1 + > > 2 files changed, 3 insertions(+) > > > > diff --git a/python/Makefile b/python/Makefile > > index 3334311362..949c472624 100644 > > --- a/python/Makefile > > +++ b/python/Makefile > > @@ -68,6 +68,8 @@ $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg > > echo "ACTIVATE $(QEMU_VENV_DIR)"; \ > > . $(QEMU_VENV_DIR)/bin/activate; \ > > echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)"; \ > > + pip install --disable-pip-version-check \ > > + "setuptools<60.0.0" 1>/dev/null; \ > > make develop 1>/dev/null; \ > > ) > > @touch $(QEMU_VENV_DIR) > > diff --git a/python/setup.cfg b/python/setup.cfg > > index 417e937839..aa238d8bc9 100644 > > --- a/python/setup.cfg > > +++ b/python/setup.cfg > > @@ -163,6 +163,7 @@ deps = > > .[devel] > > .[fuse] # Workaround to trigger tox venv rebuild > > .[tui] # Workaround to trigger tox venv rebuild > > + setuptools < 60 # Workaround, please see commit msg. > > commands = > > make check > > > > Reviewed-by: Beraldo Leal <bl...@redhat.com> > > -- > Beraldo >
Thanks a million. I'm staging this right away. --js