Message ID | 20190503193721.18459-1-ehabkost@redhat.com |
---|---|
State | New |
Headers | show |
Series | Deprecate Python 2 support | expand |
On 03/05/2019 21.37, Eduardo Habkost wrote: > Python 2 will reach end of life in January 1 2020. Declare it as > deprecated. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > configure | 8 ++++++++ > qemu-deprecated.texi | 8 ++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/configure b/configure > index 5b183c2e39..50385061ed 100755 > --- a/configure > +++ b/configure > @@ -6461,6 +6461,14 @@ 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 > +fi > + > config_host_mak="config-host.mak" > > echo "# Automatically generated by configure - do not modify" >config-all-disas.mak > diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi > index 842e71b11d..2f2d9a3e95 100644 > --- a/qemu-deprecated.texi > +++ b/qemu-deprecated.texi > @@ -206,3 +206,11 @@ Note that if you are exposing the export via /dev/nbd0, it is easier > to just export the entire image and then mount only /dev/nbd0p1 than > it is to reinvoke @command{qemu-nbd -c /dev/nbd0} limited to just a > subset of the image. > + > +@section Build system > + > +@subsection Python 2 support (since 4.1.0) > + > +In the future, QEMU will require Python 3 to be available at > +build time. Support for Python 2 in scripts shipped with QEMU > +is deprecated. Reviewed-by: Thomas Huth <thuth@redhat.com>
Eduardo Habkost <ehabkost@redhat.com> writes: > Python 2 will reach end of life in January 1 2020. Declare it as > deprecated. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > configure | 8 ++++++++ > qemu-deprecated.texi | 8 ++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/configure b/configure > index 5b183c2e39..50385061ed 100755 > --- a/configure > +++ b/configure > @@ -6461,6 +6461,14 @@ 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 Please don't shout "warning". > +fi > + > config_host_mak="config-host.mak" > > echo "# Automatically generated by configure - do not modify" >config-all-disas.mak > diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi > index 842e71b11d..2f2d9a3e95 100644 > --- a/qemu-deprecated.texi > +++ b/qemu-deprecated.texi > @@ -206,3 +206,11 @@ Note that if you are exposing the export via /dev/nbd0, it is easier > to just export the entire image and then mount only /dev/nbd0p1 than > it is to reinvoke @command{qemu-nbd -c /dev/nbd0} limited to just a > subset of the image. > + > +@section Build system > + > +@subsection Python 2 support (since 4.1.0) > + > +In the future, QEMU will require Python 3 to be available at > +build time. Support for Python 2 in scripts shipped with QEMU > +is deprecated. Reviewed-by: Markus Armbruster <armbru@redhat.com>
On Mon, May 06, 2019 at 04:12:02PM +0200, Markus Armbruster wrote: > Eduardo Habkost <ehabkost@redhat.com> writes: > > > Python 2 will reach end of life in January 1 2020. Declare it as > > deprecated. > > > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > > --- > > configure | 8 ++++++++ > > qemu-deprecated.texi | 8 ++++++++ > > 2 files changed, 16 insertions(+) > > > > diff --git a/configure b/configure > > index 5b183c2e39..50385061ed 100755 > > --- a/configure > > +++ b/configure > > @@ -6461,6 +6461,14 @@ 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 > > Please don't shout "warning". > [...] > > Reviewed-by: Markus Armbruster <armbru@redhat.com> Thanks! Queued after changing messages to "warning: ..."
On Fri, May 03, 2019 at 04:37:21PM -0300, Eduardo Habkost wrote: > Python 2 will reach end of life in January 1 2020. Declare it as > deprecated. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > configure | 8 ++++++++ > qemu-deprecated.texi | 8 ++++++++ > 2 files changed, 16 insertions(+) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
Am 03.05.2019 um 21:37 hat Eduardo Habkost geschrieben: > Python 2 will reach end of life in January 1 2020. Declare it as > deprecated. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > configure | 8 ++++++++ > qemu-deprecated.texi | 8 ++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/configure b/configure > index 5b183c2e39..50385061ed 100755 > --- a/configure > +++ b/configure > @@ -6461,6 +6461,14 @@ 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 > +fi While it's clear that we want to get rid of Python 2, did we actually discuss how to decide what the new minimum Python version is? I don't think any major distribution uses 3.0, which was released in 2008, so this doesn't seem to make a lot of sense to me as the new minimum. Currently, 3.6 seems to be a commonly available version. It looks like Debian stable is at 3.5 still, though it might become oldstable before the next QEMU release. Do we need to support anything older than that? Kevin
On Tue, May 07, 2019 at 12:38:14PM +0200, Kevin Wolf wrote: > Am 03.05.2019 um 21:37 hat Eduardo Habkost geschrieben: > > Python 2 will reach end of life in January 1 2020. Declare it as > > deprecated. > > > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > > --- > > configure | 8 ++++++++ > > qemu-deprecated.texi | 8 ++++++++ > > 2 files changed, 16 insertions(+) > > > > diff --git a/configure b/configure > > index 5b183c2e39..50385061ed 100755 > > --- a/configure > > +++ b/configure > > @@ -6461,6 +6461,14 @@ 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 > > +fi > > While it's clear that we want to get rid of Python 2, did we actually > discuss how to decide what the new minimum Python version is? I don't > think any major distribution uses 3.0, which was released in 2008, so > this doesn't seem to make a lot of sense to me as the new minimum. > > Currently, 3.6 seems to be a commonly available version. It looks like > Debian stable is at 3.5 still, though it might become oldstable before > the next QEMU release. Do we need to support anything older than that? Per our support build platform doc, the oldest distros we care about will be RHEL-7 and Debian Jessie. Except we can drop Jessie 2 years after Stretch was released. IOW, we can drop Jessie in June this year, which is before our next releasee. So we don't need to care about the 3.4 version in Jessie. RHEL-7 doesn't have py3 at all in standard distros, but it can be obtained via software collections and this has 3.6 Debian Strech has 3.5.3, so 3.5 looks like our min viable version. Regards, Daniel
Daniel P. Berrangé <berrange@redhat.com> writes: > On Tue, May 07, 2019 at 12:38:14PM +0200, Kevin Wolf wrote: >> Am 03.05.2019 um 21:37 hat Eduardo Habkost geschrieben: >> > Python 2 will reach end of life in January 1 2020. Declare it as >> > deprecated. >> > >> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> >> > --- >> > configure | 8 ++++++++ >> > qemu-deprecated.texi | 8 ++++++++ >> > 2 files changed, 16 insertions(+) >> > >> > diff --git a/configure b/configure >> > index 5b183c2e39..50385061ed 100755 >> > --- a/configure >> > +++ b/configure >> > @@ -6461,6 +6461,14 @@ 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 >> > +fi >> >> While it's clear that we want to get rid of Python 2, did we actually >> discuss how to decide what the new minimum Python version is? I don't >> think any major distribution uses 3.0, which was released in 2008, so >> this doesn't seem to make a lot of sense to me as the new minimum. Good point. >> Currently, 3.6 seems to be a commonly available version. It looks like >> Debian stable is at 3.5 still, though it might become oldstable before >> the next QEMU release. Do we need to support anything older than that? > > Per our support build platform doc, the oldest distros we care about will > be RHEL-7 and Debian Jessie. Except we can drop Jessie 2 years after > Stretch was released. IOW, we can drop Jessie in June this year, which > is before our next releasee. So we don't need to care about the 3.4 > version in Jessie. > > RHEL-7 doesn't have py3 at all in standard distros, but it can be obtained > via software collections and this has 3.6 > > Debian Strech has 3.5.3, so 3.5 looks like our min viable version. Eduardo, care to update configure accordingly?
On Wed, May 08, 2019 at 02:50:00PM +0200, Markus Armbruster wrote: > Daniel P. Berrangé <berrange@redhat.com> writes: > > > On Tue, May 07, 2019 at 12:38:14PM +0200, Kevin Wolf wrote: > >> Am 03.05.2019 um 21:37 hat Eduardo Habkost geschrieben: > >> > Python 2 will reach end of life in January 1 2020. Declare it as > >> > deprecated. > >> > > >> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > >> > --- > >> > configure | 8 ++++++++ > >> > qemu-deprecated.texi | 8 ++++++++ > >> > 2 files changed, 16 insertions(+) > >> > > >> > diff --git a/configure b/configure > >> > index 5b183c2e39..50385061ed 100755 > >> > --- a/configure > >> > +++ b/configure > >> > @@ -6461,6 +6461,14 @@ 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 > >> > +fi > >> > >> While it's clear that we want to get rid of Python 2, did we actually > >> discuss how to decide what the new minimum Python version is? I don't > >> think any major distribution uses 3.0, which was released in 2008, so > >> this doesn't seem to make a lot of sense to me as the new minimum. > > Good point. > > >> Currently, 3.6 seems to be a commonly available version. It looks like > >> Debian stable is at 3.5 still, though it might become oldstable before > >> the next QEMU release. Do we need to support anything older than that? > > > > Per our support build platform doc, the oldest distros we care about will > > be RHEL-7 and Debian Jessie. Except we can drop Jessie 2 years after > > Stretch was released. IOW, we can drop Jessie in June this year, which > > is before our next releasee. So we don't need to care about the 3.4 > > version in Jessie. > > > > RHEL-7 doesn't have py3 at all in standard distros, but it can be obtained > > via software collections and this has 3.6 > > > > Debian Strech has 3.5.3, so 3.5 looks like our min viable version. > > Eduardo, care to update configure accordingly? I'll do it as a separate patch, because updating the minimum Python 3.x version (which is 3.0 right now) is independent from Python 2 deprecation.
On 5/3/19 9:37 PM, Eduardo Habkost wrote: > Python 2 will reach end of life in January 1 2020. Declare it as > deprecated. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > configure | 8 ++++++++ > qemu-deprecated.texi | 8 ++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/configure b/configure > index 5b183c2e39..50385061ed 100755 > --- a/configure > +++ b/configure > @@ -6461,6 +6461,14 @@ 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 > +fi > + > config_host_mak="config-host.mak" > > echo "# Automatically generated by configure - do not modify" >config-all-disas.mak > diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi > index 842e71b11d..2f2d9a3e95 100644 > --- a/qemu-deprecated.texi > +++ b/qemu-deprecated.texi > @@ -206,3 +206,11 @@ Note that if you are exposing the export via /dev/nbd0, it is easier > to just export the entire image and then mount only /dev/nbd0p1 than > it is to reinvoke @command{qemu-nbd -c /dev/nbd0} limited to just a > subset of the image. > + > +@section Build system > + > +@subsection Python 2 support (since 4.1.0) > + > +In the future, QEMU will require Python 3 to be available at > +build time. Support for Python 2 in scripts shipped with QEMU > +is deprecated. > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/configure b/configure index 5b183c2e39..50385061ed 100755 --- a/configure +++ b/configure @@ -6461,6 +6461,14 @@ 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 +fi + config_host_mak="config-host.mak" echo "# Automatically generated by configure - do not modify" >config-all-disas.mak diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi index 842e71b11d..2f2d9a3e95 100644 --- a/qemu-deprecated.texi +++ b/qemu-deprecated.texi @@ -206,3 +206,11 @@ Note that if you are exposing the export via /dev/nbd0, it is easier to just export the entire image and then mount only /dev/nbd0p1 than it is to reinvoke @command{qemu-nbd -c /dev/nbd0} limited to just a subset of the image. + +@section Build system + +@subsection Python 2 support (since 4.1.0) + +In the future, QEMU will require Python 3 to be available at +build time. Support for Python 2 in scripts shipped with QEMU +is deprecated.
Python 2 will reach end of life in January 1 2020. Declare it as deprecated. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- configure | 8 ++++++++ qemu-deprecated.texi | 8 ++++++++ 2 files changed, 16 insertions(+)