qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] python: pin setuptools below v60.0.0


From: John Snow
Subject: Re: [PATCH] python: pin setuptools below v60.0.0
Date: Fri, 21 Jan 2022 12:57:56 -0500

On Fri, Jan 21, 2022 at 12:54 PM Beraldo Leal <bleal@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 <jsnow@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 <bleal@redhat.com>
>
> --
> Beraldo
>

Thanks a million. I'm staging this right away.

--js




reply via email to

[Prev in Thread] Current Thread [Next in Thread]