mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
Drop support for Python 3.8
Python 3.8 went "end of life" in October 2024 and Fedora 42 dropped this version already, so the "python" CI job is currently failing. Thus it's time to drop support for this Python version in QEMU, too. While we're at it, also look for "python3.13" in the configure script. Message-ID: <20250425120710.879518-1-thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
6b1c744ec0
commit
d64db833d6
7 changed files with 17 additions and 19 deletions
14
configure
vendored
14
configure
vendored
|
@ -540,17 +540,17 @@ if test -n "$linux_arch" && ! test -d "$source_path/linux-headers/asm-$linux_arc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
check_py_version() {
|
check_py_version() {
|
||||||
# We require python >= 3.8.
|
# We require python >= 3.9.
|
||||||
# NB: a True python conditional creates a non-zero return code (Failure)
|
# NB: a True python conditional creates a non-zero return code (Failure)
|
||||||
"$1" -c 'import sys; sys.exit(sys.version_info < (3,8))'
|
"$1" -c 'import sys; sys.exit(sys.version_info < (3,9))'
|
||||||
}
|
}
|
||||||
|
|
||||||
first_python=
|
first_python=
|
||||||
if test -z "${PYTHON}"; then
|
if test -z "${PYTHON}"; then
|
||||||
# A bare 'python' is traditionally python 2.x, but some distros
|
# A bare 'python' is traditionally python 2.x, but some distros
|
||||||
# have it as python 3.x, so check in both places.
|
# have it as python 3.x, so check in both places.
|
||||||
for binary in python3 python python3.12 python3.11 \
|
for binary in python3 python python3.13 python3.12 python3.11 \
|
||||||
python3.10 python3.9 python3.8; do
|
python3.10 python3.9 ; do
|
||||||
if has "$binary"; then
|
if has "$binary"; then
|
||||||
python=$(command -v "$binary")
|
python=$(command -v "$binary")
|
||||||
if check_py_version "$python"; then
|
if check_py_version "$python"; then
|
||||||
|
@ -933,7 +933,7 @@ then
|
||||||
# If first_python is set, there was a binary somewhere even though
|
# If first_python is set, there was a binary somewhere even though
|
||||||
# it was not suitable. Use it for the error message.
|
# it was not suitable. Use it for the error message.
|
||||||
if test -n "$first_python"; then
|
if test -n "$first_python"; then
|
||||||
error_exit "Cannot use '$first_python', Python >= 3.8 is required." \
|
error_exit "Cannot use '$first_python', Python >= 3.9 is required." \
|
||||||
"Use --python=/path/to/python to specify a supported Python."
|
"Use --python=/path/to/python to specify a supported Python."
|
||||||
else
|
else
|
||||||
error_exit "Python not found. Use --python=/path/to/python"
|
error_exit "Python not found. Use --python=/path/to/python"
|
||||||
|
@ -941,11 +941,11 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! check_py_version "$python"; then
|
if ! check_py_version "$python"; then
|
||||||
error_exit "Cannot use '$python', Python >= 3.8 is required." \
|
error_exit "Cannot use '$python', Python >= 3.9 is required." \
|
||||||
"Use --python=/path/to/python to specify a supported Python." \
|
"Use --python=/path/to/python to specify a supported Python." \
|
||||||
"Maybe try:" \
|
"Maybe try:" \
|
||||||
" openSUSE Leap 15.3+: zypper install python39" \
|
" openSUSE Leap 15.3+: zypper install python39" \
|
||||||
" CentOS 8: dnf install python38"
|
" CentOS: dnf install python3.12"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Resolve PATH
|
# Resolve PATH
|
||||||
|
|
|
@ -101,7 +101,7 @@ Python runtime
|
||||||
option of the ``configure`` script to point QEMU to a supported
|
option of the ``configure`` script to point QEMU to a supported
|
||||||
version of the Python runtime.
|
version of the Python runtime.
|
||||||
|
|
||||||
As of QEMU |version|, the minimum supported version of Python is 3.8.
|
As of QEMU |version|, the minimum supported version of Python is 3.9.
|
||||||
|
|
||||||
Python build dependencies
|
Python build dependencies
|
||||||
Some of QEMU's build dependencies are written in Python. Usually these
|
Some of QEMU's build dependencies are written in Python. Usually these
|
||||||
|
|
|
@ -9,13 +9,13 @@ help:
|
||||||
@echo "make check-minreqs:"
|
@echo "make check-minreqs:"
|
||||||
@echo " Run tests in the minreqs virtual environment."
|
@echo " Run tests in the minreqs virtual environment."
|
||||||
@echo " These tests use the oldest dependencies."
|
@echo " These tests use the oldest dependencies."
|
||||||
@echo " Requires: Python 3.8"
|
@echo " Requires: Python 3.9"
|
||||||
@echo " Hint (Fedora): 'sudo dnf install python3.8'"
|
@echo " Hint (Fedora): 'sudo dnf install python3.9'"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "make check-tox:"
|
@echo "make check-tox:"
|
||||||
@echo " Run tests against multiple python versions."
|
@echo " Run tests against multiple python versions."
|
||||||
@echo " These tests use the newest dependencies."
|
@echo " These tests use the newest dependencies."
|
||||||
@echo " Requires: Python 3.8 - 3.11, and tox."
|
@echo " Requires: Python 3.9 - 3.11, and tox."
|
||||||
@echo " Hint (Fedora): 'sudo dnf install python3-tox python3.11'"
|
@echo " Hint (Fedora): 'sudo dnf install python3-tox python3.11'"
|
||||||
@echo " The variable QEMU_TOX_EXTRA_ARGS can be use to pass extra"
|
@echo " The variable QEMU_TOX_EXTRA_ARGS can be use to pass extra"
|
||||||
@echo " arguments to tox".
|
@echo " arguments to tox".
|
||||||
|
@ -59,7 +59,7 @@ PIP_INSTALL = pip install --disable-pip-version-check
|
||||||
min-venv: $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate
|
min-venv: $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate
|
||||||
$(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate: setup.cfg tests/minreqs.txt
|
$(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate: setup.cfg tests/minreqs.txt
|
||||||
@echo "VENV $(QEMU_MINVENV_DIR)"
|
@echo "VENV $(QEMU_MINVENV_DIR)"
|
||||||
@python3.8 -m venv $(QEMU_MINVENV_DIR)
|
@python3.9 -m venv $(QEMU_MINVENV_DIR)
|
||||||
@( \
|
@( \
|
||||||
echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \
|
echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \
|
||||||
. $(QEMU_MINVENV_DIR)/bin/activate; \
|
. $(QEMU_MINVENV_DIR)/bin/activate; \
|
||||||
|
|
|
@ -14,7 +14,6 @@ classifiers =
|
||||||
Natural Language :: English
|
Natural Language :: English
|
||||||
Operating System :: OS Independent
|
Operating System :: OS Independent
|
||||||
Programming Language :: Python :: 3 :: Only
|
Programming Language :: Python :: 3 :: Only
|
||||||
Programming Language :: Python :: 3.8
|
|
||||||
Programming Language :: Python :: 3.9
|
Programming Language :: Python :: 3.9
|
||||||
Programming Language :: Python :: 3.10
|
Programming Language :: Python :: 3.10
|
||||||
Programming Language :: Python :: 3.11
|
Programming Language :: Python :: 3.11
|
||||||
|
@ -23,7 +22,7 @@ classifiers =
|
||||||
Typing :: Typed
|
Typing :: Typed
|
||||||
|
|
||||||
[options]
|
[options]
|
||||||
python_requires = >= 3.8
|
python_requires = >= 3.9
|
||||||
packages =
|
packages =
|
||||||
qemu.qmp
|
qemu.qmp
|
||||||
qemu.machine
|
qemu.machine
|
||||||
|
@ -78,7 +77,7 @@ exclude = __pycache__,
|
||||||
|
|
||||||
[mypy]
|
[mypy]
|
||||||
strict = True
|
strict = True
|
||||||
python_version = 3.8
|
python_version = 3.9
|
||||||
warn_unused_configs = True
|
warn_unused_configs = True
|
||||||
namespace_packages = True
|
namespace_packages = True
|
||||||
warn_unused_ignores = False
|
warn_unused_ignores = False
|
||||||
|
@ -186,7 +185,7 @@ multi_line_output=3
|
||||||
# of python available on your system to run this test.
|
# of python available on your system to run this test.
|
||||||
|
|
||||||
[tox:tox]
|
[tox:tox]
|
||||||
envlist = py38, py39, py310, py311, py312, py313
|
envlist = py39, py310, py311, py312, py313
|
||||||
skip_missing_interpreters = true
|
skip_missing_interpreters = true
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# This file lists the ***oldest possible dependencies*** needed to run
|
# This file lists the ***oldest possible dependencies*** needed to run
|
||||||
# "make check" successfully under ***Python 3.8***. It is used primarily
|
# "make check" successfully under ***Python 3.9***. It is used primarily
|
||||||
# by GitLab CI to ensure that our stated minimum versions in setup.cfg
|
# by GitLab CI to ensure that our stated minimum versions in setup.cfg
|
||||||
# are truthful and regularly validated.
|
# are truthful and regularly validated.
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[mypy]
|
[mypy]
|
||||||
strict = True
|
strict = True
|
||||||
disallow_untyped_calls = False
|
disallow_untyped_calls = False
|
||||||
python_version = 3.8
|
python_version = 3.9
|
||||||
|
|
|
@ -15,7 +15,6 @@ ENV PACKAGES \
|
||||||
python3.11 \
|
python3.11 \
|
||||||
python3.12 \
|
python3.12 \
|
||||||
python3.13 \
|
python3.13 \
|
||||||
python3.8 \
|
|
||||||
python3.9
|
python3.9
|
||||||
|
|
||||||
RUN dnf install -y $PACKAGES
|
RUN dnf install -y $PACKAGES
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue