[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