qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] Require Python 3 for building QEMU


From: Max Reitz
Subject: Re: [Qemu-devel] [RFC] Require Python 3 for building QEMU
Date: Sat, 13 Oct 2018 20:20:25 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0

On 13.10.18 07:02, Eduardo Habkost wrote:
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
> I'd like to do this in QEMU 3.1.  I think it's time to drop
> support for old systems that have only Python 2.
> 
> We still have a few scripts that are not required for building
> QEMU that still work only with Python 2 (iotests being the most
> relevant set).  Requiring Python 3 for building QEMU won't
> prevent people from using those scripts with Python 2 until they
> are finally ported.

It very much does because the iotests specifically use the python path
qemu was configured with.

To fix this, configure would need to write something else for into
tests/qemu-iotests/common.env for $PYTHON.  But what?  I don't really
want to introduce a new configure option for this.

So the real fix is indeed to make the iotests work with Python 3, and I
think that needs to be done before we can require Python 3.  Maybe it
even needs to be done at the same time.

Max

> ---
>  configure   | 8 ++++----
>  .travis.yml | 2 +-
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/configure b/configure
> index f89d293585..43b45745dc 100755
> --- a/configure
> +++ b/configure
> @@ -885,7 +885,7 @@ fi
>  
>  : ${make=${MAKE-make}}
>  : ${install=${INSTALL-install}}
> -: ${python=${PYTHON-python}}
> +: ${python=${PYTHON-python3}}
>  : ${smbd=${SMBD-/usr/sbin/smbd}}
>  
>  # Default objcc to clang if available, otherwise use CC
> @@ -1730,13 +1730,13 @@ exit 0
>  fi
>  
>  if ! has $python; then
> -  error_exit "Python not found. Use --python=/path/to/python"
> +  error_exit "Python 3 not found. Use --python=/path/to/python"
>  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,0))'; then
> +  error_exit "Cannot use '$python', Python 3 is required." \
>        "Use --python=/path/to/python to specify a supported Python."
>  fi
>  
> diff --git a/.travis.yml b/.travis.yml
> index 95be6ec59f..caca9685fa 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -5,7 +5,7 @@ sudo: false
>  dist: trusty
>  language: c
>  python:
> -  - "2.6"
> +  - "3.6"
>  compiler:
>    - gcc
>  cache: ccache
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]