All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] configure: Require Python >= 3.5
@ 2019-10-16 22:42 Eduardo Habkost
  2019-10-16 22:48 ` John Snow
  2019-10-18 21:07 ` John Snow
  0 siblings, 2 replies; 11+ messages in thread
From: Eduardo Habkost @ 2019-10-16 22:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Kevin Wolf, Peter Maydell, John Snow, Cleber Rosa

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 <ehabkost@redhat.com>
---
 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 $@, \
-- 
2.21.0



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-16 22:42 [PATCH] configure: Require Python >= 3.5 Eduardo Habkost
@ 2019-10-16 22:48 ` John Snow
  2019-10-17  7:56   ` Thomas Huth
                     ` (2 more replies)
  2019-10-18 21:07 ` John Snow
  1 sibling, 3 replies; 11+ messages in thread
From: John Snow @ 2019-10-16 22:48 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel
  Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Cleber Rosa



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 <ehabkost@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 $@, \
> 



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-16 22:48 ` John Snow
@ 2019-10-17  7:56   ` Thomas Huth
  2019-10-17  8:55   ` Daniel P. Berrangé
  2019-10-17 11:21   ` Kevin Wolf
  2 siblings, 0 replies; 11+ messages in thread
From: Thomas Huth @ 2019-10-17  7:56 UTC (permalink / raw)
  To: John Snow, Eduardo Habkost, qemu-devel
  Cc: Kevin Wolf, Peter Maydell, Cleber Rosa

On 17/10/2019 00.48, John Snow wrote:
> 
> 
> 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 <ehabkost@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.

I think it's ok to simply skip the iotests in case we run on a Python
3.5 system.

 Thomas


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-16 22:48 ` John Snow
  2019-10-17  7:56   ` Thomas Huth
@ 2019-10-17  8:55   ` Daniel P. Berrangé
  2019-10-17 11:21   ` Kevin Wolf
  2 siblings, 0 replies; 11+ messages in thread
From: Daniel P. Berrangé @ 2019-10-17  8:55 UTC (permalink / raw)
  To: John Snow
  Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Eduardo Habkost,
	qemu-devel, Cleber Rosa

On Wed, Oct 16, 2019 at 06:48:34PM -0400, John Snow wrote:
> 
> 
> 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 <ehabkost@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.

Depends what the reason for pickin 3.6 was ?  Is it really compelling
for iotests to require 3.6, or is it easy to support 3.5.  I think in
general it is desirable to have a consistent story across the codebase
for min versions


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-16 22:48 ` John Snow
  2019-10-17  7:56   ` Thomas Huth
  2019-10-17  8:55   ` Daniel P. Berrangé
@ 2019-10-17 11:21   ` Kevin Wolf
  2019-10-17 19:39     ` John Snow
  2 siblings, 1 reply; 11+ messages in thread
From: Kevin Wolf @ 2019-10-17 11:21 UTC (permalink / raw)
  To: John Snow
  Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Eduardo Habkost, qemu-devel

Am 17.10.2019 um 00:48 hat John Snow geschrieben:
> 
> 
> 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 <ehabkost@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.

I think we were aware of this when we made the change to iotests. That
all tests of the current upstream QEMU version are run on Debian
oldstable (with the distro Python version) is, to say the least, not a
priority for me. They must not fail, but I'd say skipping is fine.

And actually, we should still have a reasonable coverage there with the
shell-based test cases.

Kevin


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-17 11:21   ` Kevin Wolf
@ 2019-10-17 19:39     ` John Snow
  2019-10-18  8:15       ` Kevin Wolf
  0 siblings, 1 reply; 11+ messages in thread
From: John Snow @ 2019-10-17 19:39 UTC (permalink / raw)
  To: Kevin Wolf
  Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Eduardo Habkost, qemu-devel



On 10/17/19 7:21 AM, Kevin Wolf wrote:
> Am 17.10.2019 um 00:48 hat John Snow geschrieben:
>>
>>
>> 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 <ehabkost@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.
> 
> I think we were aware of this when we made the change to iotests. That
> all tests of the current upstream QEMU version are run on Debian
> oldstable (with the distro Python version) is, to say the least, not a
> priority for me. They must not fail, but I'd say skipping is fine.
> 
> And actually, we should still have a reasonable coverage there with the
> shell-based test cases.
> 
> Kevin
> 

This seems like a weirdly arbitrary decision for a benefit that's not
clear to me. Is it because you want variable annotations?

(Well, regardless, you're the ranger in charge of this forest.)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-17 19:39     ` John Snow
@ 2019-10-18  8:15       ` Kevin Wolf
  2019-10-18 21:05         ` John Snow
  0 siblings, 1 reply; 11+ messages in thread
From: Kevin Wolf @ 2019-10-18  8:15 UTC (permalink / raw)
  To: John Snow
  Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Eduardo Habkost, qemu-devel

Am 17.10.2019 um 21:39 hat John Snow geschrieben:
> On 10/17/19 7:21 AM, Kevin Wolf wrote:
> > Am 17.10.2019 um 00:48 hat John Snow geschrieben:
> >> 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 <ehabkost@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.
> > 
> > I think we were aware of this when we made the change to iotests. That
> > all tests of the current upstream QEMU version are run on Debian
> > oldstable (with the distro Python version) is, to say the least, not a
> > priority for me. They must not fail, but I'd say skipping is fine.
> > 
> > And actually, we should still have a reasonable coverage there with the
> > shell-based test cases.
> 
> This seems like a weirdly arbitrary decision for a benefit that's not
> clear to me. Is it because you want variable annotations?

Yes, the discussion about type annotations is what made me check whether
we could do 3.6, because if we want to make use of type checking, we'll
need it for both functions and variables to get reasonable results.

And actually, we currently don't have any Python tests in the auto
group, so the only effect is for people manually running ./check on
Debian oldstable. I'm not sure, but I suspect this might be the empty
set.

Kevin


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-18  8:15       ` Kevin Wolf
@ 2019-10-18 21:05         ` John Snow
  0 siblings, 0 replies; 11+ messages in thread
From: John Snow @ 2019-10-18 21:05 UTC (permalink / raw)
  To: Kevin Wolf
  Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Eduardo Habkost, qemu-devel



On 10/18/19 4:15 AM, Kevin Wolf wrote:
> Am 17.10.2019 um 21:39 hat John Snow geschrieben:
>> On 10/17/19 7:21 AM, Kevin Wolf wrote:
>>> Am 17.10.2019 um 00:48 hat John Snow geschrieben:
>>>> 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 <ehabkost@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.
>>>
>>> I think we were aware of this when we made the change to iotests. That
>>> all tests of the current upstream QEMU version are run on Debian
>>> oldstable (with the distro Python version) is, to say the least, not a
>>> priority for me. They must not fail, but I'd say skipping is fine.
>>>
>>> And actually, we should still have a reasonable coverage there with the
>>> shell-based test cases.
>>
>> This seems like a weirdly arbitrary decision for a benefit that's not
>> clear to me. Is it because you want variable annotations?
> 
> Yes, the discussion about type annotations is what made me check whether
> we could do 3.6, because if we want to make use of type checking, we'll
> need it for both functions and variables to get reasonable results.
> 
> And actually, we currently don't have any Python tests in the auto
> group, so the only effect is for people manually running ./check on
> Debian oldstable. I'm not sure, but I suspect this might be the empty
> set.
> 
> Kevin
> 

It would have an effect on `make docker-test-block@debian-amd64" I
think, but I guess nobody runs that right now.

Well, alright.

--js


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-16 22:42 [PATCH] configure: Require Python >= 3.5 Eduardo Habkost
  2019-10-16 22:48 ` John Snow
@ 2019-10-18 21:07 ` John Snow
  2019-10-18 21:14   ` Eduardo Habkost
  1 sibling, 1 reply; 11+ messages in thread
From: John Snow @ 2019-10-18 21:07 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Kevin Wolf, Peter Maydell, Cleber Rosa



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.
> 

Which distributions constrain us to 3.5 right now? I know Debian9 is one
of them, but I'm not sure what others exist.

I know I went through and checked a month ago, but I'm very smart and
didn't write it down.

It might be nice to document (somewhere) so we know when we can require
something newer than 3.5 at the next major deprecation event.

> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


Reviewed-by: John Snow <jsnow@redhat.com>

Thanks!

> ---
>  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 $@, \
> 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-18 21:07 ` John Snow
@ 2019-10-18 21:14   ` Eduardo Habkost
  2019-10-18 21:18     ` John Snow
  0 siblings, 1 reply; 11+ messages in thread
From: Eduardo Habkost @ 2019-10-18 21:14 UTC (permalink / raw)
  To: John Snow; +Cc: Kevin Wolf, Peter Maydell, qemu-devel, Cleber Rosa

On Fri, Oct 18, 2019 at 05:07:36PM -0400, John Snow wrote:
> 
> 
> 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.
> > 
> 
> Which distributions constrain us to 3.5 right now? I know Debian9 is one
> of them, but I'm not sure what others exist.
> 
> I know I went through and checked a month ago, but I'm very smart and
> didn't write it down.
> 
> It might be nice to document (somewhere) so we know when we can require
> something newer than 3.5 at the next major deprecation event.

I've summarized the release dates and Python version information I
could find here: https://wiki.qemu.org/Supported_Build_Platforms

> 
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> 
> 
> Reviewed-by: John Snow <jsnow@redhat.com>

Thanks!

-- 
Eduardo


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configure: Require Python >= 3.5
  2019-10-18 21:14   ` Eduardo Habkost
@ 2019-10-18 21:18     ` John Snow
  0 siblings, 0 replies; 11+ messages in thread
From: John Snow @ 2019-10-18 21:18 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: Kevin Wolf, Peter Maydell, qemu-devel, Cleber Rosa



On 10/18/19 5:14 PM, Eduardo Habkost wrote:
> On Fri, Oct 18, 2019 at 05:07:36PM -0400, John Snow wrote:
>>
>>
>> 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.
>>>
>>
>> Which distributions constrain us to 3.5 right now? I know Debian9 is one
>> of them, but I'm not sure what others exist.
>>
>> I know I went through and checked a month ago, but I'm very smart and
>> didn't write it down.
>>
>> It might be nice to document (somewhere) so we know when we can require
>> something newer than 3.5 at the next major deprecation event.
> 
> I've summarized the release dates and Python version information I
> could find here: https://wiki.qemu.org/Supported_Build_Platforms
> 

You are an ABSOLUTE CHAMPION. Thank you so much!


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-10-18 21:20 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-16 22:42 [PATCH] configure: Require Python >= 3.5 Eduardo Habkost
2019-10-16 22:48 ` John Snow
2019-10-17  7:56   ` Thomas Huth
2019-10-17  8:55   ` Daniel P. Berrangé
2019-10-17 11:21   ` Kevin Wolf
2019-10-17 19:39     ` John Snow
2019-10-18  8:15       ` Kevin Wolf
2019-10-18 21:05         ` John Snow
2019-10-18 21:07 ` John Snow
2019-10-18 21:14   ` Eduardo Habkost
2019-10-18 21:18     ` John Snow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.