guests/host_vars/libvirt-fedora-rawhide/main.yml | 2 ++ guests/vars/mappings.yml | 6 ++++++ guests/vars/projects/libosinfo+mingw.yml | 8 ++++++++ guests/vars/projects/osinfo-db-tools+mingw.yml | 10 ++++++++++ projects/libosinfo.yaml | 12 ++++++++++++ projects/osinfo-db-tools.yaml | 12 ++++++++++++ 6 files changed, 50 insertions(+) create mode 100644 guests/vars/projects/libosinfo+mingw.yml create mode 100644 guests/vars/projects/osinfo-db-tools+mingw.yml
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
guests/host_vars/libvirt-fedora-rawhide/main.yml | 2 ++
guests/vars/mappings.yml | 6 ++++++
guests/vars/projects/libosinfo+mingw.yml | 8 ++++++++
guests/vars/projects/osinfo-db-tools+mingw.yml | 10 ++++++++++
projects/libosinfo.yaml | 12 ++++++++++++
projects/osinfo-db-tools.yaml | 12 ++++++++++++
6 files changed, 50 insertions(+)
create mode 100644 guests/vars/projects/libosinfo+mingw.yml
create mode 100644 guests/vars/projects/osinfo-db-tools+mingw.yml
diff --git a/guests/host_vars/libvirt-fedora-rawhide/main.yml b/guests/host_vars/libvirt-fedora-rawhide/main.yml
index 43555d0..82d46e8 100644
--- a/guests/host_vars/libvirt-fedora-rawhide/main.yml
+++ b/guests/host_vars/libvirt-fedora-rawhide/main.yml
@@ -4,6 +4,7 @@ PYTHONPATH: $VIRT_PREFIX/lib64/python3.6/site-packages
projects:
- libosinfo
+ - libosinfo+mingw
- libvirt
- libvirt+mingw
- libvirt-cim
@@ -18,6 +19,7 @@ projects:
- libvirt-tck
- osinfo-db
- osinfo-db-tools
+ - osinfo-db-tools+mingw
- virt-manager
- virt-viewer
- virt-viewer+mingw
diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml
index f1777fe..3e33bf1 100644
--- a/guests/vars/mappings.yml
+++ b/guests/vars/mappings.yml
@@ -368,6 +368,9 @@ mappings:
mingw32-gtk-vnc2:
FedoraRawhide: mingw32-gtk-vnc2
+ mingw32-libarchive:
+ FedoraRawhide: mingw32-libarchive
+
mingw32-libgovirt:
FedoraRawhide: mingw32-libgovirt
@@ -437,6 +440,9 @@ mappings:
mingw64-gtk-vnc2:
FedoraRawhide: mingw64-gtk-vnc2
+ mingw64-libarchive:
+ FedoraRawhide: mingw64-libarchive
+
mingw64-libgovirt:
FedoraRawhide: mingw64-libgovirt
diff --git a/guests/vars/projects/libosinfo+mingw.yml b/guests/vars/projects/libosinfo+mingw.yml
new file mode 100644
index 0000000..e3fc3cb
--- /dev/null
+++ b/guests/vars/projects/libosinfo+mingw.yml
@@ -0,0 +1,8 @@
+---
+packages:
+ - mingw32-glib2
+ - mingw32-libxml2
+ - mingw32-libxslt
+ - mingw64-glib2
+ - mingw64-libxml2
+ - mingw64-libxslt
diff --git a/guests/vars/projects/osinfo-db-tools+mingw.yml b/guests/vars/projects/osinfo-db-tools+mingw.yml
new file mode 100644
index 0000000..578e185
--- /dev/null
+++ b/guests/vars/projects/osinfo-db-tools+mingw.yml
@@ -0,0 +1,10 @@
+---
+packages:
+ - mingw32-glib2
+ - mingw32-libxml2
+ - mingw32-libxslt
+ - mingw32-libarchive
+ - mingw64-glib2
+ - mingw64-libxml2
+ - mingw64-libxslt
+ - mingw64-libarchive
diff --git a/projects/libosinfo.yaml b/projects/libosinfo.yaml
index 0d25447..8e3d105 100644
--- a/projects/libosinfo.yaml
+++ b/projects/libosinfo.yaml
@@ -13,3 +13,15 @@
- autotools-rpm-job:
parent_jobs: 'libosinfo-master-check'
machines: '{rpm_machines}'
+ - autotools-build-job:
+ parent_jobs: 'osinfo-db-tools-master-build-mingw32'
+ variant: -mingw32
+ local_env: '{mingw32_local_env}'
+ autogen_args: '{mingw32_autogen_args}'
+ machines: '{mingw_machines}'
+ - autotools-build-job:
+ parent_jobs: 'osinfo-db-tools-master-build-mingw64'
+ variant: -mingw64
+ local_env: '{mingw64_local_env}'
+ autogen_args: '{mingw64_autogen_args}'
+ machines: '{mingw_machines}'
diff --git a/projects/osinfo-db-tools.yaml b/projects/osinfo-db-tools.yaml
index 6b451ef..cab85af 100644
--- a/projects/osinfo-db-tools.yaml
+++ b/projects/osinfo-db-tools.yaml
@@ -13,3 +13,15 @@
- autotools-rpm-job:
parent_jobs: 'osinfo-db-tools-master-check'
machines: '{rpm_machines}'
+ - autotools-build-job:
+ parent_jobs:
+ variant: -mingw32
+ local_env: '{mingw32_local_env}'
+ autogen_args: '{mingw32_autogen_args}'
+ machines: '{mingw_machines}'
+ - autotools-build-job:
+ parent_jobs:
+ variant: -mingw64
+ local_env: '{mingw64_local_env}'
+ autogen_args: '{mingw64_autogen_args}'
+ machines: '{mingw_machines}'
--
2.17.0
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, 2018-05-08 at 14:37 +0100, Daniel P. Berrangé wrote: > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > --- > guests/host_vars/libvirt-fedora-rawhide/main.yml | 2 ++ > guests/vars/mappings.yml | 6 ++++++ > guests/vars/projects/libosinfo+mingw.yml | 8 ++++++++ > guests/vars/projects/osinfo-db-tools+mingw.yml | 10 ++++++++++ > projects/libosinfo.yaml | 12 ++++++++++++ > projects/osinfo-db-tools.yaml | 12 ++++++++++++ > 6 files changed, 50 insertions(+) > create mode 100644 guests/vars/projects/libosinfo+mingw.yml > create mode 100644 guests/vars/projects/osinfo-db-tools+mingw.yml I was wondering why we didn't do this just the other day... Thanks for looking into it before I had a chance to :) > diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml > index f1777fe..3e33bf1 100644 > --- a/guests/vars/mappings.yml > +++ b/guests/vars/mappings.yml > @@ -368,6 +368,9 @@ mappings: > mingw32-gtk-vnc2: > FedoraRawhide: mingw32-gtk-vnc2 > > + mingw32-libarchive: > + FedoraRawhide: mingw32-libarchive > + > mingw32-libgovirt: > FedoraRawhide: mingw32-libgovirt > > @@ -437,6 +440,9 @@ mappings: > mingw64-gtk-vnc2: > FedoraRawhide: mingw64-gtk-vnc2 > > + mingw64-libarchive: > + FedoraRawhide: mingw64-libarchive > + > mingw64-libgovirt: > FedoraRawhide: mingw64-libgovirt > You also need mingw32-libxslt: FedoraRawhide: mingw32-libxslt mingw64-libxslt: FedoraRawhide: mingw64-libxslt here. > diff --git a/projects/libosinfo.yaml b/projects/libosinfo.yaml > index 0d25447..8e3d105 100644 > --- a/projects/libosinfo.yaml > +++ b/projects/libosinfo.yaml > @@ -13,3 +13,15 @@ > - autotools-rpm-job: > parent_jobs: 'libosinfo-master-check' > machines: '{rpm_machines}' > + - autotools-build-job: > + parent_jobs: 'osinfo-db-tools-master-build-mingw32' > + variant: -mingw32 > + local_env: '{mingw32_local_env}' > + autogen_args: '{mingw32_autogen_args}' > + machines: '{mingw_machines}' > + - autotools-build-job: > + parent_jobs: 'osinfo-db-tools-master-build-mingw64' > + variant: -mingw64 > + local_env: '{mingw64_local_env}' > + autogen_args: '{mingw64_autogen_args}' > + machines: '{mingw_machines}' Unfortunately, this doesn't quite work: [...] checking for gtk-doc... no configure: WARNING: You will not be able to create source packages with 'make dist' because gtk-doc >= 1.10 is not found. checking for gtkdoc-check... gtkdoc-check.test checking for gtkdoc-check... /usr/bin/gtkdoc-check checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf checking whether to build gtk-doc documentation... yes configure: error: You must have gtk-doc >= 1.10 installed to build documentation for libosinfo. Please install gtk-doc or disable building the documentation by adding '--disable-gtk-doc' to './configure'. The problem is that we override both $PKG_CONFIG_PATH and $PKG_CONFIG_LIBDIR in {mingw*_local_env}, which causes pkg-config to only look for .pc files in MinGW's directories; on the other hand, the GTK_DOC_CHECK() macro also uses pkg-config to decide whether gtk-doc is available, and due to the overrides it can't locate the native .pc file and decides it's not there. The only reason we didn't run into this issue when enabling MinGW builds for libvirt-glib, which also uses gtk-doc, is that that project's autogen.sh doesn't explicitly enable gtk-doc support, while libosinfo's does: . gnome-autogen.sh --enable-gtk-doc "$@" I can see a few ways to address this: 1) make it so $PKG_CONFIG_PATH or $PKG_CONFIG_LIBDIR include the native pkg-config directories even when performing MinGW builds; 2) add --disable-gtk-doc or --enable-gtk-doc=check to {mingw*_autogen_args}, thus overriding the default hardcoded in libosinfo's autogen.sh; 3) change libosinfo's autogen.sh not to mandate gtk-doc for all builds. Option 3) looks like the best one to me, mostly because I think the default behavior of checking for gtk-doc's presence and decide whether to build the API reference based on that is more sane than forcing gtk-doc to be present; moreover, --enable-gtk-doc is already in $DISTCHECK_CONFIGURE_FLAGS and prepare-release.sh, so there's no risk of accidentally generating a release that doesn't contain the API reference. -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Wed, May 09, 2018 at 01:34:53PM +0200, Andrea Bolognani wrote: > On Tue, 2018-05-08 at 14:37 +0100, Daniel P. Berrangé wrote: > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > > --- > > guests/host_vars/libvirt-fedora-rawhide/main.yml | 2 ++ > > guests/vars/mappings.yml | 6 ++++++ > > guests/vars/projects/libosinfo+mingw.yml | 8 ++++++++ > > guests/vars/projects/osinfo-db-tools+mingw.yml | 10 ++++++++++ > > projects/libosinfo.yaml | 12 ++++++++++++ > > projects/osinfo-db-tools.yaml | 12 ++++++++++++ > > 6 files changed, 50 insertions(+) > > create mode 100644 guests/vars/projects/libosinfo+mingw.yml > > create mode 100644 guests/vars/projects/osinfo-db-tools+mingw.yml > > I was wondering why we didn't do this just the other day... > Thanks for looking into it before I had a chance to :) > > > diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml > > index f1777fe..3e33bf1 100644 > > --- a/guests/vars/mappings.yml > > +++ b/guests/vars/mappings.yml > > @@ -368,6 +368,9 @@ mappings: > > mingw32-gtk-vnc2: > > FedoraRawhide: mingw32-gtk-vnc2 > > > > + mingw32-libarchive: > > + FedoraRawhide: mingw32-libarchive > > + > > mingw32-libgovirt: > > FedoraRawhide: mingw32-libgovirt > > > > @@ -437,6 +440,9 @@ mappings: > > mingw64-gtk-vnc2: > > FedoraRawhide: mingw64-gtk-vnc2 > > > > + mingw64-libarchive: > > + FedoraRawhide: mingw64-libarchive > > + > > mingw64-libgovirt: > > FedoraRawhide: mingw64-libgovirt > > > > You also need > > mingw32-libxslt: > FedoraRawhide: mingw32-libxslt > > mingw64-libxslt: > FedoraRawhide: mingw64-libxslt > > here. Opps, i blindly assumed it was already there for libvirt > > > diff --git a/projects/libosinfo.yaml b/projects/libosinfo.yaml > > index 0d25447..8e3d105 100644 > > --- a/projects/libosinfo.yaml > > +++ b/projects/libosinfo.yaml > > @@ -13,3 +13,15 @@ > > - autotools-rpm-job: > > parent_jobs: 'libosinfo-master-check' > > machines: '{rpm_machines}' > > + - autotools-build-job: > > + parent_jobs: 'osinfo-db-tools-master-build-mingw32' > > + variant: -mingw32 > > + local_env: '{mingw32_local_env}' > > + autogen_args: '{mingw32_autogen_args}' > > + machines: '{mingw_machines}' > > + - autotools-build-job: > > + parent_jobs: 'osinfo-db-tools-master-build-mingw64' > > + variant: -mingw64 > > + local_env: '{mingw64_local_env}' > > + autogen_args: '{mingw64_autogen_args}' > > + machines: '{mingw_machines}' > > Unfortunately, this doesn't quite work: > > [...] > checking for gtk-doc... no > configure: WARNING: > You will not be able to create source packages with 'make dist' > because gtk-doc >= 1.10 is not found. > checking for gtkdoc-check... gtkdoc-check.test > checking for gtkdoc-check... /usr/bin/gtkdoc-check > checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase > checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf > checking whether to build gtk-doc documentation... yes > configure: error: > You must have gtk-doc >= 1.10 installed to build documentation for > libosinfo. Please install gtk-doc or disable building the > documentation by adding '--disable-gtk-doc' to './configure'. > > The problem is that we override both $PKG_CONFIG_PATH and > $PKG_CONFIG_LIBDIR in {mingw*_local_env}, which causes pkg-config > to only look for .pc files in MinGW's directories; on the other > hand, the GTK_DOC_CHECK() macro also uses pkg-config to decide > whether gtk-doc is available, and due to the overrides it can't > locate the native .pc file and decides it's not there. > > The only reason we didn't run into this issue when enabling MinGW > builds for libvirt-glib, which also uses gtk-doc, is that that > project's autogen.sh doesn't explicitly enable gtk-doc support, > while libosinfo's does: > > . gnome-autogen.sh --enable-gtk-doc "$@" > > I can see a few ways to address this: > > 1) make it so $PKG_CONFIG_PATH or $PKG_CONFIG_LIBDIR include > the native pkg-config directories even when performing MinGW > builds; > > 2) add --disable-gtk-doc or --enable-gtk-doc=check to > {mingw*_autogen_args}, thus overriding the default hardcoded > in libosinfo's autogen.sh; > > 3) change libosinfo's autogen.sh not to mandate gtk-doc for all > builds. > > Option 3) looks like the best one to me, mostly because I think > the default behavior of checking for gtk-doc's presence and decide > whether to build the API reference based on that is more sane than > forcing gtk-doc to be present; moreover, --enable-gtk-doc is > already in $DISTCHECK_CONFIGURE_FLAGS and prepare-release.sh, so > there's no risk of accidentally generating a release that doesn't > contain the API reference. Agreed - I looked back in history and it seems I added --enable-gtk-doc to autogen.sh right at start when integrating gtk-doc. There's no good reason given, and other projects work without this so lets remove it. 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
On Wed, 2018-05-09 at 12:39 +0100, Daniel P. Berrangé wrote: > On Wed, May 09, 2018 at 01:34:53PM +0200, Andrea Bolognani wrote: > > 3) change libosinfo's autogen.sh not to mandate gtk-doc for all > > builds. > > > > Option 3) looks like the best one to me, mostly because I think > > the default behavior of checking for gtk-doc's presence and decide > > whether to build the API reference based on that is more sane than > > forcing gtk-doc to be present; moreover, --enable-gtk-doc is > > already in $DISTCHECK_CONFIGURE_FLAGS and prepare-release.sh, so > > there's no risk of accidentally generating a release that doesn't > > contain the API reference. > > Agreed - I looked back in history and it seems I added --enable-gtk-doc > to autogen.sh right at start when integrating gtk-doc. There's no good > reason given, and other projects work without this so lets remove it. Cool, I'll post a patch then. With the libxslt entries squashed in, and after the patch getting rid of --enable-gtk-doc has been merged into libosinfo, 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
© 2016 - 2025 Red Hat, Inc.