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: Beraldo Leal
Subject: Re: [PATCH] python: pin setuptools below v60.0.0
Date: Fri, 21 Jan 2022 14:54:17 -0300

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




reply via email to

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