[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/17] python: pin setuptools below v60.0.0
|
From: |
John Snow |
|
Subject: |
[PULL 01/17] python: pin setuptools below v60.0.0 |
|
Date: |
Fri, 21 Jan 2022 19:09:15 -0500 |
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>
Reviewed-by: Beraldo Leal <bleal@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
Message-id: 20220121005221.142236-1-jsnow@redhat.com
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
--
2.31.1
- [PULL 00/17] Python patches, John Snow, 2022/01/21
- [PULL 02/17] python: use avocado's "new" runner, John Snow, 2022/01/21
- [PULL 03/17] python/aqmp: fix docstring typo, John Snow, 2022/01/21
- [PULL 01/17] python: pin setuptools below v60.0.0,
John Snow <=
- [PULL 05/17] python/aqmp: handle asyncio.TimeoutError on execute(), John Snow, 2022/01/21
- [PULL 04/17] python/aqmp: add __del__ method to legacy interface, John Snow, 2022/01/21
- [PULL 06/17] python/aqmp: copy type definitions from qmp, John Snow, 2022/01/21
- [PULL 08/17] python/aqmp: rename AQMPError to QMPError, John Snow, 2022/01/21
- [PULL 09/17] python/qemu-ga-client: don't use deprecated CLI syntax in usage comment, John Snow, 2022/01/21
- [PULL 07/17] python/aqmp: add SocketAddrT to package root, John Snow, 2022/01/21
- [PULL 12/17] python/qmp: switch qmp-shell to AQMP, John Snow, 2022/01/21
- [PULL 13/17] python: move qmp utilities to python/qemu/utils, John Snow, 2022/01/21
- [PULL 16/17] scripts/cpu-x86-uarch-abi: switch to AQMP, John Snow, 2022/01/21
- [PULL 14/17] python: move qmp-shell under the AQMP package, John Snow, 2022/01/21