[PATCH] docker: move tests from python2 to python3

John Snow posted 1 patch 4 years, 7 months ago
Test docker-clang@ubuntu failed
Test asan failed
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190920200049.27216-1-jsnow@redhat.com
Maintainers: "Philippe Mathieu-Daudé" <philmd@redhat.com>, Fam Zheng <fam@euphon.net>, "Alex Bennée" <alex.bennee@linaro.org>
tests/docker/dockerfiles/centos7.docker             | 2 +-
tests/docker/dockerfiles/debian-ports.docker        | 2 +-
tests/docker/dockerfiles/debian-sid.docker          | 2 +-
tests/docker/dockerfiles/debian-xtensa-cross.docker | 2 +-
tests/docker/dockerfiles/debian10.docker            | 2 +-
tests/docker/dockerfiles/debian8.docker             | 3 +--
tests/docker/dockerfiles/debian9.docker             | 2 +-
tests/docker/dockerfiles/ubuntu.docker              | 2 +-
tests/docker/dockerfiles/ubuntu1804.docker          | 2 +-
9 files changed, 9 insertions(+), 10 deletions(-)
[PATCH] docker: move tests from python2 to python3
Posted by John Snow 4 years, 7 months ago
As part of the push to drop python2 support, replace any explicit python2
dependencies with python3 versions.

For centos, python2 still exists as an implicit dependency, but by adding
python3 we will be able to build even if the configure script begins to
require python 3.5+.

Tested with centos7, fedora, ubuntu, ubuntu1804, and debian 9 (amd64).
Tested under a custom configure script that requires Python 3.5+.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 tests/docker/dockerfiles/centos7.docker             | 2 +-
 tests/docker/dockerfiles/debian-ports.docker        | 2 +-
 tests/docker/dockerfiles/debian-sid.docker          | 2 +-
 tests/docker/dockerfiles/debian-xtensa-cross.docker | 2 +-
 tests/docker/dockerfiles/debian10.docker            | 2 +-
 tests/docker/dockerfiles/debian8.docker             | 3 +--
 tests/docker/dockerfiles/debian9.docker             | 2 +-
 tests/docker/dockerfiles/ubuntu.docker              | 2 +-
 tests/docker/dockerfiles/ubuntu1804.docker          | 2 +-
 9 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/tests/docker/dockerfiles/centos7.docker b/tests/docker/dockerfiles/centos7.docker
index e0b9d7dbe9..953637065c 100644
--- a/tests/docker/dockerfiles/centos7.docker
+++ b/tests/docker/dockerfiles/centos7.docker
@@ -25,6 +25,7 @@ ENV PACKAGES \
     nettle-devel \
     perl-Test-Harness \
     pixman-devel \
+    python3 \
     SDL-devel \
     spice-glib-devel \
     spice-server-devel \
@@ -34,4 +35,3 @@ ENV PACKAGES \
     zlib-devel
 RUN yum install -y $PACKAGES
 RUN rpm -q $PACKAGES | sort > /packages.txt
-
diff --git a/tests/docker/dockerfiles/debian-ports.docker b/tests/docker/dockerfiles/debian-ports.docker
index 61bc3f2993..f1ea8d3bd1 100644
--- a/tests/docker/dockerfiles/debian-ports.docker
+++ b/tests/docker/dockerfiles/debian-ports.docker
@@ -31,6 +31,6 @@ RUN apt-get update && \
         git \
         pkg-config \
         psmisc \
-        python \
+        python3 \
         texinfo \
         $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
diff --git a/tests/docker/dockerfiles/debian-sid.docker b/tests/docker/dockerfiles/debian-sid.docker
index 2a1bcc33b2..dcb8e83715 100644
--- a/tests/docker/dockerfiles/debian-sid.docker
+++ b/tests/docker/dockerfiles/debian-sid.docker
@@ -31,5 +31,5 @@ RUN apt update && \
         git \
         pkg-config \
         psmisc \
-        python \
+        python3 \
         texinfo || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }
diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
index b9c2e2e531..e6f93f65ee 100644
--- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
+++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
@@ -18,7 +18,7 @@ RUN apt-get update && \
         flex \
         gettext \
         git \
-        python-minimal
+        python3-minimal
 
 ENV CPU_LIST csp dc232b dc233c
 ENV TOOLCHAIN_RELEASE 2018.02
diff --git a/tests/docker/dockerfiles/debian10.docker b/tests/docker/dockerfiles/debian10.docker
index 30a78813f2..dad498b52e 100644
--- a/tests/docker/dockerfiles/debian10.docker
+++ b/tests/docker/dockerfiles/debian10.docker
@@ -26,7 +26,7 @@ RUN apt update && \
         git \
         pkg-config \
         psmisc \
-        python \
+        python3 \
         python3-sphinx \
         texinfo \
         $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
diff --git a/tests/docker/dockerfiles/debian8.docker b/tests/docker/dockerfiles/debian8.docker
index 1212a85c35..be67023826 100644
--- a/tests/docker/dockerfiles/debian8.docker
+++ b/tests/docker/dockerfiles/debian8.docker
@@ -30,5 +30,4 @@ RUN apt update && \
         git \
         gnupg \
         pkg-config \
-        python-minimal
-
+        python3-minimal
diff --git a/tests/docker/dockerfiles/debian9.docker b/tests/docker/dockerfiles/debian9.docker
index b36f1d4ed8..8cbd742bb5 100644
--- a/tests/docker/dockerfiles/debian9.docker
+++ b/tests/docker/dockerfiles/debian9.docker
@@ -26,7 +26,7 @@ RUN apt update && \
         git \
         pkg-config \
         psmisc \
-        python \
+        python3 \
         python3-sphinx \
         texinfo \
         $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker
index a4f601395c..f486492224 100644
--- a/tests/docker/dockerfiles/ubuntu.docker
+++ b/tests/docker/dockerfiles/ubuntu.docker
@@ -60,7 +60,7 @@ ENV PACKAGES flex bison \
     libvte-2.91-dev \
     libxen-dev \
     make \
-    python-yaml \
+    python3-yaml \
     python3-sphinx \
     sparse \
     texinfo \
diff --git a/tests/docker/dockerfiles/ubuntu1804.docker b/tests/docker/dockerfiles/ubuntu1804.docker
index 883f9bcf31..3cc4f492c4 100644
--- a/tests/docker/dockerfiles/ubuntu1804.docker
+++ b/tests/docker/dockerfiles/ubuntu1804.docker
@@ -47,7 +47,7 @@ ENV PACKAGES flex bison \
     libvte-2.91-dev \
     libxen-dev \
     make \
-    python-yaml \
+    python3-yaml \
     python3-sphinx \
     sparse \
     texinfo \
-- 
2.21.0


Re: [PATCH] docker: move tests from python2 to python3
Posted by Cleber Rosa 4 years, 7 months ago
On Fri, Sep 20, 2019 at 04:00:49PM -0400, John Snow wrote:
> As part of the push to drop python2 support, replace any explicit python2
> dependencies with python3 versions.
> 
> For centos, python2 still exists as an implicit dependency, but by adding
> python3 we will be able to build even if the configure script begins to
> require python 3.5+.
> 
> Tested with centos7, fedora, ubuntu, ubuntu1804, and debian 9 (amd64).
> Tested under a custom configure script that requires Python 3.5+.
> 
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>  tests/docker/dockerfiles/centos7.docker             | 2 +-
>  tests/docker/dockerfiles/debian-ports.docker        | 2 +-
>  tests/docker/dockerfiles/debian-sid.docker          | 2 +-
>  tests/docker/dockerfiles/debian-xtensa-cross.docker | 2 +-
>  tests/docker/dockerfiles/debian10.docker            | 2 +-
>  tests/docker/dockerfiles/debian8.docker             | 3 +--
>  tests/docker/dockerfiles/debian9.docker             | 2 +-
>  tests/docker/dockerfiles/ubuntu.docker              | 2 +-
>  tests/docker/dockerfiles/ubuntu1804.docker          | 2 +-
>  9 files changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/docker/dockerfiles/centos7.docker b/tests/docker/dockerfiles/centos7.docker
> index e0b9d7dbe9..953637065c 100644
> --- a/tests/docker/dockerfiles/centos7.docker
> +++ b/tests/docker/dockerfiles/centos7.docker
> @@ -25,6 +25,7 @@ ENV PACKAGES \
>      nettle-devel \
>      perl-Test-Harness \
>      pixman-devel \
> +    python3 \

Good, this gives us Python 3.6 (currently seeing package version
3.6.8-10.el7).

>      SDL-devel \
>      spice-glib-devel \
>      spice-server-devel \
> @@ -34,4 +35,3 @@ ENV PACKAGES \
>      zlib-devel
>  RUN yum install -y $PACKAGES
>  RUN rpm -q $PACKAGES | sort > /packages.txt
> -
> diff --git a/tests/docker/dockerfiles/debian-ports.docker b/tests/docker/dockerfiles/debian-ports.docker
> index 61bc3f2993..f1ea8d3bd1 100644
> --- a/tests/docker/dockerfiles/debian-ports.docker
> +++ b/tests/docker/dockerfiles/debian-ports.docker
> @@ -31,6 +31,6 @@ RUN apt-get update && \
>          git \
>          pkg-config \
>          psmisc \
> -        python \
> +        python3 \

On my testing, Python 3.7.4-4 gets installed here at this time.

I wonder if this "unstable" distro can/will give us Python 3.8 in the
near future and the consequences of that...  assuming that's a feature
for now.

>          texinfo \
>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
> diff --git a/tests/docker/dockerfiles/debian-sid.docker b/tests/docker/dockerfiles/debian-sid.docker
> index 2a1bcc33b2..dcb8e83715 100644
> --- a/tests/docker/dockerfiles/debian-sid.docker
> +++ b/tests/docker/dockerfiles/debian-sid.docker
> @@ -31,5 +31,5 @@ RUN apt update && \
>          git \
>          pkg-config \
>          psmisc \
> -        python \
> +        python3 \

Python 3.7.4-2 gets installed here.

>          texinfo || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }
> diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
> index b9c2e2e531..e6f93f65ee 100644
> --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
> +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
> @@ -18,7 +18,7 @@ RUN apt-get update && \
>          flex \
>          gettext \
>          git \
> -        python-minimal
> +        python3-minimal

I'm getting Python 3.5.3-1+deb9u1 here, so it LGTM.

>  
>  ENV CPU_LIST csp dc232b dc233c
>  ENV TOOLCHAIN_RELEASE 2018.02
> diff --git a/tests/docker/dockerfiles/debian10.docker b/tests/docker/dockerfiles/debian10.docker
> index 30a78813f2..dad498b52e 100644
> --- a/tests/docker/dockerfiles/debian10.docker
> +++ b/tests/docker/dockerfiles/debian10.docker
> @@ -26,7 +26,7 @@ RUN apt update && \
>          git \
>          pkg-config \
>          psmisc \
> -        python \
> +        python3 \

Python 3.7.3-2 gets installed here on my testing.

>          python3-sphinx \
>          texinfo \
>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
> diff --git a/tests/docker/dockerfiles/debian8.docker b/tests/docker/dockerfiles/debian8.docker
> index 1212a85c35..be67023826 100644
> --- a/tests/docker/dockerfiles/debian8.docker
> +++ b/tests/docker/dockerfiles/debian8.docker
> @@ -30,5 +30,4 @@ RUN apt update && \
>          git \
>          gnupg \
>          pkg-config \
> -        python-minimal
> -
> +        python3-minimal

This results in the Python package version 3.4.2-1+deb8u7 being
installed, so it's *NOT* enough for the 3.5+ requirements.

I suppose it'd be time to retire those distros instead of updating
them?

> diff --git a/tests/docker/dockerfiles/debian9.docker b/tests/docker/dockerfiles/debian9.docker
> index b36f1d4ed8..8cbd742bb5 100644
> --- a/tests/docker/dockerfiles/debian9.docker
> +++ b/tests/docker/dockerfiles/debian9.docker
> @@ -26,7 +26,7 @@ RUN apt update && \
>          git \
>          pkg-config \
>          psmisc \
> -        python \
> +        python3 \

Python 3.5.3-1+deb9u1 here, meeting the requirement.

>          python3-sphinx \
>          texinfo \
>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
> diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker
> index a4f601395c..f486492224 100644
> --- a/tests/docker/dockerfiles/ubuntu.docker
> +++ b/tests/docker/dockerfiles/ubuntu.docker
> @@ -60,7 +60,7 @@ ENV PACKAGES flex bison \
>      libvte-2.91-dev \
>      libxen-dev \
>      make \
> -    python-yaml \
> +    python3-yaml \

Python 3.7.3-2ubuntu0.1 gets installed here, meeting the requirement.

>      python3-sphinx \
>      sparse \
>      texinfo \
> diff --git a/tests/docker/dockerfiles/ubuntu1804.docker b/tests/docker/dockerfiles/ubuntu1804.docker
> index 883f9bcf31..3cc4f492c4 100644
> --- a/tests/docker/dockerfiles/ubuntu1804.docker
> +++ b/tests/docker/dockerfiles/ubuntu1804.docker
> @@ -47,7 +47,7 @@ ENV PACKAGES flex bison \
>      libvte-2.91-dev \
>      libxen-dev \
>      make \
> -    python-yaml \
> +    python3-yaml \

Not related to this patch, but the lack of an explicit python3 package
line gets to me. :)

Anyway, this ends up pulling Python 3.6.7-1~18.04, so LGTM.

>      python3-sphinx \
>      sparse \
>      texinfo \
> -- 
> 2.21.0
> 
> 

The only issue I see here is what action to take with regards to
debian8.docker.

- Cleber.

Re: [PATCH] docker: move tests from python2 to python3
Posted by Philippe Mathieu-Daudé 4 years, 7 months ago
On 9/23/19 4:50 PM, Cleber Rosa wrote:
> On Fri, Sep 20, 2019 at 04:00:49PM -0400, John Snow wrote:
>> As part of the push to drop python2 support, replace any explicit python2
>> dependencies with python3 versions.
>>
>> For centos, python2 still exists as an implicit dependency, but by adding
>> python3 we will be able to build even if the configure script begins to
>> require python 3.5+.
>>
>> Tested with centos7, fedora, ubuntu, ubuntu1804, and debian 9 (amd64).
>> Tested under a custom configure script that requires Python 3.5+.
>>
>> Signed-off-by: John Snow <jsnow@redhat.com>
>> ---
>>  tests/docker/dockerfiles/centos7.docker             | 2 +-
>>  tests/docker/dockerfiles/debian-ports.docker        | 2 +-
>>  tests/docker/dockerfiles/debian-sid.docker          | 2 +-
>>  tests/docker/dockerfiles/debian-xtensa-cross.docker | 2 +-
>>  tests/docker/dockerfiles/debian10.docker            | 2 +-
>>  tests/docker/dockerfiles/debian8.docker             | 3 +--
>>  tests/docker/dockerfiles/debian9.docker             | 2 +-
>>  tests/docker/dockerfiles/ubuntu.docker              | 2 +-
>>  tests/docker/dockerfiles/ubuntu1804.docker          | 2 +-
>>  9 files changed, 9 insertions(+), 10 deletions(-)
>>
>> diff --git a/tests/docker/dockerfiles/centos7.docker b/tests/docker/dockerfiles/centos7.docker
>> index e0b9d7dbe9..953637065c 100644
>> --- a/tests/docker/dockerfiles/centos7.docker
>> +++ b/tests/docker/dockerfiles/centos7.docker
>> @@ -25,6 +25,7 @@ ENV PACKAGES \
>>      nettle-devel \
>>      perl-Test-Harness \
>>      pixman-devel \
>> +    python3 \
> 
> Good, this gives us Python 3.6 (currently seeing package version
> 3.6.8-10.el7).
> 
>>      SDL-devel \
>>      spice-glib-devel \
>>      spice-server-devel \
>> @@ -34,4 +35,3 @@ ENV PACKAGES \
>>      zlib-devel
>>  RUN yum install -y $PACKAGES
>>  RUN rpm -q $PACKAGES | sort > /packages.txt
>> -
>> diff --git a/tests/docker/dockerfiles/debian-ports.docker b/tests/docker/dockerfiles/debian-ports.docker
>> index 61bc3f2993..f1ea8d3bd1 100644
>> --- a/tests/docker/dockerfiles/debian-ports.docker
>> +++ b/tests/docker/dockerfiles/debian-ports.docker
>> @@ -31,6 +31,6 @@ RUN apt-get update && \
>>          git \
>>          pkg-config \
>>          psmisc \
>> -        python \
>> +        python3 \
> 
> On my testing, Python 3.7.4-4 gets installed here at this time.
> 
> I wonder if this "unstable" distro can/will give us Python 3.8 in the
> near future and the consequences of that...  assuming that's a feature
> for now.
> 
>>          texinfo \
>>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
>> diff --git a/tests/docker/dockerfiles/debian-sid.docker b/tests/docker/dockerfiles/debian-sid.docker
>> index 2a1bcc33b2..dcb8e83715 100644
>> --- a/tests/docker/dockerfiles/debian-sid.docker
>> +++ b/tests/docker/dockerfiles/debian-sid.docker
>> @@ -31,5 +31,5 @@ RUN apt update && \
>>          git \
>>          pkg-config \
>>          psmisc \
>> -        python \
>> +        python3 \
> 
> Python 3.7.4-2 gets installed here.
> 
>>          texinfo || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }
>> diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
>> index b9c2e2e531..e6f93f65ee 100644
>> --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
>> @@ -18,7 +18,7 @@ RUN apt-get update && \
>>          flex \
>>          gettext \
>>          git \
>> -        python-minimal
>> +        python3-minimal
> 
> I'm getting Python 3.5.3-1+deb9u1 here, so it LGTM.
> 
>>  
>>  ENV CPU_LIST csp dc232b dc233c
>>  ENV TOOLCHAIN_RELEASE 2018.02
>> diff --git a/tests/docker/dockerfiles/debian10.docker b/tests/docker/dockerfiles/debian10.docker
>> index 30a78813f2..dad498b52e 100644
>> --- a/tests/docker/dockerfiles/debian10.docker
>> +++ b/tests/docker/dockerfiles/debian10.docker
>> @@ -26,7 +26,7 @@ RUN apt update && \
>>          git \
>>          pkg-config \
>>          psmisc \
>> -        python \
>> +        python3 \
> 
> Python 3.7.3-2 gets installed here on my testing.
> 
>>          python3-sphinx \
>>          texinfo \
>>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
>> diff --git a/tests/docker/dockerfiles/debian8.docker b/tests/docker/dockerfiles/debian8.docker
>> index 1212a85c35..be67023826 100644
>> --- a/tests/docker/dockerfiles/debian8.docker
>> +++ b/tests/docker/dockerfiles/debian8.docker
>> @@ -30,5 +30,4 @@ RUN apt update && \
>>          git \
>>          gnupg \
>>          pkg-config \
>> -        python-minimal
>> -
>> +        python3-minimal
> 
> This results in the Python package version 3.4.2-1+deb8u7 being
> installed, so it's *NOT* enough for the 3.5+ requirements.
> 
> I suppose it'd be time to retire those distros instead of updating
> them?

John remove this image at the end of the series.
I suggested him to reorder and remove it before this patch.

>> diff --git a/tests/docker/dockerfiles/debian9.docker b/tests/docker/dockerfiles/debian9.docker
>> index b36f1d4ed8..8cbd742bb5 100644
>> --- a/tests/docker/dockerfiles/debian9.docker
>> +++ b/tests/docker/dockerfiles/debian9.docker
>> @@ -26,7 +26,7 @@ RUN apt update && \
>>          git \
>>          pkg-config \
>>          psmisc \
>> -        python \
>> +        python3 \
> 
> Python 3.5.3-1+deb9u1 here, meeting the requirement.
> 
>>          python3-sphinx \
>>          texinfo \
>>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
>> diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker
>> index a4f601395c..f486492224 100644
>> --- a/tests/docker/dockerfiles/ubuntu.docker
>> +++ b/tests/docker/dockerfiles/ubuntu.docker
>> @@ -60,7 +60,7 @@ ENV PACKAGES flex bison \
>>      libvte-2.91-dev \
>>      libxen-dev \
>>      make \
>> -    python-yaml \
>> +    python3-yaml \
> 
> Python 3.7.3-2ubuntu0.1 gets installed here, meeting the requirement.
> 
>>      python3-sphinx \
>>      sparse \
>>      texinfo \
>> diff --git a/tests/docker/dockerfiles/ubuntu1804.docker b/tests/docker/dockerfiles/ubuntu1804.docker
>> index 883f9bcf31..3cc4f492c4 100644
>> --- a/tests/docker/dockerfiles/ubuntu1804.docker
>> +++ b/tests/docker/dockerfiles/ubuntu1804.docker
>> @@ -47,7 +47,7 @@ ENV PACKAGES flex bison \
>>      libvte-2.91-dev \
>>      libxen-dev \
>>      make \
>> -    python-yaml \
>> +    python3-yaml \
> 
> Not related to this patch, but the lack of an explicit python3 package
> line gets to me. :)
> 
> Anyway, this ends up pulling Python 3.6.7-1~18.04, so LGTM.
> 
>>      python3-sphinx \
>>      sparse \
>>      texinfo \
>> -- 
>> 2.21.0
>>
>>
> 
> The only issue I see here is what action to take with regards to
> debian8.docker.
> 
> - Cleber.
> 

Re: [PATCH] docker: move tests from python2 to python3
Posted by Cleber Rosa 4 years, 7 months ago
On Mon, Sep 23, 2019 at 04:57:50PM +0200, Philippe Mathieu-Daudé wrote:
> On 9/23/19 4:50 PM, Cleber Rosa wrote:
> > 
> > This results in the Python package version 3.4.2-1+deb8u7 being
> > installed, so it's *NOT* enough for the 3.5+ requirements.
> > 
> > I suppose it'd be time to retire those distros instead of updating
> > them?
> 
> John remove this image at the end of the series.
> I suggested him to reorder and remove it before this patch.
>

Yep, I now see v2.  Thanks!

- Cleber.

Re: [PATCH] docker: move tests from python2 to python3
Posted by John Snow 4 years, 7 months ago

On 9/23/19 10:50 AM, Cleber Rosa wrote:
> On Fri, Sep 20, 2019 at 04:00:49PM -0400, John Snow wrote:
>> As part of the push to drop python2 support, replace any explicit python2
>> dependencies with python3 versions.
>>
>> For centos, python2 still exists as an implicit dependency, but by adding
>> python3 we will be able to build even if the configure script begins to
>> require python 3.5+.
>>
>> Tested with centos7, fedora, ubuntu, ubuntu1804, and debian 9 (amd64).
>> Tested under a custom configure script that requires Python 3.5+.
>>
>> Signed-off-by: John Snow <jsnow@redhat.com>
>> ---
>>  tests/docker/dockerfiles/centos7.docker             | 2 +-
>>  tests/docker/dockerfiles/debian-ports.docker        | 2 +-
>>  tests/docker/dockerfiles/debian-sid.docker          | 2 +-
>>  tests/docker/dockerfiles/debian-xtensa-cross.docker | 2 +-
>>  tests/docker/dockerfiles/debian10.docker            | 2 +-
>>  tests/docker/dockerfiles/debian8.docker             | 3 +--
>>  tests/docker/dockerfiles/debian9.docker             | 2 +-
>>  tests/docker/dockerfiles/ubuntu.docker              | 2 +-
>>  tests/docker/dockerfiles/ubuntu1804.docker          | 2 +-
>>  9 files changed, 9 insertions(+), 10 deletions(-)
>>
>> diff --git a/tests/docker/dockerfiles/centos7.docker b/tests/docker/dockerfiles/centos7.docker
>> index e0b9d7dbe9..953637065c 100644
>> --- a/tests/docker/dockerfiles/centos7.docker
>> +++ b/tests/docker/dockerfiles/centos7.docker
>> @@ -25,6 +25,7 @@ ENV PACKAGES \
>>      nettle-devel \
>>      perl-Test-Harness \
>>      pixman-devel \
>> +    python3 \
> 
> Good, this gives us Python 3.6 (currently seeing package version
> 3.6.8-10.el7).
> 
>>      SDL-devel \
>>      spice-glib-devel \
>>      spice-server-devel \
>> @@ -34,4 +35,3 @@ ENV PACKAGES \
>>      zlib-devel
>>  RUN yum install -y $PACKAGES
>>  RUN rpm -q $PACKAGES | sort > /packages.txt
>> -
>> diff --git a/tests/docker/dockerfiles/debian-ports.docker b/tests/docker/dockerfiles/debian-ports.docker
>> index 61bc3f2993..f1ea8d3bd1 100644
>> --- a/tests/docker/dockerfiles/debian-ports.docker
>> +++ b/tests/docker/dockerfiles/debian-ports.docker
>> @@ -31,6 +31,6 @@ RUN apt-get update && \
>>          git \
>>          pkg-config \
>>          psmisc \
>> -        python \
>> +        python3 \
> 
> On my testing, Python 3.7.4-4 gets installed here at this time.
> 
> I wonder if this "unstable" distro can/will give us Python 3.8 in the
> near future and the consequences of that...  assuming that's a feature
> for now.
> 

I think it's effectively the point of using debian-sid, I'm not sure how
debian-ports differs.

I've encouraged Philippe to submit a testable target that uses the
debian-sid base so we can keep the partial image -- otherwise I want to
delete it as we can't build against it currently with the tools as they
exist in-tree.

>>          texinfo \
>>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
>> diff --git a/tests/docker/dockerfiles/debian-sid.docker b/tests/docker/dockerfiles/debian-sid.docker
>> index 2a1bcc33b2..dcb8e83715 100644
>> --- a/tests/docker/dockerfiles/debian-sid.docker
>> +++ b/tests/docker/dockerfiles/debian-sid.docker
>> @@ -31,5 +31,5 @@ RUN apt update && \
>>          git \
>>          pkg-config \
>>          psmisc \
>> -        python \
>> +        python3 \
> 
> Python 3.7.4-2 gets installed here.
> 
>>          texinfo || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }
>> diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
>> index b9c2e2e531..e6f93f65ee 100644
>> --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
>> @@ -18,7 +18,7 @@ RUN apt-get update && \
>>          flex \
>>          gettext \
>>          git \
>> -        python-minimal
>> +        python3-minimal
> 
> I'm getting Python 3.5.3-1+deb9u1 here, so it LGTM.
> 

Oh, that's actually a bit of a problem. I tested on 3.5+, but I think
some people want 3.6+.

I don't know much about Debian, but we either need to guarantee 3.6+ or
backtrack our plans to 3.5+.

>>  
>>  ENV CPU_LIST csp dc232b dc233c
>>  ENV TOOLCHAIN_RELEASE 2018.02
>> diff --git a/tests/docker/dockerfiles/debian10.docker b/tests/docker/dockerfiles/debian10.docker
>> index 30a78813f2..dad498b52e 100644
>> --- a/tests/docker/dockerfiles/debian10.docker
>> +++ b/tests/docker/dockerfiles/debian10.docker
>> @@ -26,7 +26,7 @@ RUN apt update && \
>>          git \
>>          pkg-config \
>>          psmisc \
>> -        python \
>> +        python3 \
> 
> Python 3.7.3-2 gets installed here on my testing.
> 
>>          python3-sphinx \
>>          texinfo \
>>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
>> diff --git a/tests/docker/dockerfiles/debian8.docker b/tests/docker/dockerfiles/debian8.docker
>> index 1212a85c35..be67023826 100644
>> --- a/tests/docker/dockerfiles/debian8.docker
>> +++ b/tests/docker/dockerfiles/debian8.docker
>> @@ -30,5 +30,4 @@ RUN apt update && \
>>          git \
>>          gnupg \
>>          pkg-config \
>> -        python-minimal
>> -
>> +        python3-minimal
> 
> This results in the Python package version 3.4.2-1+deb8u7 being
> installed, so it's *NOT* enough for the 3.5+ requirements.
> 
> I suppose it'd be time to retire those distros instead of updating
> them?
> 

Yup, we're dropping it, as you've seen in the other series.

>> diff --git a/tests/docker/dockerfiles/debian9.docker b/tests/docker/dockerfiles/debian9.docker
>> index b36f1d4ed8..8cbd742bb5 100644
>> --- a/tests/docker/dockerfiles/debian9.docker
>> +++ b/tests/docker/dockerfiles/debian9.docker
>> @@ -26,7 +26,7 @@ RUN apt update && \
>>          git \
>>          pkg-config \
>>          psmisc \
>> -        python \
>> +        python3 \
> 
> Python 3.5.3-1+deb9u1 here, meeting the requirement.
> 

Tch, okay.

>>          python3-sphinx \
>>          texinfo \
>>          $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  -f2)
>> diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker
>> index a4f601395c..f486492224 100644
>> --- a/tests/docker/dockerfiles/ubuntu.docker
>> +++ b/tests/docker/dockerfiles/ubuntu.docker
>> @@ -60,7 +60,7 @@ ENV PACKAGES flex bison \
>>      libvte-2.91-dev \
>>      libxen-dev \
>>      make \
>> -    python-yaml \
>> +    python3-yaml \
> 
> Python 3.7.3-2ubuntu0.1 gets installed here, meeting the requirement.
> 
>>      python3-sphinx \
>>      sparse \
>>      texinfo \
>> diff --git a/tests/docker/dockerfiles/ubuntu1804.docker b/tests/docker/dockerfiles/ubuntu1804.docker
>> index 883f9bcf31..3cc4f492c4 100644
>> --- a/tests/docker/dockerfiles/ubuntu1804.docker
>> +++ b/tests/docker/dockerfiles/ubuntu1804.docker
>> @@ -47,7 +47,7 @@ ENV PACKAGES flex bison \
>>      libvte-2.91-dev \
>>      libxen-dev \
>>      make \
>> -    python-yaml \
>> +    python3-yaml \
> 
> Not related to this patch, but the lack of an explicit python3 package
> line gets to me. :)
> 
> Anyway, this ends up pulling Python 3.6.7-1~18.04, so LGTM.
> 
>>      python3-sphinx \
>>      sparse \
>>      texinfo \
>> -- 
>> 2.21.0
>>
>>
> 
> The only issue I see here is what action to take with regards to
> debian8.docker.
> 
> - Cleber.
> 

Thanks for the review!

Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by Eduardo Habkost 4 years, 7 months ago
On Mon, Sep 23, 2019 at 01:19:41PM -0400, John Snow wrote:
> On 9/23/19 10:50 AM, Cleber Rosa wrote:
[...]
> >> diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
> >> index b9c2e2e531..e6f93f65ee 100644
> >> --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
> >> +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
> >> @@ -18,7 +18,7 @@ RUN apt-get update && \
> >>          flex \
> >>          gettext \
> >>          git \
> >> -        python-minimal
> >> +        python3-minimal
> > 
> > I'm getting Python 3.5.3-1+deb9u1 here, so it LGTM.
> > 
> 
> Oh, that's actually a bit of a problem. I tested on 3.5+, but I think
> some people want 3.6+.
> 
> I don't know much about Debian, but we either need to guarantee 3.6+ or
> backtrack our plans to 3.5+.

Good catch.  I forgot we were going to keep 3.5 support because
of Debian 9.

Now, I'd like to clarify what the wording on our supported build
platforms documentation is supposed to mean for Debian.

The document says:

] For distributions with frequent, short-lifetime releases, the project will
] aim to support all versions that are not end of life by their respective
] vendors. For the purposes of identifying supported software versions, the
] project will look at Fedora, Ubuntu, and openSUSE distros. Other short-
] lifetime distros will be assumed to ship similar software versions.
] 
] For distributions with long-lifetime releases, the project will aim to support
] the most recent major version at all times. Support for the previous major
] version will be dropped 2 years after the new major version is released. For
] the purposes of identifying supported software versions, the project will look
] at RHEL, Debian, Ubuntu LTS, and SLES distros. Other long-lifetime distros will
] be assumed to ship similar software versions.

Debian 10 was released in July 2019.  Are we really willing to
support Debian 9 as a supported build platform until July 2021?
The Debian Project itself won't support Debian 9 after July 2020.

Even for other long-lifetime distros, I really think "2 years
after the new major version is released" is too long, and I'd
like to shorten this to 1 year.

-- 
Eduardo

Re: Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by John Snow 4 years, 7 months ago

On 9/23/19 3:05 PM, Eduardo Habkost wrote:
> On Mon, Sep 23, 2019 at 01:19:41PM -0400, John Snow wrote:
>> On 9/23/19 10:50 AM, Cleber Rosa wrote:
> [...]
>>>> diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
>>>> index b9c2e2e531..e6f93f65ee 100644
>>>> --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
>>>> +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
>>>> @@ -18,7 +18,7 @@ RUN apt-get update && \
>>>>          flex \
>>>>          gettext \
>>>>          git \
>>>> -        python-minimal
>>>> +        python3-minimal
>>>
>>> I'm getting Python 3.5.3-1+deb9u1 here, so it LGTM.
>>>
>>
>> Oh, that's actually a bit of a problem. I tested on 3.5+, but I think
>> some people want 3.6+.
>>
>> I don't know much about Debian, but we either need to guarantee 3.6+ or
>> backtrack our plans to 3.5+.
> 
> Good catch.  I forgot we were going to keep 3.5 support because
> of Debian 9.
> 
> Now, I'd like to clarify what the wording on our supported build
> platforms documentation is supposed to mean for Debian.
> 
> The document says:
> 
> ] For distributions with frequent, short-lifetime releases, the project will
> ] aim to support all versions that are not end of life by their respective
> ] vendors. For the purposes of identifying supported software versions, the
> ] project will look at Fedora, Ubuntu, and openSUSE distros. Other short-
> ] lifetime distros will be assumed to ship similar software versions.
> ] 

Fedora has a release every 6-9 months, and averages a support lifetime
of a little over a year, and never more than two years.

Debian releases once every two years since 2005, and has a support cycle
that averages about 3 years. (Notably, this means a release reaches EOL
one year after the next release.)

Ubuntu releases every six months, with support for just eight months.

OpenSUSE has a release about every year or so; support is presently 18
months.

> ] For distributions with long-lifetime releases, the project will aim to support
> ] the most recent major version at all times. Support for the previous major
> ] version will be dropped 2 years after the new major version is released. For
> ] the purposes of identifying supported software versions, the project will look
> ] at RHEL, Debian, Ubuntu LTS, and SLES distros. Other long-lifetime distros will
> ] be assumed to ship similar software versions.
> 

Here's an enumeration of supported long-lifetime build platforms as
interpreted from the above text; using standard end-of-service dates
(EOS) when available in preference to EOL dates for special support
contracts.

RHEL6: 2010 - 2016 [EOS: 2021]
RHEL7: 2014 - 2021 [EOS: 2024+]
RHEL8: 2019 - ??   [EOS: 2029+]

Ubuntu 14.04 LTS: 2014-04 -- 2018-04 [EOS: 2019-04]
Ubuntu 16.04 LTS: 2016-04 -- 2020-04 [EOS: 2021-04]
Ubuntu 18.04 LTS: 2018-04 -- 2022-04 [EOS: 2023-04]
Ubuntu 20.04 LTS: 2020-04 -- 2024-04 [EOS: 2025?]

SLES 11: 2009 - 2016 [EOS: 2019]
SLES 12: 2014 - 2020 [EOS: 2024]
SLES 15: 2018 - ~2024? [EOS: 2028]

Debian 8: 2015 - 2019 [EOL: 2018]
Debian 9: 2017 - 2021 [EOL: ~2020]
Debian 10: 2019 - ~2023? [EOL: ~2022]

Whoops, our proclaimed support for Debian indeed carries on after its
EOL by an entire year.

> Debian 10 was released in July 2019.  Are we really willing to
> support Debian 9 as a supported build platform until July 2021?
> The Debian Project itself won't support Debian 9 after July 2020.
> 
> Even for other long-lifetime distros, I really think "2 years
> after the new major version is released" is too long, and I'd
> like to shorten this to 1 year.
> 

Two years for Debian feels too long, but one year for things like RHEL
feels too short.

We could treat Debian more like a "short cycle" distro in terms of our
policy -- it stands out amongst the other long-term distros with its
relatively short support lifespans.


I'd recommend something like the following:

For both enterprise distributions (Ubuntu LTS, RHEL, SLES) AND community
distributions (Ubuntu Interim, Debian Stable, Fedora, OpenSUSE); QEMU
will support previous releases for two years, until the end of standard
service, or until EOL, whichever occurs first.

In practice: this means 2 years for old versions of SLES, RHEL and
Ubuntu LTS, but we expire alongside EOL for Debian, Fedora, Ubuntu
(Interim), and OpenSUSE.

... Or, more or less, it would be like treating Debian as a short-cycle
project instead of a long-cycle one under our current rules.

--js

Re: Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by Daniel P. Berrangé 4 years, 7 months ago
On Mon, Sep 23, 2019 at 04:05:33PM -0300, Eduardo Habkost wrote:
> On Mon, Sep 23, 2019 at 01:19:41PM -0400, John Snow wrote:
> > On 9/23/19 10:50 AM, Cleber Rosa wrote:
> [...]
> > >> diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
> > >> index b9c2e2e531..e6f93f65ee 100644
> > >> --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
> > >> +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
> > >> @@ -18,7 +18,7 @@ RUN apt-get update && \
> > >>          flex \
> > >>          gettext \
> > >>          git \
> > >> -        python-minimal
> > >> +        python3-minimal
> > > 
> > > I'm getting Python 3.5.3-1+deb9u1 here, so it LGTM.
> > > 
> > 
> > Oh, that's actually a bit of a problem. I tested on 3.5+, but I think
> > some people want 3.6+.
> > 
> > I don't know much about Debian, but we either need to guarantee 3.6+ or
> > backtrack our plans to 3.5+.
> 
> Good catch.  I forgot we were going to keep 3.5 support because
> of Debian 9.
> 
> Now, I'd like to clarify what the wording on our supported build
> platforms documentation is supposed to mean for Debian.
> 
> The document says:
> 
> ] For distributions with frequent, short-lifetime releases, the project will
> ] aim to support all versions that are not end of life by their respective
> ] vendors. For the purposes of identifying supported software versions, the
> ] project will look at Fedora, Ubuntu, and openSUSE distros. Other short-
> ] lifetime distros will be assumed to ship similar software versions.
> ] 
> ] For distributions with long-lifetime releases, the project will aim to support
> ] the most recent major version at all times. Support for the previous major
> ] version will be dropped 2 years after the new major version is released. For
> ] the purposes of identifying supported software versions, the project will look
> ] at RHEL, Debian, Ubuntu LTS, and SLES distros. Other long-lifetime distros will
> ] be assumed to ship similar software versions.
> 
> Debian 10 was released in July 2019.  Are we really willing to
> support Debian 9 as a supported build platform until July 2021?
> The Debian Project itself won't support Debian 9 after July 2020.

This is an oversight on my part - I didn't realize Debian releases
were supported for such a short time in parallel.

There should be a general statement that, no matter what else the
policy states, we do *NOT* support any distro that has been end of
life by its vendor.

> Even for other long-lifetime distros, I really think "2 years
> after the new major version is released" is too long, and I'd
> like to shorten this to 1 year.

I guess this is ok, since this. is still quite a long life time of
support for distros. eg RHEL has a 3-4 year gap between major
releases, that gives 4-5 years for each release being supported by
QEMU. Other LTS distros are similar

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

Re: Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by Daniel P. Berrangé 4 years, 7 months ago
On Tue, Sep 24, 2019 at 08:35:13AM +0100, Daniel P. Berrangé wrote:
> On Mon, Sep 23, 2019 at 04:05:33PM -0300, Eduardo Habkost wrote:
> > On Mon, Sep 23, 2019 at 01:19:41PM -0400, John Snow wrote:
> > > On 9/23/19 10:50 AM, Cleber Rosa wrote:
> > [...]
> > > >> diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
> > > >> index b9c2e2e531..e6f93f65ee 100644
> > > >> --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
> > > >> +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
> > > >> @@ -18,7 +18,7 @@ RUN apt-get update && \
> > > >>          flex \
> > > >>          gettext \
> > > >>          git \
> > > >> -        python-minimal
> > > >> +        python3-minimal
> > > > 
> > > > I'm getting Python 3.5.3-1+deb9u1 here, so it LGTM.
> > > > 
> > > 
> > > Oh, that's actually a bit of a problem. I tested on 3.5+, but I think
> > > some people want 3.6+.
> > > 
> > > I don't know much about Debian, but we either need to guarantee 3.6+ or
> > > backtrack our plans to 3.5+.
> > 
> > Good catch.  I forgot we were going to keep 3.5 support because
> > of Debian 9.
> > 
> > Now, I'd like to clarify what the wording on our supported build
> > platforms documentation is supposed to mean for Debian.
> > 
> > The document says:
> > 
> > ] For distributions with frequent, short-lifetime releases, the project will
> > ] aim to support all versions that are not end of life by their respective
> > ] vendors. For the purposes of identifying supported software versions, the
> > ] project will look at Fedora, Ubuntu, and openSUSE distros. Other short-
> > ] lifetime distros will be assumed to ship similar software versions.
> > ] 
> > ] For distributions with long-lifetime releases, the project will aim to support
> > ] the most recent major version at all times. Support for the previous major
> > ] version will be dropped 2 years after the new major version is released. For
> > ] the purposes of identifying supported software versions, the project will look
> > ] at RHEL, Debian, Ubuntu LTS, and SLES distros. Other long-lifetime distros will
> > ] be assumed to ship similar software versions.
> > 
> > Debian 10 was released in July 2019.  Are we really willing to
> > support Debian 9 as a supported build platform until July 2021?
> > The Debian Project itself won't support Debian 9 after July 2020.
> 
> This is an oversight on my part - I didn't realize Debian releases
> were supported for such a short time in parallel.
> 
> There should be a general statement that, no matter what else the
> policy states, we do *NOT* support any distro that has been end of
> life by its vendor.
> 
> > Even for other long-lifetime distros, I really think "2 years
> > after the new major version is released" is too long, and I'd
> > like to shorten this to 1 year.
> 
> I guess this is ok, since this. is still quite a long life time of
> support for distros. eg RHEL has a 3-4 year gap between major
> releases, that gives 4-5 years for each release being supported by
> QEMU. Other LTS distros are similar

Having said that, in the past we did have some pushback from people who
were staying on Ubuntu LTS releases for quite a long time, which influenced
the decision to have a 2 year overlap. In practice that hopefully isn't too
big a problem, as support for the other LTS distros probably means Ubuntu
LTS will work ok regardless for 2 releases.

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

Re: Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by Eduardo Habkost 4 years, 7 months ago
On Tue, Sep 24, 2019 at 08:35:13AM +0100, Daniel P. Berrangé wrote:
> On Mon, Sep 23, 2019 at 04:05:33PM -0300, Eduardo Habkost wrote:
[...]
> > Even for other long-lifetime distros, I really think "2 years
> > after the new major version is released" is too long, and I'd
> > like to shorten this to 1 year.
> 
> I guess this is ok, since this. is still quite a long life time of
> support for distros. eg RHEL has a 3-4 year gap between major
> releases, that gives 4-5 years for each release being supported by
> QEMU. Other LTS distros are similar

Do you mean the 2 years period is OK (and shouldn't be changed),
or that shortening it to 1 year is OK?

-- 
Eduardo

Re: Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by Daniel P. Berrangé 4 years, 7 months ago
On Wed, Sep 25, 2019 at 05:04:40PM -0300, Eduardo Habkost wrote:
> On Tue, Sep 24, 2019 at 08:35:13AM +0100, Daniel P. Berrangé wrote:
> > On Mon, Sep 23, 2019 at 04:05:33PM -0300, Eduardo Habkost wrote:
> [...]
> > > Even for other long-lifetime distros, I really think "2 years
> > > after the new major version is released" is too long, and I'd
> > > like to shorten this to 1 year.
> > 
> > I guess this is ok, since this. is still quite a long life time of
> > support for distros. eg RHEL has a 3-4 year gap between major
> > releases, that gives 4-5 years for each release being supported by
> > QEMU. Other LTS distros are similar
> 
> Do you mean the 2 years period is OK (and shouldn't be changed),
> or that shortening it to 1 year is OK?

When first wording the lifetimes, I tried to strike a balance between
limiting what we have to support, while also not negatively impacting
a large number of QEMU developers or users. Since we had never had
such support lifetimes declared for QEMU before, I was fairly generous,
hence picking the 2 year overlap for LTS distros (Ubuntu, RHEL and
SLES).

It is easier to come to a decision when considering a real world tech
problem related to the lifetime. 

The start of this thread was debating Debian / Python support. If we
fix the doc to put debian under the short life distro category, we'll
have solved the Python problem IIUC.

Then I'd suggest we just leave LTS distros as a 2 year overlap until
we hit some technical problem that is caused by needing the 2 year
overlap. That way we can consider the cost/benefit in more real terms.


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

Re: Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by Peter Maydell 4 years, 7 months ago
On Thu, 26 Sep 2019 at 12:58, Daniel P. Berrangé <berrange@redhat.com> wrote:
> When first wording the lifetimes, I tried to strike a balance between
> limiting what we have to support, while also not negatively impacting
> a large number of QEMU developers or users. Since we had never had
> such support lifetimes declared for QEMU before, I was fairly generous,
> hence picking the 2 year overlap for LTS distros (Ubuntu, RHEL and
> SLES).
>
> It is easier to come to a decision when considering a real world tech
> problem related to the lifetime.
>
> The start of this thread was debating Debian / Python support. If we
> fix the doc to put debian under the short life distro category, we'll
> have solved the Python problem IIUC.

I don't think Debian counts as a distro "with frequent, short-lifetime
releases", though.

Stating overall that we don't intend to support distro versions
that the distro themselves doesn't support ought to be sufficient,
shouldn't it?

In general, my view is that if we bump up against any of these
support-lifetime limits then we're being too eager to drop
support for something from QEMU and we should prefer to retain
support for a while longer. I like and think that it's important
that QEMU as a project does not live on the bleeding-edge and
require latest-and-greatest versions of its dependencies to build.

thanks
-- PMM

Re: Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by Daniel P. Berrangé 4 years, 7 months ago
On Thu, Sep 26, 2019 at 01:18:35PM +0100, Peter Maydell wrote:
> On Thu, 26 Sep 2019 at 12:58, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > When first wording the lifetimes, I tried to strike a balance between
> > limiting what we have to support, while also not negatively impacting
> > a large number of QEMU developers or users. Since we had never had
> > such support lifetimes declared for QEMU before, I was fairly generous,
> > hence picking the 2 year overlap for LTS distros (Ubuntu, RHEL and
> > SLES).
> >
> > It is easier to come to a decision when considering a real world tech
> > problem related to the lifetime.
> >
> > The start of this thread was debating Debian / Python support. If we
> > fix the doc to put debian under the short life distro category, we'll
> > have solved the Python problem IIUC.
> 
> I don't think Debian counts as a distro "with frequent, short-lifetime
> releases", though.

It is kind of in the middle ground between the short 6 month frequency
releases, and the long 3+ year major releases

> Stating overall that we don't intend to support distro versions
> that the distro themselves doesn't support ought to be sufficient,
> shouldn't it?

Yeah, that at least addresses the python question.

> In general, my view is that if we bump up against any of these
> support-lifetime limits then we're being too eager to drop
> support for something from QEMU and we should prefer to retain
> support for a while longer. I like and think that it's important
> that QEMU as a project does not live on the bleeding-edge and
> require latest-and-greatest versions of its dependencies to build.

Yeah, there's certainly a balance to be hit. If we only rarely have
to debate problems with desired min versions vs distros, and users
rarely complain that we're dropping stuff too soon, then that's a
sign we've got the balance about right.

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

Re: Debian support lifetime (was Re: [PATCH] docker: move tests from python2 to python3)
Posted by John Snow 4 years, 7 months ago

On 9/26/19 7:58 AM, Daniel P. Berrangé wrote:
> On Wed, Sep 25, 2019 at 05:04:40PM -0300, Eduardo Habkost wrote:
>> On Tue, Sep 24, 2019 at 08:35:13AM +0100, Daniel P. Berrangé wrote:
>>> On Mon, Sep 23, 2019 at 04:05:33PM -0300, Eduardo Habkost wrote:
>> [...]
>>>> Even for other long-lifetime distros, I really think "2 years
>>>> after the new major version is released" is too long, and I'd
>>>> like to shorten this to 1 year.
>>>
>>> I guess this is ok, since this. is still quite a long life time of
>>> support for distros. eg RHEL has a 3-4 year gap between major
>>> releases, that gives 4-5 years for each release being supported by
>>> QEMU. Other LTS distros are similar
>>
>> Do you mean the 2 years period is OK (and shouldn't be changed),
>> or that shortening it to 1 year is OK?
> 
> When first wording the lifetimes, I tried to strike a balance between
> limiting what we have to support, while also not negatively impacting
> a large number of QEMU developers or users. Since we had never had
> such support lifetimes declared for QEMU before, I was fairly generous,
> hence picking the 2 year overlap for LTS distros (Ubuntu, RHEL and
> SLES).
> 
> It is easier to come to a decision when considering a real world tech
> problem related to the lifetime. 
> 
> The start of this thread was debating Debian / Python support. If we
> fix the doc to put debian under the short life distro category, we'll
> have solved the Python problem IIUC.
> 

As I laid out in an earlier reply -- that's one solution. It seems to
cover our current cases adequately.

The other, equally viable solution, is not to consider an artificial
divide between long and short cycle distros, and simply say "Releases
are supported for two years after the following major release, or until
EOL, whichever comes first."

This gives us the same end effect, but is simpler to follow, easy to
understand, and avoids classification difficulties.

$0.02

> Then I'd suggest we just leave LTS distros as a 2 year overlap until
> we hit some technical problem that is caused by needing the 2 year
> overlap. That way we can consider the cost/benefit in more real terms.
> 
> 
> Regards,
> Daniel
> 

Re: [PATCH] docker: move tests from python2 to python3
Posted by Eduardo Habkost 4 years, 7 months ago
On Fri, Sep 20, 2019 at 04:00:49PM -0400, John Snow wrote:
> As part of the push to drop python2 support, replace any explicit python2
> dependencies with python3 versions.
> 
> For centos, python2 still exists as an implicit dependency, but by adding
> python3 we will be able to build even if the configure script begins to
> require python 3.5+.
> 
> Tested with centos7, fedora, ubuntu, ubuntu1804, and debian 9 (amd64).
> Tested under a custom configure script that requires Python 3.5+.
> 
> Signed-off-by: John Snow <jsnow@redhat.com>

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

-- 
Eduardo