CI: https://gitlab.com/jsnow/qemu/-/pipelines/783612696 [Updated for v3, still all green.] GL: https://gitlab.com/jsnow/qemu/-/commits/python-require-37
Hi, discussion about this series is ongoing. This series (v3) is not meant to address all of that discussion, but rather is an updated baseline for what we are capable of right now, today, without much additional engineering. It's meant to serve as a reference for further discussion. To my knowledge, the inconveniences caused by this patchset as currently written are: (1) Users of CentOS 8 and OpenSUSE 15.4 would need to install an additional python package that will exist side-by-side with their base platform's Python 3.6 package. "zypper install python39" or "dnf install python38" is enough; configure will do the rest of the work. It's my understanding that this is largely a non-issue. (2) Due to our Sphinx plugin that imports QAPI code from the tree, distro-provided versions of Sphinx that are installed and tied to Python 3.6 will no longer be suitable. Users may forego building docs or install a suitable sphinx using "pip". It's my understanding that this one is "kind of a bummer". I feel that the inconvenience caused by (1) is minimized as is possible; the inconvenience caused by (2) is slightly worse and I concede the workaround has some complexities that I would otherwise seek to avoid. As far as I am aware, the way forward is to work with Paolo to implement a proper venv solution for the build tree that will help mitigate the fallout from (2) by automating the use of a pip-provided Sphinx in the cases where the distro-provided version is insufficient. OK, seeya later! --js John Snow (6): configure: Look for auxiliary Python installations configure: Add courtesy hint to Python version failure message DO-NOT-MERGE: testing: Add Python >= 3.7 to Centos, OpenSuSE DO-NOT-MERGE: testing: add pip-installed sphinx-build to CentOS 8 meson: prefer 'sphinx-build' to 'sphinx-build-3' Python: Drop support for Python 3.6 docs/conf.py | 4 +- docs/meson.build | 2 +- configure | 41 ++++++++++++++----- python/Makefile | 10 ++--- python/setup.cfg | 7 ++-- python/tests/minreqs.txt | 2 +- scripts/qapi/mypy.ini | 2 +- tests/docker/dockerfiles/centos8.docker | 5 +++ tests/docker/dockerfiles/opensuse-leap.docker | 1 + 9 files changed, 50 insertions(+), 24 deletions(-) -- 2.39.0