[Qemu-devel] [PATCH] docker: fedora: test more components

Paolo Bonzini posted 1 patch 6 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1520942752-19449-1-git-send-email-pbonzini@redhat.com
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test docker-quick@centos6 passed
Test s390x passed
tests/docker/dockerfiles/fedora.docker | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
[Qemu-devel] [PATCH] docker: fedora: test more components
Posted by Paolo Bonzini 6 years ago
Install optional dependencies of QEMU to get better coverage.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/docker/dockerfiles/fedora.docker | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 994a35a..0d9da45 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -1,9 +1,16 @@
 FROM fedora:27
 ENV PACKAGES \
     ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \
-    glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
-    gcc gcc-c++ clang make perl which bc findutils libaio-devel \
-    nettle-devel libasan libubsan \
+    gcc gcc-c++ clang make perl which bc findutils glib2-devel \
+    libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan \
+    bluez-libs-devel brlapi-devel bzip2-devel \
+    device-mapper-multipath-devel glusterfs-api-devel gnutls-devel \
+    gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel \
+    libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel \
+    libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel \
+    numactl-devel SDL2-devel snappy-devel spice-server-devel \
+    systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel \
+    xen-devel \
     mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
     mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
     mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \
-- 
1.8.3.1


Re: [Qemu-devel] [PATCH] docker: fedora: test more components
Posted by Fam Zheng 6 years ago
On Tue, 03/13 13:05, Paolo Bonzini wrote:
> Install optional dependencies of QEMU to get better coverage.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  tests/docker/dockerfiles/fedora.docker | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
> index 994a35a..0d9da45 100644
> --- a/tests/docker/dockerfiles/fedora.docker
> +++ b/tests/docker/dockerfiles/fedora.docker
> @@ -1,9 +1,16 @@
>  FROM fedora:27
>  ENV PACKAGES \
>      ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \
> -    glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
> -    gcc gcc-c++ clang make perl which bc findutils libaio-devel \
> -    nettle-devel libasan libubsan \
> +    gcc gcc-c++ clang make perl which bc findutils glib2-devel \
> +    libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan \
> +    bluez-libs-devel brlapi-devel bzip2-devel \
> +    device-mapper-multipath-devel glusterfs-api-devel gnutls-devel \
> +    gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel \
> +    libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel \
> +    libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel \
> +    numactl-devel SDL2-devel snappy-devel spice-server-devel \
> +    systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel \
> +    xen-devel \
>      mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
>      mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
>      mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \
> -- 
> 1.8.3.1
> 

Queued, thanks. (Conflicts with Marc-Andre's "d8204b57c5 tests: make
docker-test-debug@fedora run sanitizers" but easy enough to resolve.)

Fam

Re: [Qemu-devel] [PATCH] docker: fedora: test more components
Posted by Philippe Mathieu-Daudé 6 years ago
On 03/13/2018 01:33 PM, Fam Zheng wrote:
> On Tue, 03/13 13:05, Paolo Bonzini wrote:
>> Install optional dependencies of QEMU to get better coverage.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>>  tests/docker/dockerfiles/fedora.docker | 13 ++++++++++---
>>  1 file changed, 10 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
>> index 994a35a..0d9da45 100644
>> --- a/tests/docker/dockerfiles/fedora.docker
>> +++ b/tests/docker/dockerfiles/fedora.docker
>> @@ -1,9 +1,16 @@
>>  FROM fedora:27
>>  ENV PACKAGES \
>>      ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \
>> -    glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
>> -    gcc gcc-c++ clang make perl which bc findutils libaio-devel \
>> -    nettle-devel libasan libubsan \
>> +    gcc gcc-c++ clang make perl which bc findutils glib2-devel \
>> +    libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan \
>> +    bluez-libs-devel brlapi-devel bzip2-devel \
>> +    device-mapper-multipath-devel glusterfs-api-devel gnutls-devel \
>> +    gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel \
>> +    libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel \
>> +    libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel \
>> +    numactl-devel SDL2-devel snappy-devel spice-server-devel \
>> +    systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel \
>> +    xen-devel \
>>      mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
>>      mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
>>      mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \
>> -- 
>> 1.8.3.1
>>
> 
> Queued, thanks. (Conflicts with Marc-Andre's "d8204b57c5 tests: make
> docker-test-debug@fedora run sanitizers" but easy enough to resolve.)

This is why I prefer one single package per line (like the Debian
Dockerfiles) so the diff is easier to review, and there is no merge
conflict (no performance penalty neither).

"sort dockerfiles" added to my 2.13 TODO.

Re: [Qemu-devel] [PATCH] docker: fedora: test more components
Posted by Daniel P. Berrangé 6 years ago
On Tue, Mar 13, 2018 at 01:05:52PM +0100, Paolo Bonzini wrote:
> Install optional dependencies of QEMU to get better coverage.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  tests/docker/dockerfiles/fedora.docker | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
> index 994a35a..0d9da45 100644
> --- a/tests/docker/dockerfiles/fedora.docker
> +++ b/tests/docker/dockerfiles/fedora.docker
> @@ -1,9 +1,16 @@
>  FROM fedora:27
>  ENV PACKAGES \
>      ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \
> -    glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
> -    gcc gcc-c++ clang make perl which bc findutils libaio-devel \
> -    nettle-devel libasan libubsan \
> +    gcc gcc-c++ clang make perl which bc findutils glib2-devel \
> +    libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan \
> +    bluez-libs-devel brlapi-devel bzip2-devel \
> +    device-mapper-multipath-devel glusterfs-api-devel gnutls-devel \
> +    gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel \
> +    libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel \
> +    libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel \
> +    numactl-devel SDL2-devel snappy-devel spice-server-devel \
> +    systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel \
> +    xen-devel \

This still has some notable differences from the build deps we use in
formal Fedora QEMU RPMs. I think we have missing:

   alsa-lib-devel
   capstone-devel
   cyrus-sasl-devel
   glusterfs-devel
   libcacard-devel
   libepoxy-devel
   libiscsi-devel
   libnfs-devel
   librdmacm-devel
   libseccomp-devel
   libtasn1-devel
   libuuid-devel
   mesa-libgbm-devel
   perl-podlators
   pulseaudio-libs-devel
   systemd-devel
   texinfo
   vte291-devel


Some extra bits that are not needed:

  glib2-devel is not required as gtk3-devel pulls it in
  nettle-devel is not required as gnutls-devel puls it in
  
  nss-devel shouldn't be used by anything in QEMU - we use gnutls
  
  vte3-devel is obsoleted by vte291-devel

>      mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
>      mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
>      mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \

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: [Qemu-devel] [PATCH] docker: fedora: test more components
Posted by Fam Zheng 6 years ago
On Thu, 03/15 14:47, Daniel P. Berrangé wrote:
> On Tue, Mar 13, 2018 at 01:05:52PM +0100, Paolo Bonzini wrote:
> > Install optional dependencies of QEMU to get better coverage.
> > 
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > ---
> >  tests/docker/dockerfiles/fedora.docker | 13 ++++++++++---
> >  1 file changed, 10 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
> > index 994a35a..0d9da45 100644
> > --- a/tests/docker/dockerfiles/fedora.docker
> > +++ b/tests/docker/dockerfiles/fedora.docker
> > @@ -1,9 +1,16 @@
> >  FROM fedora:27
> >  ENV PACKAGES \
> >      ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \
> > -    glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
> > -    gcc gcc-c++ clang make perl which bc findutils libaio-devel \
> > -    nettle-devel libasan libubsan \
> > +    gcc gcc-c++ clang make perl which bc findutils glib2-devel \
> > +    libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan \
> > +    bluez-libs-devel brlapi-devel bzip2-devel \
> > +    device-mapper-multipath-devel glusterfs-api-devel gnutls-devel \
> > +    gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel \
> > +    libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel \
> > +    libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel \
> > +    numactl-devel SDL2-devel snappy-devel spice-server-devel \
> > +    systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel \
> > +    xen-devel \
> 
> This still has some notable differences from the build deps we use in
> formal Fedora QEMU RPMs. I think we have missing:
> 
>    alsa-lib-devel
>    capstone-devel
>    cyrus-sasl-devel
>    glusterfs-devel
>    libcacard-devel
>    libepoxy-devel
>    libiscsi-devel
>    libnfs-devel
>    librdmacm-devel
>    libseccomp-devel
>    libtasn1-devel
>    libuuid-devel
>    mesa-libgbm-devel
>    perl-podlators
>    pulseaudio-libs-devel
>    systemd-devel
>    texinfo
>    vte291-devel

I wonder if we should simply do "dnf build-dep qemu" and only list additional
(mingw, for example) packages explicitly, like the debian dockerfiles.

Fam

> 
> 
> Some extra bits that are not needed:
> 
>   glib2-devel is not required as gtk3-devel pulls it in
>   nettle-devel is not required as gnutls-devel puls it in
>   
>   nss-devel shouldn't be used by anything in QEMU - we use gnutls
>   
>   vte3-devel is obsoleted by vte291-devel
> 
> >      mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
> >      mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
> >      mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \
> 
> 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: [Qemu-devel] [PATCH] docker: fedora: test more components
Posted by Daniel P. Berrangé 6 years ago
On Fri, Mar 16, 2018 at 10:40:23AM +0800, Fam Zheng wrote:
> On Thu, 03/15 14:47, Daniel P. Berrangé wrote:
> > On Tue, Mar 13, 2018 at 01:05:52PM +0100, Paolo Bonzini wrote:
> > > Install optional dependencies of QEMU to get better coverage.
> > > 
> > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > > ---
> > >  tests/docker/dockerfiles/fedora.docker | 13 ++++++++++---
> > >  1 file changed, 10 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
> > > index 994a35a..0d9da45 100644
> > > --- a/tests/docker/dockerfiles/fedora.docker
> > > +++ b/tests/docker/dockerfiles/fedora.docker
> > > @@ -1,9 +1,16 @@
> > >  FROM fedora:27
> > >  ENV PACKAGES \
> > >      ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \
> > > -    glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
> > > -    gcc gcc-c++ clang make perl which bc findutils libaio-devel \
> > > -    nettle-devel libasan libubsan \
> > > +    gcc gcc-c++ clang make perl which bc findutils glib2-devel \
> > > +    libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan \
> > > +    bluez-libs-devel brlapi-devel bzip2-devel \
> > > +    device-mapper-multipath-devel glusterfs-api-devel gnutls-devel \
> > > +    gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel \
> > > +    libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel \
> > > +    libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel \
> > > +    numactl-devel SDL2-devel snappy-devel spice-server-devel \
> > > +    systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel \
> > > +    xen-devel \
> > 
> > This still has some notable differences from the build deps we use in
> > formal Fedora QEMU RPMs. I think we have missing:
> > 
> >    alsa-lib-devel
> >    capstone-devel
> >    cyrus-sasl-devel
> >    glusterfs-devel
> >    libcacard-devel
> >    libepoxy-devel
> >    libiscsi-devel
> >    libnfs-devel
> >    librdmacm-devel
> >    libseccomp-devel
> >    libtasn1-devel
> >    libuuid-devel
> >    mesa-libgbm-devel
> >    perl-podlators
> >    pulseaudio-libs-devel
> >    systemd-devel
> >    texinfo
> >    vte291-devel
> 
> I wonder if we should simply do "dnf build-dep qemu" and only list additional
> (mingw, for example) packages explicitly, like the debian dockerfiles.

From an upstream POV it feels wrong to have our builds depend on the state
of stuff listed in the Fedora RPM spec file, as we don't want changes in
Fedora to randomly break QEMU upstream CI. 

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: [Qemu-devel] [PATCH] docker: fedora: test more components
Posted by Paolo Bonzini 6 years ago
On 16/03/2018 10:43, Daniel P. Berrangé wrote:
>> I wonder if we should simply do "dnf build-dep qemu" and only list additional
>> (mingw, for example) packages explicitly, like the debian dockerfiles.
> From an upstream POV it feels wrong to have our builds depend on the state
> of stuff listed in the Fedora RPM spec file, as we don't want changes in
> Fedora to randomly break QEMU upstream CI. 

I agree---I'll send v2 of this patch.

Paolo