Patchwork [4/4] configure: check for supported Python 2.x versions

login
register
mail settings
Submitter Stefan Hajnoczi
Date April 27, 2012, 2:23 p.m.
Message ID <1335536625-4621-5-git-send-email-stefanha@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/155495/
State New
Headers show

Comments

Stefan Hajnoczi - April 27, 2012, 2:23 p.m.
The tracetool code requires Python 2.4, which was released in 2004.
Check for a supported Python version so we can give a clear error
message.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
---
 configure |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
Lluís Vilanova - April 27, 2012, 6:13 p.m.
Stefan Hajnoczi writes:

> The tracetool code requires Python 2.4, which was released in 2004.
> Check for a supported Python version so we can give a clear error
> message.

> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
> ---
>  configure |    7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)

> diff --git a/configure b/configure
> index 15bbc73..39c7ac2 100755
> --- a/configure
> +++ b/configure
> @@ -1247,9 +1247,10 @@ 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[0] >= 3)'; then
> -  echo "Python 2 required but '$python' is version 3 or better."
> -  echo "Use --python=/path/to/python to specify a Python 2."
> +if ! "$python" -c 'import sys; sys.exit(sys.version_info[0] != 2 or sys.version_info[1] < 4)'; then
> +  echo "Cannot use '$python', Python 2.4 or later is required."
> +  echo "Note that Python 3 or later is not yet supported."
> +  echo "Use --python=/path/to/python to specify a supported Python."
>    exit 1
>  fi

This looks more readable to me:

    sys.exit(sys.version_info < (2,4) or sys.version_info >= (3,))


Lluis
Stefan Hajnoczi - April 30, 2012, 10:19 a.m.
On Fri, Apr 27, 2012 at 08:13:31PM +0200, Lluís Vilanova wrote:
> Stefan Hajnoczi writes:
> 
> > The tracetool code requires Python 2.4, which was released in 2004.
> > Check for a supported Python version so we can give a clear error
> > message.
> 
> > Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
> > ---
> >  configure |    7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> > diff --git a/configure b/configure
> > index 15bbc73..39c7ac2 100755
> > --- a/configure
> > +++ b/configure
> > @@ -1247,9 +1247,10 @@ 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[0] >= 3)'; then
> > -  echo "Python 2 required but '$python' is version 3 or better."
> > -  echo "Use --python=/path/to/python to specify a Python 2."
> > +if ! "$python" -c 'import sys; sys.exit(sys.version_info[0] != 2 or sys.version_info[1] < 4)'; then
> > +  echo "Cannot use '$python', Python 2.4 or later is required."
> > +  echo "Note that Python 3 or later is not yet supported."
> > +  echo "Use --python=/path/to/python to specify a supported Python."
> >    exit 1
> >  fi
> 
> This looks more readable to me:
> 
>     sys.exit(sys.version_info < (2,4) or sys.version_info >= (3,))

Nice, thanks.

Stefan

Patch

diff --git a/configure b/configure
index 15bbc73..39c7ac2 100755
--- a/configure
+++ b/configure
@@ -1247,9 +1247,10 @@  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[0] >= 3)'; then
-  echo "Python 2 required but '$python' is version 3 or better."
-  echo "Use --python=/path/to/python to specify a Python 2."
+if ! "$python" -c 'import sys; sys.exit(sys.version_info[0] != 2 or sys.version_info[1] < 4)'; then
+  echo "Cannot use '$python', Python 2.4 or later is required."
+  echo "Note that Python 3 or later is not yet supported."
+  echo "Use --python=/path/to/python to specify a supported Python."
   exit 1
 fi