On 10/16/19 6:42 PM, Eduardo Habkost wrote:
> Python 3.5 is the oldest Python version available on our
> supported build platforms, and Python 2 end of life will be 3
> weeks after the planned release date of QEMU 4.2.0. Drop Python
> 2 support from configure completely, and require Python 3.5 or
> newer.
>
> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com>
Seems like a good time and place to mention this. Kevin, you require
3.6+ for iotests, which are -- at present -- invoked as part of "make
check".
Do we care? Basically, this just means that iotests won't run for
systems that don't have 3.6+, which would be platforms like Debian 9 --
which is why ehabkost is choosing 3.5 here.
--js
> ---
> configure | 18 ++++--------------
> tests/Makefile.include | 5 -----
> 2 files changed, 4 insertions(+), 19 deletions(-)
>
> diff --git a/configure b/configure
> index 08ca4bcb46..870657ec7b 100755
> --- a/configure
> +++ b/configure
> @@ -895,9 +895,9 @@ fi
> : ${install=${INSTALL-install}}
> # We prefer python 3.x. A bare 'python' is traditionally
> # python 2.x, but some distros have it as python 3.x, so
> -# we check that before python2
> +# we check that too
> python=
> -for binary in "${PYTHON-python3}" python python2
> +for binary in "${PYTHON-python3}" python
> do
> if has "$binary"
> then
> @@ -1824,8 +1824,8 @@ fi
>
> # Note that if the Python conditional here evaluates True we will exit
> # with status 1 which is a shell 'false' value.
> -if ! $python -c 'import sys; sys.exit(sys.version_info < (2,7))'; then
> - error_exit "Cannot use '$python', Python 2 >= 2.7 or Python 3 is
> required." \
> +if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
> + error_exit "Cannot use '$python', Python >= 3.5 is required." \
> "Use --python=/path/to/python to specify a supported Python."
> fi
>
> @@ -6456,15 +6456,6 @@ if test "$supported_os" = "no"; then
> echo "us upstream at qemu-devel@nongnu.org."
> fi
>
> -# Note that if the Python conditional here evaluates True we will exit
> -# with status 1 which is a shell 'false' value.
> -if ! $python -c 'import sys; sys.exit(sys.version_info < (3,0))'; then
> - echo
> - echo "warning: Python 2 support is deprecated" >&2
> - echo "warning: Python 3 will be required for building future versions of
> QEMU" >&2
> - python2="y"
> -fi
> -
> config_host_mak="config-host.mak"
>
> echo "# Automatically generated by configure - do not modify"
> >config-all-disas.mak
> @@ -7282,7 +7273,6 @@ echo "INSTALL_DATA=$install -c -m 0644" >>
> $config_host_mak
> echo "INSTALL_PROG=$install -c -m 0755" >> $config_host_mak
> echo "INSTALL_LIB=$install -c -m 0644" >> $config_host_mak
> echo "PYTHON=$python" >> $config_host_mak
> -echo "PYTHON2=$python2" >> $config_host_mak
> echo "CC=$cc" >> $config_host_mak
> if $iasl -h > /dev/null 2>&1; then
> echo "IASL=$iasl" >> $config_host_mak
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 3543451ed3..54ee1f0a2f 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -1137,7 +1137,6 @@ TESTS_RESULTS_DIR=$(BUILD_DIR)/tests/results
> AVOCADO_SHOW=app
> AVOCADO_TAGS=$(patsubst %-softmmu,-t arch:%, $(filter
> %-softmmu,$(TARGET_DIRS)))
>
> -ifneq ($(PYTHON2),y)
> $(TESTS_VENV_DIR): $(TESTS_VENV_REQ)
> $(call quiet-command, \
> $(PYTHON) -m venv --system-site-packages $@, \
> @@ -1146,10 +1145,6 @@ $(TESTS_VENV_DIR): $(TESTS_VENV_REQ)
> $(TESTS_VENV_DIR)/bin/python -m pip -q install -r
> $(TESTS_VENV_REQ), \
> PIP, $(TESTS_VENV_REQ))
> $(call quiet-command, touch $@)
> -else
> -$(TESTS_VENV_DIR):
> - $(error "venv directory for tests requires Python 3")
> -endif
>
> $(TESTS_RESULTS_DIR):
> $(call quiet-command, mkdir -p $@, \
>