[libvirt-ci PATCH 0/6] guests: more projects defined for GitLab CI containers

The changes here enable GitLab CI container builds for ruby-libvirt, libvirt-java, libvirt-csharp, libvirt-publican and libvirt-appdev-guide-python projects. It also fixes a problem with the libvirt-php build missing packages if "libvirt+devel" project is not enabled. Daniel P. Berrangé (6): guests: add ruby-libvirt project packages guests: add libvirt-java project packages guests: add libvirt-csharp project packages guests: pull in the full JDK, not merely the JRE guests: include libxml2 explicitly for libvirt-php guests: add libvirt-publican and libvirt-appdev-guide-python projects guests/vars/mappings.yml | 50 ++++++++++++++++++- .../projects/libvirt-appdev-guide-python.yml | 3 ++ guests/vars/projects/libvirt-csharp.yml | 4 ++ guests/vars/projects/libvirt-java.yml | 7 +++ guests/vars/projects/libvirt-php.yml | 1 + guests/vars/projects/libvirt-publican.yml | 3 ++ guests/vars/projects/libvirt-ruby.yml | 5 ++ 7 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 guests/vars/projects/libvirt-appdev-guide-python.yml create mode 100644 guests/vars/projects/libvirt-csharp.yml create mode 100644 guests/vars/projects/libvirt-java.yml create mode 100644 guests/vars/projects/libvirt-publican.yml create mode 100644 guests/vars/projects/libvirt-ruby.yml -- 2.26.2

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 12 ++++++++++++ guests/vars/projects/libvirt-ruby.yml | 5 +++++ 2 files changed, 17 insertions(+) create mode 100644 guests/vars/projects/libvirt-ruby.yml diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 51f47b2..b33c498 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -936,6 +936,10 @@ mappings: radvd: default: radvd + rake: + default: rubygem-rake + deb: rake + readline: deb: libreadline-dev pkg: readline @@ -951,6 +955,11 @@ mappings: rpmbuild: rpm: rpm-build + ruby: + default: ruby + deb: ruby-dev + rpm: ruby-devel + rust: default: rust deb: rustc @@ -1065,6 +1074,9 @@ mappings: FreeBSD: OpenSUSE: + zip: + default: zip + zlib: deb: zlib1g-dev rpm: zlib-devel diff --git a/guests/vars/projects/libvirt-ruby.yml b/guests/vars/projects/libvirt-ruby.yml new file mode 100644 index 0000000..34c1797 --- /dev/null +++ b/guests/vars/projects/libvirt-ruby.yml @@ -0,0 +1,5 @@ +--- +packages: + - rake + - ruby + - zip -- 2.26.2

On Mon, 2020-05-11 at 18:22 +0100, Daniel P. Berrangé wrote:
+ ruby: + default: ruby + deb: ruby-dev + rpm: ruby-devel
This should be ruby: deb: ruby-dev pkg: ruby rpm: ruby-devel With that changed, Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

CentOS 8 lacks ant-junit / junit, at least in its default available repos. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 18 ++++++++++++++++++ guests/vars/projects/libvirt-java.yml | 7 +++++++ 2 files changed, 25 insertions(+) create mode 100644 guests/vars/projects/libvirt-java.yml diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index b33c498..31b5318 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -73,6 +73,20 @@ mappings: OpenSUSE: libapparmor-devel cross-policy-deb: foreign + ant: + default: ant + pkg: apache-ant + + ant-junit: + default: ant-junit + deb: ant-optional + CentOS8: + pkg: + + junit: + default: junit + CentOS8: + augeas: default: augeas deb: augeas-tools @@ -279,6 +293,10 @@ mappings: rpm: java-11-openjdk-headless Debian9: openjdk-8-jre-headless + jna: + default: jna + deb: libjna-java + json-glib: deb: libjson-glib-dev pkg: json-glib diff --git a/guests/vars/projects/libvirt-java.yml b/guests/vars/projects/libvirt-java.yml new file mode 100644 index 0000000..7832b4b --- /dev/null +++ b/guests/vars/projects/libvirt-java.yml @@ -0,0 +1,7 @@ +--- +packages: + - ant + - ant-junit + - java + - jna + - junit -- 2.26.2

On Mon, 2020-05-11 at 18:22 +0100, Daniel P. Berrangé wrote:
+ ant-junit: + default: ant-junit + deb: ant-optional + CentOS8: + pkg:
It looks like FreeBSD has the required bits after all: $ pkg list apache-ant | grep -i -E 'junit.*jar' /usr/local/share/java/apache-ant/lib/ant-junit.jar /usr/local/share/java/apache-ant/lib/ant-junit4.jar /usr/local/share/java/apache-ant/lib/ant-junitlauncher.jar so I think this should be ant-junit: deb: ant-optional pkg: apache-ant rpm: ant-junit CentOS8: Assuming I'm correct, with that changed, Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

On Thu, May 14, 2020 at 05:40:56PM +0200, Andrea Bolognani wrote:
On Mon, 2020-05-11 at 18:22 +0100, Daniel P. Berrangé wrote:
+ ant-junit: + default: ant-junit + deb: ant-optional + CentOS8: + pkg:
It looks like FreeBSD has the required bits after all:
$ pkg list apache-ant | grep -i -E 'junit.*jar' /usr/local/share/java/apache-ant/lib/ant-junit.jar /usr/local/share/java/apache-ant/lib/ant-junit4.jar /usr/local/share/java/apache-ant/lib/ant-junitlauncher.jar
Oh yes, that's 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 :|

Debian 10 dropped mono support, and it isn't present in CentOS or FreeBSD. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 10 ++++++++++ guests/vars/projects/libvirt-csharp.yml | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 guests/vars/projects/libvirt-csharp.yml diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 31b5318..c3b8488 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -688,6 +688,16 @@ mappings: default: kmod FreeBSD: + mono: + default: + Fedora: mono-devel + Debian9: mono-devel + + monodevelop: + default: + Fedora: monodevelop + Debian9: monodevelop + nano: default: nano diff --git a/guests/vars/projects/libvirt-csharp.yml b/guests/vars/projects/libvirt-csharp.yml new file mode 100644 index 0000000..85598b5 --- /dev/null +++ b/guests/vars/projects/libvirt-csharp.yml @@ -0,0 +1,4 @@ +--- +packages: + - mono + - monodevelop -- 2.26.2

On Mon, 2020-05-11 at 18:22 +0100, Daniel P. Berrangé wrote:
+ mono: + default: + Fedora: mono-devel + Debian9: mono-devel + + monodevelop: + default: + Fedora: monodevelop + Debian9: monodevelop
You don't need the 'default' entries. With those removed, Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

The libvirt-java binding needs the JDK to build successfully, as that provides the compiler. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index c3b8488..3135afd 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -288,10 +288,10 @@ mappings: OpenSUSE: mkisofs java: - deb: openjdk-11-jre-headless + deb: openjdk-11-jdk-headless pkg: openjdk11 rpm: java-11-openjdk-headless - Debian9: openjdk-8-jre-headless + Debian9: openjdk-8-jdk-headless jna: default: jna -- 2.26.2

On Mon, 2020-05-11 at 18:22 +0100, Daniel P. Berrangé wrote:
The libvirt-java binding needs the JDK to build successfully, as that provides the compiler.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

Some platforms pull in libxml2 indirectly, but since libvirt-php needs it, we should list it explicitly. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/projects/libvirt-php.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/guests/vars/projects/libvirt-php.yml b/guests/vars/projects/libvirt-php.yml index c911dc6..aff7049 100644 --- a/guests/vars/projects/libvirt-php.yml +++ b/guests/vars/projects/libvirt-php.yml @@ -1,5 +1,6 @@ --- packages: + - libxml2 - php - php-imagick - xmllint -- 2.26.2

On Mon, 2020-05-11 at 18:22 +0100, Daniel P. Berrangé wrote:
Some platforms pull in libxml2 indirectly, but since libvirt-php needs it, we should list it explicitly.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/projects/libvirt-php.yml | 1 + 1 file changed, 1 insertion(+)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

The former provides a publican brand, while the latter provides the developer guide for the Python API. We want to use these to publish the docs in GitLab CI. The toolchain isn't available for FreeBSD, OpenSUSE, or CentOS 8. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 6 ++++++ guests/vars/projects/libvirt-appdev-guide-python.yml | 3 +++ guests/vars/projects/libvirt-publican.yml | 3 +++ 3 files changed, 12 insertions(+) create mode 100644 guests/vars/projects/libvirt-appdev-guide-python.yml create mode 100644 guests/vars/projects/libvirt-publican.yml diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 3135afd..4b63b94 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -889,6 +889,12 @@ mappings: OpenSUSE: libpulse-devel cross-policy-deb: foreign + publican: + default: publican + OpenSUSE: + CentOS8: + pkg: + python3-docutils: default: python3-docutils FreeBSD: py37-docutils diff --git a/guests/vars/projects/libvirt-appdev-guide-python.yml b/guests/vars/projects/libvirt-appdev-guide-python.yml new file mode 100644 index 0000000..85f54bf --- /dev/null +++ b/guests/vars/projects/libvirt-appdev-guide-python.yml @@ -0,0 +1,3 @@ +--- +packages: + - publican diff --git a/guests/vars/projects/libvirt-publican.yml b/guests/vars/projects/libvirt-publican.yml new file mode 100644 index 0000000..85f54bf --- /dev/null +++ b/guests/vars/projects/libvirt-publican.yml @@ -0,0 +1,3 @@ +--- +packages: + - publican -- 2.26.2

On Mon, 2020-05-11 at 18:22 +0100, Daniel P. Berrangé wrote:
+ publican: + default: publican + OpenSUSE: + CentOS8: + pkg:
This should be publican: default: publican pkg: OpenSUSE: CentOS8: With that fixed, Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization
participants (2)
-
Andrea Bolognani
-
Daniel P. Berrangé