2023-02-10 08:31:42 +08:00
|
|
|
# This file lists the ***oldest possible dependencies*** needed to run
|
Python: Drop support for Python 3.6
Python 3.6 was EOL 2021-12-31. Newer versions of upstream libraries have
begun dropping support for this version and it is becoming more
cumbersome to support. Avocado-framework and qemu.qmp each have their
own reasons for wanting to drop Python 3.6, but won't until QEMU does.
Versions of Python available in our supported build platforms as of today,
with optional versions available in parentheses:
openSUSE Leap 15.4: 3.6.15 (3.9.10, 3.10.2)
CentOS Stream 8: 3.6.8 (3.8.13, 3.9.16)
CentOS Stream 9: 3.9.13
Fedora 36: 3.10
Fedora 37: 3.11
Debian 11: 3.9.2
Alpine 3.14, 3.15: 3.9.16
Alpine 3.16, 3.17: 3.10.10
Ubuntu 20.04 LTS: 3.8.10
Ubuntu 22.04 LTS: 3.10.4
NetBSD 9.3: 3.9.13*
FreeBSD 12.4: 3.9.16
FreeBSD 13.1: 3.9.16
OpenBSD 7.2: 3.9.16
Note: Our VM tests install 3.9 explicitly for FreeBSD and 3.10 for
NetBSD; the default for "python" or "python3" in FreeBSD is
3.9.16. NetBSD does not appear to have a default meta-package, but
offers several options, the lowest of which is 3.7.15. "python39"
appears to be a pre-requisite to one of the other packages we request in
tests/vm/netbsd. pip, ensurepip and other Python essentials are
currently only available for Python 3.10 for NetBSD.
CentOS and OpenSUSE support parallel installation of multiple Python
interpreters, and binaries in /usr/bin will always use Python 3.6. However,
the newly introduced support for virtual environments ensures that all build
steps that execute QEMU Python code use a single interpreter.
Since it is safe to under our supported platform policy, bump our
minimum supported version of Python to 3.7.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20230511035435.734312-24-jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-05-11 11:54:31 +08:00
|
|
|
# "make check" successfully under ***Python 3.7***. It is used primarily
|
2023-02-10 08:31:42 +08:00
|
|
|
# by GitLab CI to ensure that our stated minimum versions in setup.cfg
|
|
|
|
# are truthful and regularly validated.
|
|
|
|
#
|
|
|
|
# This file should not contain any dependencies that are not expressed
|
|
|
|
# by the [devel] section of setup.cfg, except for transitive
|
|
|
|
# dependencies which must be enumerated here explicitly to eliminate
|
|
|
|
# dependency resolution ambiguity.
|
|
|
|
#
|
|
|
|
# When adding new dependencies, pin the very oldest non-yanked version
|
|
|
|
# on PyPI that allows the test suite to pass.
|
|
|
|
|
|
|
|
# Dependencies for the TUI addon (Required for successful linting)
|
|
|
|
urwid==2.1.2
|
|
|
|
urwid-readline==0.13
|
|
|
|
Pygments==2.9.0
|
|
|
|
|
2023-05-11 11:54:14 +08:00
|
|
|
# Dependencies for mkvenv
|
|
|
|
distlib==0.3.6
|
|
|
|
|
2023-02-10 08:31:42 +08:00
|
|
|
# Dependencies for FUSE support for qom-fuse
|
|
|
|
fusepy==2.0.4
|
|
|
|
|
|
|
|
# Test-runners, utilities, etc.
|
|
|
|
avocado-framework==90.0
|
|
|
|
|
|
|
|
# Linters
|
2023-05-16 17:59:36 +08:00
|
|
|
flake8==5.0.4
|
2023-02-10 08:31:42 +08:00
|
|
|
isort==5.1.2
|
2023-07-05 18:40:46 +08:00
|
|
|
mypy==1.4.0
|
2023-05-16 17:59:36 +08:00
|
|
|
pylint==2.17.3
|
2023-02-10 08:31:42 +08:00
|
|
|
|
|
|
|
# Transitive flake8 dependencies
|
2023-05-16 17:59:36 +08:00
|
|
|
mccabe==0.7.0
|
|
|
|
pycodestyle==2.9.1
|
|
|
|
pyflakes==2.5.0
|
2023-02-10 08:31:42 +08:00
|
|
|
|
|
|
|
# Transitive mypy dependencies
|
2023-07-05 18:40:46 +08:00
|
|
|
mypy-extensions==1.0.0
|
|
|
|
typing-extensions==4.7.1
|
2023-02-10 08:31:42 +08:00
|
|
|
|
|
|
|
# Transitive pylint dependencies
|
2023-05-16 17:59:36 +08:00
|
|
|
astroid==2.15.4
|
2023-02-10 08:31:42 +08:00
|
|
|
lazy-object-proxy==1.4.0
|
|
|
|
toml==0.10.0
|
2023-07-05 18:40:46 +08:00
|
|
|
wrapt==1.14.0
|