[libvirt] [PATCH jenkins-ci 1/2] Enable mingw build for libvirt-glib project

Daniel P. Berrangé posted 2 patches 7 years, 1 month ago
[libvirt] [PATCH jenkins-ci 1/2] Enable mingw build for libvirt-glib project
Posted by Daniel P. Berrangé 7 years, 1 month ago
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 guests/vars/mappings.yml              | 6 ++++++
 guests/vars/projects/libvirt-glib.yml | 2 ++
 projects/libvirt-glib.yaml            | 4 ++++
 3 files changed, 12 insertions(+)

diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml
index e074648..f4eb4a2 100644
--- a/guests/vars/mappings.yml
+++ b/guests/vars/mappings.yml
@@ -343,6 +343,9 @@ mappings:
   mingw32-gettext:
     FedoraRawhide: mingw32-gettext
 
+  mingw32-glib2:
+    FedoraRawhide: mingw32-glib2
+
   mingw32-gnutls:
     FedoraRawhide: mingw32-gnutls
 
@@ -379,6 +382,9 @@ mappings:
   mingw64-gettext:
     FedoraRawhide: mingw64-gettext
 
+  mingw64-glib2:
+    FedoraRawhide: mingw64-glib2
+
   mingw64-gnutls:
     FedoraRawhide: mingw64-gnutls
 
diff --git a/guests/vars/projects/libvirt-glib.yml b/guests/vars/projects/libvirt-glib.yml
index 13a5128..bb21ae0 100644
--- a/guests/vars/projects/libvirt-glib.yml
+++ b/guests/vars/projects/libvirt-glib.yml
@@ -5,4 +5,6 @@ packages:
   - gtk-doc
   - intltool
   - libxml2
+  - mingw32-glib2
+  - mingw64-glib2
   - vala
diff --git a/projects/libvirt-glib.yaml b/projects/libvirt-glib.yaml
index 74f7642..3873c40 100644
--- a/projects/libvirt-glib.yaml
+++ b/projects/libvirt-glib.yaml
@@ -26,3 +26,7 @@
             - libvirt-fedora-26
             - libvirt-fedora-27
             - libvirt-fedora-rawhide
+      - autotools-mingw-job:
+          parent_jobs:
+          machines:
+            - libvirt-fedora-rawhide
-- 
2.14.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH jenkins-ci 1/2] Enable mingw build for libvirt-glib project
Posted by Andrea Bolognani 7 years, 1 month ago
On Thu, 2018-04-12 at 15:28 +0100, Daniel P. Berrangé wrote:
> diff --git a/guests/vars/projects/libvirt-glib.yml b/guests/vars/projects/libvirt-glib.yml
> index 13a5128..bb21ae0 100644
> --- a/guests/vars/projects/libvirt-glib.yml
> +++ b/guests/vars/projects/libvirt-glib.yml
> @@ -5,4 +5,6 @@ packages:
>    - gtk-doc
>    - intltool
>    - libxml2
> +  - mingw32-glib2
> +  - mingw64-glib2
>    - vala

You're missing a lot of packages here, probably because they are
already used for the libvirt MinGW build and you didn't reset your
test machine between builds, thus masking the issue.

The list of additional packages should look like:

  - mingw32-curl
  - mingw32-dbus
  - mingw32-dlfcn
  - mingw32-gcc
  - mingw32-gettext
  - mingw32-glib2
  - mingw32-gnutls
  - mingw32-libssh2
  - mingw32-libxml2
  - mingw32-pkg-config
  - mingw32-portablexdr
  - mingw64-curl
  - mingw64-dbus
  - mingw64-dlfcn
  - mingw64-gcc
  - mingw64-gettext
  - mingw64-glib2
  - mingw64-gnutls
  - mingw64-libssh2
  - mingw64-libxml2
  - mingw64-pkg-config
  - mingw64-portablexdr

With that fixed,

  Reviewed-by: Andrea Bolognani <abologna@redhat.com>

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH jenkins-ci 1/2] Enable mingw build for libvirt-glib project
Posted by Daniel P. Berrangé 7 years, 1 month ago
On Fri, Apr 13, 2018 at 02:17:45PM +0200, Andrea Bolognani wrote:
> On Thu, 2018-04-12 at 15:28 +0100, Daniel P. Berrangé wrote:
> > diff --git a/guests/vars/projects/libvirt-glib.yml b/guests/vars/projects/libvirt-glib.yml
> > index 13a5128..bb21ae0 100644
> > --- a/guests/vars/projects/libvirt-glib.yml
> > +++ b/guests/vars/projects/libvirt-glib.yml
> > @@ -5,4 +5,6 @@ packages:
> >    - gtk-doc
> >    - intltool
> >    - libxml2
> > +  - mingw32-glib2
> > +  - mingw64-glib2
> >    - vala
> 
> You're missing a lot of packages here, probably because they are
> already used for the libvirt MinGW build and you didn't reset your
> test machine between builds, thus masking the issue.

No I didn't miss them, I only listed stuff that's unique to
libvirt-glib - duplicating everything used by libvirt mingw
builds, under libvirt-glib mingw builds is not required, as
they're already present, and most are not even used by
libvirt-glib

> 
> The list of additional packages should look like:
> 
>   - mingw32-curl
>   - mingw32-dbus
>   - mingw32-dlfcn
>   - mingw32-gcc
>   - mingw32-gettext
>   - mingw32-glib2
>   - mingw32-gnutls
>   - mingw32-libssh2
>   - mingw32-libxml2
>   - mingw32-pkg-config
>   - mingw32-portablexdr
>   - mingw64-curl
>   - mingw64-dbus
>   - mingw64-dlfcn
>   - mingw64-gcc
>   - mingw64-gettext
>   - mingw64-glib2
>   - mingw64-gnutls
>   - mingw64-libssh2
>   - mingw64-libxml2
>   - mingw64-pkg-config
>   - mingw64-portablexdr



> 
> With that fixed,
> 
>   Reviewed-by: Andrea Bolognani <abologna@redhat.com>
> 
> -- 
> Andrea Bolognani / Red Hat / Virtualization

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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH jenkins-ci 1/2] Enable mingw build for libvirt-glib project
Posted by Andrea Bolognani 7 years, 1 month ago
On Fri, 2018-04-13 at 13:20 +0100, Daniel P. Berrangé wrote:
> On Fri, Apr 13, 2018 at 02:17:45PM +0200, Andrea Bolognani wrote:
> > On Thu, 2018-04-12 at 15:28 +0100, Daniel P. Berrangé wrote:
> > > diff --git a/guests/vars/projects/libvirt-glib.yml b/guests/vars/projects/libvirt-glib.yml
> > > index 13a5128..bb21ae0 100644
> > > --- a/guests/vars/projects/libvirt-glib.yml
> > > +++ b/guests/vars/projects/libvirt-glib.yml
> > > @@ -5,4 +5,6 @@ packages:
> > >    - gtk-doc
> > >    - intltool
> > >    - libxml2
> > > +  - mingw32-glib2
> > > +  - mingw64-glib2
> > >    - vala
> > 
> > You're missing a lot of packages here, probably because they are
> > already used for the libvirt MinGW build and you didn't reset your
> > test machine between builds, thus masking the issue.
> 
> No I didn't miss them, I only listed stuff that's unique to
> libvirt-glib - duplicating everything used by libvirt mingw
> builds, under libvirt-glib mingw builds is not required, as
> they're already present, and most are not even used by
> libvirt-glib
> 
> > 
> > The list of additional packages should look like:
> > 
> >   - mingw32-curl
> >   - mingw32-dbus
> >   - mingw32-dlfcn
> >   - mingw32-gcc
> >   - mingw32-gettext
> >   - mingw32-glib2
> >   - mingw32-gnutls
> >   - mingw32-libssh2
> >   - mingw32-libxml2
> >   - mingw32-pkg-config
> >   - mingw32-portablexdr
> >   - mingw64-curl
> >   - mingw64-dbus
> >   - mingw64-dlfcn
> >   - mingw64-gcc
> >   - mingw64-gettext
> >   - mingw64-glib2
> >   - mingw64-gnutls
> >   - mingw64-libssh2
> >   - mingw64-libxml2
> >   - mingw64-pkg-config
> >   - mingw64-portablexdr
> 
> 
> 
> > 
> > With that fixed,
> > 
> >   Reviewed-by: Andrea Bolognani <abologna@redhat.com>
> > 
> > -- 
> > Andrea Bolognani / Red Hat / Virtualization
> 
> Regards,
> Daniel
-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH jenkins-ci 1/2] Enable mingw build for libvirt-glib project
Posted by Andrea Bolognani 7 years, 1 month ago
On Fri, 2018-04-13 at 13:20 +0100, Daniel P. Berrangé wrote:
> On Fri, Apr 13, 2018 at 02:17:45PM +0200, Andrea Bolognani wrote:
> > On Thu, 2018-04-12 at 15:28 +0100, Daniel P. Berrangé wrote:
> > >    - gtk-doc
> > >    - intltool
> > >    - libxml2
> > > +  - mingw32-glib2
> > > +  - mingw64-glib2
> > >    - vala
> > 
> > You're missing a lot of packages here, probably because they are
> > already used for the libvirt MinGW build and you didn't reset your
> > test machine between builds, thus masking the issue.
> 
> No I didn't miss them, I only listed stuff that's unique to
> libvirt-glib - duplicating everything used by libvirt mingw
> builds, under libvirt-glib mingw builds is not required, as
> they're already present, and most are not even used by
> libvirt-glib

Hm, I guess I see where you're coming from.

One of the original ideas was that the dependencies listed here
would be as comprehensive as possible, so that you would be able
to skip building some parts of the stack (and installing the
corresponding build dependencies) if you were only interested in
higher-level projects such as virt-manager: in that case, you
would just install libvirt-python from the vendor repositories
and go ahead with your day.

I guess we haven't been very consistent with that, though, as
clearly shown by the fact that the list of requirements I offered
for the MinGW build is way bigger than that of the native build!

It's also unclear how useful being so strict about packages is,
and how realistic it is that we will get it right all of the
time :)

So perhaps a reasonable compromise is indeed not to list packages
again if one of the direct dependencies already needs them to
build: libvirt-glib would only list packages libvirt doesn't
already depend on, but there could be duplicates between libvirt
and libosinfo because neither depends on the other. That would
be much easier to get right.

tl;dr go ahead with your version of the patch, and I might have
      some other cleaning up to do later :)

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list