[libvirt] [jenkins-ci PATCH 0/6] Add support for gtk-vnc builds

Support gtk-vnc and make virt-viewer depend on it Daniel P. Berrangé (6): mappings: add libgcrypt native & mingw packages mappings: add pulseaudio libs for native packages projects: add gtk-vnc project projects: make virt-viewer depend on gtk-vnc jobs mappings: remove gtk-vnc2 native and mingw packages jobs: allow test-suite.log to exist anywhere guests/host_vars/libvirt-centos-7/main.yml | 1 + guests/host_vars/libvirt-debian-9/main.yml | 1 + guests/host_vars/libvirt-debian-sid/main.yml | 1 + guests/host_vars/libvirt-fedora-29/main.yml | 1 + guests/host_vars/libvirt-fedora-30/main.yml | 1 + .../host_vars/libvirt-fedora-rawhide/main.yml | 3 +++ guests/host_vars/libvirt-freebsd-11/main.yml | 1 + guests/host_vars/libvirt-freebsd-12/main.yml | 1 + .../libvirt-freebsd-current/main.yml | 1 + guests/host_vars/libvirt-ubuntu-18/main.yml | 1 + .../build/jobs/autotools-check-job.yml | 2 +- guests/playbooks/build/jobs/defaults.yml | 3 +++ .../build/projects/gtk-vnc+mingw32.yml | 12 +++++++++ .../build/projects/gtk-vnc+mingw64.yml | 12 +++++++++ guests/playbooks/build/projects/gtk-vnc.yml | 12 +++++++++ guests/vars/mappings.yml | 27 ++++++++++--------- guests/vars/projects/gtk-vnc+mingw32.yml | 6 +++++ guests/vars/projects/gtk-vnc+mingw64.yml | 6 +++++ guests/vars/projects/gtk-vnc.yml | 11 ++++++++ guests/vars/projects/virt-viewer+mingw32.yml | 1 - guests/vars/projects/virt-viewer+mingw64.yml | 1 - guests/vars/projects/virt-viewer.yml | 1 - jenkins/jobs/autotools.yaml | 2 +- jenkins/jobs/defaults.yaml | 3 +++ jenkins/projects/gtk-vnc+mingw32.yaml | 11 ++++++++ jenkins/projects/gtk-vnc+mingw64.yaml | 11 ++++++++ jenkins/projects/gtk-vnc.yaml | 15 +++++++++++ jenkins/projects/virt-viewer+mingw32.yaml | 4 ++- jenkins/projects/virt-viewer+mingw64.yaml | 4 ++- jenkins/projects/virt-viewer.yaml | 4 ++- 30 files changed, 140 insertions(+), 20 deletions(-) create mode 100644 guests/playbooks/build/projects/gtk-vnc+mingw32.yml create mode 100644 guests/playbooks/build/projects/gtk-vnc+mingw64.yml create mode 100644 guests/playbooks/build/projects/gtk-vnc.yml create mode 100644 guests/vars/projects/gtk-vnc+mingw32.yml create mode 100644 guests/vars/projects/gtk-vnc+mingw64.yml create mode 100644 guests/vars/projects/gtk-vnc.yml create mode 100644 jenkins/projects/gtk-vnc+mingw32.yaml create mode 100644 jenkins/projects/gtk-vnc+mingw64.yaml create mode 100644 jenkins/projects/gtk-vnc.yaml -- 2.21.0

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 98c0cc9..7cde719 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -319,6 +319,11 @@ mappings: rpm: dbus-devel cross-policy-deb: foreign + libgcrypt: + rpm: libgcrypt-devel + deb: libgcrypt20-dev + cross-policy-deb: foreign + libgovirt: rpm: libgovirt-devel Debian: libgovirt-dev @@ -481,6 +486,9 @@ mappings: mingw32-libarchive: FedoraRawhide: mingw32-libarchive + mingw32-libgcrypt: + FedoraRawhide: mingw32-libgcrypt + mingw32-libgovirt: FedoraRawhide: mingw32-libgovirt @@ -559,6 +567,9 @@ mappings: mingw64-libarchive: FedoraRawhide: mingw64-libarchive + mingw64-libgcrypt: + FedoraRawhide: mingw64-libgcrypt + mingw64-libgovirt: FedoraRawhide: mingw64-libgovirt -- 2.21.0

On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote:
Subject: mappings: add libgcrypt native & mingw packages
This can be simply mappings: Add libgcrypt [...]
+ libgcrypt: + rpm: libgcrypt-devel + deb: libgcrypt20-dev + cross-policy-deb: foreign
This should be libgcrypt: deb: libgcrypt20-dev pkg: libgcrypt rpm: libgcrypt-devel cross-policy-deb: foreign with FreeBSD taken into account and entries in the correct order. With that fixed, Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 7cde719..6347024 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -780,6 +780,10 @@ mappings: default: polkit deb: policykit-1 + pulseaudio: + rpm: pulseaudio-libs-devel + deb: libpulse-dev + python2: default: python Fedora: python2 -- 2.21.0

On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote:
Subject: mappings: add pulseaudio libs for native packages
Again, this can be mappings: Add PulseAudio [...]
+ pulseaudio: + rpm: pulseaudio-libs-devel + deb: libpulse-dev
Lines are not in alphabetical order. More importantly, shouldn't this have cross-policy-deb: foreign as well? Unrelated to this patch, but does our default of 'native' for cross-policy really make sense? Unless I'm mistaken, that's the value we need for tools rather than libraries, and in general projects depend on way more libraries than they do on tools, so perhaps it would make sense to make 'foreign' the default and use 'native' explicitly for tools only. -- Andrea Bolognani / Red Hat / Virtualization

On Thu, May 09, 2019 at 04:25:03PM +0200, Andrea Bolognani wrote:
On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote:
Subject: mappings: add pulseaudio libs for native packages
Again, this can be
mappings: Add PulseAudio
[...]
+ pulseaudio: + rpm: pulseaudio-libs-devel + deb: libpulse-dev
Lines are not in alphabetical order.
More importantly, shouldn't this have
cross-policy-deb: foreign
as well?
Unrelated to this patch, but does our default of 'native' for cross-policy really make sense? Unless I'm mistaken, that's the value we need for tools rather than libraries, and in general projects depend on way more libraries than they do on tools, so perhaps it would make sense to make 'foreign' the default and use 'native' explicitly for tools only.
'native' by default was done as it is the safe option. ie if you don't mark a package for foreign install, the container image will still build fine. If it was the reverse, then we'd get either errors from apt failing to resolve deps, or worse yet, it can even uninstall the native tool & add the foreign build which then won't work at runtime. 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 :|

On Thu, 2019-05-09 at 16:42 +0100, Daniel P. Berrangé wrote:
On Thu, May 09, 2019 at 04:25:03PM +0200, Andrea Bolognani wrote:
Unrelated to this patch, but does our default of 'native' for cross-policy really make sense? Unless I'm mistaken, that's the value we need for tools rather than libraries, and in general projects depend on way more libraries than they do on tools, so perhaps it would make sense to make 'foreign' the default and use 'native' explicitly for tools only.
'native' by default was done as it is the safe option. ie if you don't mark a package for foreign install, the container image will still build fine. If it was the reverse, then we'd get either errors from apt failing to resolve deps, or worse yet, it can even uninstall the native tool & add the foreign build which then won't work at runtime.
Have we actually tried that? Because the latter (replacing the native foreign one) would indeed be a problem, but the former (failure to resolve dependencies) would result in an error during container build and as such would be arguably a nice safety net in case we got the configuration wrong. Actually, in both cases outlined above we'll eventually get a failure, either at container build time or CI build time, whereas with the current default getting the value wrong might result in an optional dependency being silently ignored. So either way using 'foreign' as the default would possibly be an improvement. -- Andrea Bolognani / Red Hat / Virtualization

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/host_vars/libvirt-centos-7/main.yml | 1 + guests/host_vars/libvirt-debian-9/main.yml | 1 + guests/host_vars/libvirt-debian-sid/main.yml | 1 + guests/host_vars/libvirt-fedora-29/main.yml | 1 + guests/host_vars/libvirt-fedora-30/main.yml | 1 + guests/host_vars/libvirt-fedora-rawhide/main.yml | 3 +++ guests/host_vars/libvirt-freebsd-11/main.yml | 1 + guests/host_vars/libvirt-freebsd-12/main.yml | 1 + guests/host_vars/libvirt-freebsd-current/main.yml | 1 + guests/host_vars/libvirt-ubuntu-18/main.yml | 1 + guests/playbooks/build/jobs/defaults.yml | 2 ++ .../playbooks/build/projects/gtk-vnc+mingw32.yml | 12 ++++++++++++ .../playbooks/build/projects/gtk-vnc+mingw64.yml | 12 ++++++++++++ guests/playbooks/build/projects/gtk-vnc.yml | 12 ++++++++++++ guests/vars/projects/gtk-vnc+mingw32.yml | 6 ++++++ guests/vars/projects/gtk-vnc+mingw64.yml | 6 ++++++ guests/vars/projects/gtk-vnc.yml | 11 +++++++++++ jenkins/jobs/defaults.yaml | 2 ++ jenkins/projects/gtk-vnc+mingw32.yaml | 11 +++++++++++ jenkins/projects/gtk-vnc+mingw64.yaml | 11 +++++++++++ jenkins/projects/gtk-vnc.yaml | 15 +++++++++++++++ 21 files changed, 112 insertions(+) create mode 100644 guests/playbooks/build/projects/gtk-vnc+mingw32.yml create mode 100644 guests/playbooks/build/projects/gtk-vnc+mingw64.yml create mode 100644 guests/playbooks/build/projects/gtk-vnc.yml create mode 100644 guests/vars/projects/gtk-vnc+mingw32.yml create mode 100644 guests/vars/projects/gtk-vnc+mingw64.yml create mode 100644 guests/vars/projects/gtk-vnc.yml create mode 100644 jenkins/projects/gtk-vnc+mingw32.yaml create mode 100644 jenkins/projects/gtk-vnc+mingw64.yaml create mode 100644 jenkins/projects/gtk-vnc.yaml diff --git a/guests/host_vars/libvirt-centos-7/main.yml b/guests/host_vars/libvirt-centos-7/main.yml index fa4fc67..63e8501 100644 --- a/guests/host_vars/libvirt-centos-7/main.yml +++ b/guests/host_vars/libvirt-centos-7/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-cim diff --git a/guests/host_vars/libvirt-debian-9/main.yml b/guests/host_vars/libvirt-debian-9/main.yml index ec7e6b4..b2b0b4d 100644 --- a/guests/host_vars/libvirt-debian-9/main.yml +++ b/guests/host_vars/libvirt-debian-9/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/host_vars/libvirt-debian-sid/main.yml b/guests/host_vars/libvirt-debian-sid/main.yml index 1c7a29b..9c188cf 100644 --- a/guests/host_vars/libvirt-debian-sid/main.yml +++ b/guests/host_vars/libvirt-debian-sid/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/host_vars/libvirt-fedora-29/main.yml b/guests/host_vars/libvirt-fedora-29/main.yml index bebf171..bdff061 100644 --- a/guests/host_vars/libvirt-fedora-29/main.yml +++ b/guests/host_vars/libvirt-fedora-29/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-cim diff --git a/guests/host_vars/libvirt-fedora-30/main.yml b/guests/host_vars/libvirt-fedora-30/main.yml index 4ad27a6..bccc5fb 100644 --- a/guests/host_vars/libvirt-fedora-30/main.yml +++ b/guests/host_vars/libvirt-fedora-30/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-cim diff --git a/guests/host_vars/libvirt-fedora-rawhide/main.yml b/guests/host_vars/libvirt-fedora-rawhide/main.yml index ed0a3fa..9bd74e1 100644 --- a/guests/host_vars/libvirt-fedora-rawhide/main.yml +++ b/guests/host_vars/libvirt-fedora-rawhide/main.yml @@ -1,5 +1,8 @@ --- projects: + - gtk-vnc + - gtk-vnc+mingw32 + - gtk-vnc+mingw64 - libosinfo - libosinfo+mingw32 - libosinfo+mingw64 diff --git a/guests/host_vars/libvirt-freebsd-11/main.yml b/guests/host_vars/libvirt-freebsd-11/main.yml index ed805c9..0111b87 100644 --- a/guests/host_vars/libvirt-freebsd-11/main.yml +++ b/guests/host_vars/libvirt-freebsd-11/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/host_vars/libvirt-freebsd-12/main.yml b/guests/host_vars/libvirt-freebsd-12/main.yml index 8bbe158..0c2e352 100644 --- a/guests/host_vars/libvirt-freebsd-12/main.yml +++ b/guests/host_vars/libvirt-freebsd-12/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/host_vars/libvirt-freebsd-current/main.yml b/guests/host_vars/libvirt-freebsd-current/main.yml index 62498fd..a106ec0 100644 --- a/guests/host_vars/libvirt-freebsd-current/main.yml +++ b/guests/host_vars/libvirt-freebsd-current/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/host_vars/libvirt-ubuntu-18/main.yml b/guests/host_vars/libvirt-ubuntu-18/main.yml index bb465e8..ca8f53e 100644 --- a/guests/host_vars/libvirt-ubuntu-18/main.yml +++ b/guests/host_vars/libvirt-ubuntu-18/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/playbooks/build/jobs/defaults.yml b/guests/playbooks/build/jobs/defaults.yml index 9b0fe30..8a9eebc 100644 --- a/guests/playbooks/build/jobs/defaults.yml +++ b/guests/playbooks/build/jobs/defaults.yml @@ -38,6 +38,8 @@ mingw64_local_env: | export PKG_CONFIG_LIBDIR="/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig" mingw64_autogen_args: --host=x86_64-w64-mingw32 git_urls: + gtk-vnc: + default: https://gitlab.gnome.org/GNOME/gtk-vnc.git libosinfo: default: https://gitlab.com/libosinfo/libosinfo.git libvirt-cim: diff --git a/guests/playbooks/build/projects/gtk-vnc+mingw32.yml b/guests/playbooks/build/projects/gtk-vnc+mingw32.yml new file mode 100644 index 0000000..0f7c8f3 --- /dev/null +++ b/guests/playbooks/build/projects/gtk-vnc+mingw32.yml @@ -0,0 +1,12 @@ +--- +- set_fact: + name: gtk-vnc+mingw32 + machines: '{{ mingw_machines }}' + archive_format: gz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' + vars: + local_env: '{{ mingw32_local_env }}' + autogen_args: '{{ mingw32_autogen_args }}' diff --git a/guests/playbooks/build/projects/gtk-vnc+mingw64.yml b/guests/playbooks/build/projects/gtk-vnc+mingw64.yml new file mode 100644 index 0000000..1cbc75c --- /dev/null +++ b/guests/playbooks/build/projects/gtk-vnc+mingw64.yml @@ -0,0 +1,12 @@ +--- +- set_fact: + name: gtk-vnc+mingw64 + machines: '{{ mingw_machines }}' + archive_format: gz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' + vars: + local_env: '{{ mingw64_local_env }}' + autogen_args: '{{ mingw64_autogen_args }}' diff --git a/guests/playbooks/build/projects/gtk-vnc.yml b/guests/playbooks/build/projects/gtk-vnc.yml new file mode 100644 index 0000000..0c5e682 --- /dev/null +++ b/guests/playbooks/build/projects/gtk-vnc.yml @@ -0,0 +1,12 @@ +--- +- set_fact: + name: gtk-vnc + machines: '{{ all_machines }}' + archive_format: gz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' +- include: '{{ playbook_base }}/jobs/autotools-syntax-check-job.yml' +- include: '{{ playbook_base }}/jobs/autotools-check-job.yml' +- include: '{{ playbook_base }}/jobs/autotools-rpm-job.yml' diff --git a/guests/vars/projects/gtk-vnc+mingw32.yml b/guests/vars/projects/gtk-vnc+mingw32.yml new file mode 100644 index 0000000..e4967f9 --- /dev/null +++ b/guests/vars/projects/gtk-vnc+mingw32.yml @@ -0,0 +1,6 @@ +--- +packages: + - mingw32-glib2 + - mingw32-gnutls + - mingw32-gtk3 + - mingw32-libgcrypt diff --git a/guests/vars/projects/gtk-vnc+mingw64.yml b/guests/vars/projects/gtk-vnc+mingw64.yml new file mode 100644 index 0000000..c870014 --- /dev/null +++ b/guests/vars/projects/gtk-vnc+mingw64.yml @@ -0,0 +1,6 @@ +--- +packages: + - mingw64-glib2 + - mingw64-gnutls + - mingw64-gtk3 + - mingw64-libgcrypt diff --git a/guests/vars/projects/gtk-vnc.yml b/guests/vars/projects/gtk-vnc.yml new file mode 100644 index 0000000..5698a6f --- /dev/null +++ b/guests/vars/projects/gtk-vnc.yml @@ -0,0 +1,11 @@ +--- +packages: + - cyrus-sasl + - glib2 + - gnutls + - gobject-introspection + - gtk3 + - intltool + - libgcrypt + - pulseaudio + - vala diff --git a/jenkins/jobs/defaults.yaml b/jenkins/jobs/defaults.yaml index e5e4c16..7fb6d68 100644 --- a/jenkins/jobs/defaults.yaml +++ b/jenkins/jobs/defaults.yaml @@ -38,6 +38,8 @@ export PKG_CONFIG_LIBDIR="/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig" mingw64_autogen_args: --host=x86_64-w64-mingw32 git_urls: + gtk-vnc: + default: https://gitlab.gnome.org/GNOME/gtk-vnc.git libosinfo: default: https://gitlab.com/libosinfo/libosinfo.git libvirt-cim: diff --git a/jenkins/projects/gtk-vnc+mingw32.yaml b/jenkins/projects/gtk-vnc+mingw32.yaml new file mode 100644 index 0000000..ede09c6 --- /dev/null +++ b/jenkins/projects/gtk-vnc+mingw32.yaml @@ -0,0 +1,11 @@ +--- +- project: + name: gtk-vnc+mingw32 + machines: '{mingw_machines}' + title: GTK-VNC MinGW (32-bit) + archive_format: gz + git_url: '{git_urls[gtk-vnc][default]}' + jobs: + - autotools-build-job: + local_env: '{mingw32_local_env}' + autogen_args: '{mingw32_autogen_args}' diff --git a/jenkins/projects/gtk-vnc+mingw64.yaml b/jenkins/projects/gtk-vnc+mingw64.yaml new file mode 100644 index 0000000..5f00932 --- /dev/null +++ b/jenkins/projects/gtk-vnc+mingw64.yaml @@ -0,0 +1,11 @@ +--- +- project: + name: gtk-vnc+mingw64 + machines: '{mingw_machines}' + title: GTK-VNC MinGW (64-bit) + archive_format: gz + git_url: '{git_urls[gtk-vnc][default]}' + jobs: + - autotools-build-job: + local_env: '{mingw64_local_env}' + autogen_args: '{mingw64_autogen_args}' diff --git a/jenkins/projects/gtk-vnc.yaml b/jenkins/projects/gtk-vnc.yaml new file mode 100644 index 0000000..96f18c3 --- /dev/null +++ b/jenkins/projects/gtk-vnc.yaml @@ -0,0 +1,15 @@ +--- +- project: + name: gtk-vnc + machines: '{all_machines}' + title: GTK-VNC + archive_format: gz + git_url: '{git_urls[gtk-vnc][default]}' + jobs: + - autotools-build-job: + - autotools-syntax-check-job: + parent_jobs: 'gtk-vnc-build' + - autotools-check-job: + parent_jobs: 'gtk-vnc-syntax-check' + - autotools-rpm-job: + parent_jobs: 'gtk-vnc-check' -- 2.21.0

On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote: [...]
+++ b/guests/playbooks/build/projects/gtk-vnc.yml @@ -0,0 +1,12 @@ +--- +- set_fact: + name: gtk-vnc + machines: '{{ all_machines }}' + archive_format: gz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' +- include: '{{ playbook_base }}/jobs/autotools-syntax-check-job.yml' +- include: '{{ playbook_base }}/jobs/autotools-check-job.yml' +- include: '{{ playbook_base }}/jobs/autotools-rpm-job.yml'
You need to do - include: '{{ playbook_base }}/jobs/autotools-rpm-job.yml' vars: machines: '{{ rpm_machines }}' here, or it will try (and obviously fail) to build RPMs on Debian, Ubuntu and FreeBSD. Same for the Jenkins equivalent, of course. [...]
+++ b/guests/vars/projects/gtk-vnc.yml @@ -0,0 +1,11 @@ +--- +packages: + - cyrus-sasl + - glib2 + - gnutls + - gobject-introspection + - gtk3 + - intltool + - libgcrypt + - pulseaudio + - vala
Please split all changes to guests/vars/ and guests/host_vars/ off to a separate preparatory commit, similar to eg. 56c9e4a4b506. Everything else looks good. -- Andrea Bolognani / Red Hat / Virtualization

On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote:
+++ b/jenkins/projects/gtk-vnc.yaml @@ -0,0 +1,15 @@ +--- +- project: + name: gtk-vnc + machines: '{all_machines}' + title: GTK-VNC + archive_format: gz + git_url: '{git_urls[gtk-vnc][default]}' + jobs: + - autotools-build-job: + - autotools-syntax-check-job: + parent_jobs: 'gtk-vnc-build' + - autotools-check-job: + parent_jobs: 'gtk-vnc-syntax-check' + - autotools-rpm-job: + parent_jobs: 'gtk-vnc-check'
Actually you also need to make sure you have - autotools-build-job: parent_jobs: here and in the MinGW jobs, otherwise you'll make Jenkins Job Builder very unhappy. -- Andrea Bolognani / Red Hat / Virtualization

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/playbooks/build/jobs/defaults.yml | 1 + guests/vars/projects/virt-viewer+mingw32.yml | 1 - guests/vars/projects/virt-viewer+mingw64.yml | 1 - guests/vars/projects/virt-viewer.yml | 1 - jenkins/jobs/defaults.yaml | 1 + jenkins/projects/virt-viewer+mingw32.yaml | 4 +++- jenkins/projects/virt-viewer+mingw64.yaml | 4 +++- jenkins/projects/virt-viewer.yaml | 4 +++- 8 files changed, 11 insertions(+), 6 deletions(-) diff --git a/guests/playbooks/build/jobs/defaults.yml b/guests/playbooks/build/jobs/defaults.yml index 8a9eebc..f43ebd0 100644 --- a/guests/playbooks/build/jobs/defaults.yml +++ b/guests/playbooks/build/jobs/defaults.yml @@ -26,6 +26,7 @@ strip_buildrequires: | sed -i -e 's/BuildRequires: *libvirt.*//' *.spec* sed -i -e 's/BuildRequires: *osinfo-db.*//' *.spec* sed -i -e 's/BuildRequires: *perl(Sys::Virt).*//' *.spec* + sed -i -e 's/BuildRequires: *pkgconfig(gtk-vnc-.*).*//' *.spec* sed -i -e 's/BuildRequires: *pkgconfig(libvirt.*).*//' *.spec* mingw32_local_env: | export VIRT_PREFIX="$VIRT_PREFIX/i686-w64-mingw32/sys-root/mingw" diff --git a/guests/vars/projects/virt-viewer+mingw32.yml b/guests/vars/projects/virt-viewer+mingw32.yml index 2b914c3..608d722 100644 --- a/guests/vars/projects/virt-viewer+mingw32.yml +++ b/guests/vars/projects/virt-viewer+mingw32.yml @@ -6,7 +6,6 @@ packages: - mingw32-gstreamer1-plugins-bad-free - mingw32-gstreamer1-plugins-good - mingw32-gtk3 - - mingw32-gtk-vnc2 - mingw32-libgovirt - mingw32-libusbx - mingw32-rest diff --git a/guests/vars/projects/virt-viewer+mingw64.yml b/guests/vars/projects/virt-viewer+mingw64.yml index 6b42a7f..3aa5893 100644 --- a/guests/vars/projects/virt-viewer+mingw64.yml +++ b/guests/vars/projects/virt-viewer+mingw64.yml @@ -6,7 +6,6 @@ packages: - mingw64-gstreamer1-plugins-bad-free - mingw64-gstreamer1-plugins-good - mingw64-gtk3 - - mingw64-gtk-vnc2 - mingw64-libgovirt - mingw64-libusbx - mingw64-rest diff --git a/guests/vars/projects/virt-viewer.yml b/guests/vars/projects/virt-viewer.yml index cd32176..6ce638c 100644 --- a/guests/vars/projects/virt-viewer.yml +++ b/guests/vars/projects/virt-viewer.yml @@ -1,7 +1,6 @@ --- packages: - glib2 - - gtk-vnc2 - gtk3 - intltool - libgovirt diff --git a/jenkins/jobs/defaults.yaml b/jenkins/jobs/defaults.yaml index 7fb6d68..f3ba850 100644 --- a/jenkins/jobs/defaults.yaml +++ b/jenkins/jobs/defaults.yaml @@ -26,6 +26,7 @@ sed -i -e 's/BuildRequires: *libvirt.*//' *.spec* sed -i -e 's/BuildRequires: *osinfo-db.*//' *.spec* sed -i -e 's/BuildRequires: *perl(Sys::Virt).*//' *.spec* + sed -i -e 's/BuildRequires: *pkgconfig(gtk-vnc-.*).*//' *.spec* sed -i -e 's/BuildRequires: *pkgconfig(libvirt.*).*//' *.spec* mingw32_local_env: | export VIRT_PREFIX="$VIRT_PREFIX/i686-w64-mingw32/sys-root/mingw" diff --git a/jenkins/projects/virt-viewer+mingw32.yaml b/jenkins/projects/virt-viewer+mingw32.yaml index c9c74ea..7d4738a 100644 --- a/jenkins/projects/virt-viewer+mingw32.yaml +++ b/jenkins/projects/virt-viewer+mingw32.yaml @@ -7,6 +7,8 @@ git_url: '{git_urls[virt-viewer][default]}' jobs: - autotools-build-job: - parent_jobs: 'libvirt-glib+mingw32-build' + parent_jobs: + - 'libvirt-glib+mingw32-build' + - 'gtk-vnc+mingw32-build' local_env: '{mingw32_local_env}' autogen_args: '{mingw32_autogen_args}' diff --git a/jenkins/projects/virt-viewer+mingw64.yaml b/jenkins/projects/virt-viewer+mingw64.yaml index c3b570f..dfbd70d 100644 --- a/jenkins/projects/virt-viewer+mingw64.yaml +++ b/jenkins/projects/virt-viewer+mingw64.yaml @@ -7,6 +7,8 @@ git_url: '{git_urls[virt-viewer][default]}' jobs: - autotools-build-job: - parent_jobs: 'libvirt-glib+mingw64-build' + parent_jobs: + - 'libvirt-glib+mingw64-build' + - 'gtk-vnc+mingw64-build' local_env: '{mingw64_local_env}' autogen_args: '{mingw64_autogen_args}' diff --git a/jenkins/projects/virt-viewer.yaml b/jenkins/projects/virt-viewer.yaml index f06da31..87b5853 100644 --- a/jenkins/projects/virt-viewer.yaml +++ b/jenkins/projects/virt-viewer.yaml @@ -7,7 +7,9 @@ git_url: '{git_urls[virt-viewer][default]}' jobs: - autotools-build-job: - parent_jobs: 'libvirt-glib-build' + parent_jobs: + - 'libvirt-glib-build' + - 'gtk-vnc-build' - autotools-syntax-check-job: parent_jobs: 'virt-viewer-build' - autotools-check-job: -- 2.21.0

On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote:
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/playbooks/build/jobs/defaults.yml | 1 + guests/vars/projects/virt-viewer+mingw32.yml | 1 - guests/vars/projects/virt-viewer+mingw64.yml | 1 - guests/vars/projects/virt-viewer.yml | 1 - jenkins/jobs/defaults.yaml | 1 + jenkins/projects/virt-viewer+mingw32.yaml | 4 +++- jenkins/projects/virt-viewer+mingw64.yaml | 4 +++- jenkins/projects/virt-viewer.yaml | 4 +++- 8 files changed, 11 insertions(+), 6 deletions(-)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 6347024..40eeb02 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -228,12 +228,6 @@ mappings: gtk-update-icon-cache: default: gtk-update-icon-cache - gtk-vnc2: - deb: libgtk-vnc-2.0-dev - pkg: gtk-vnc - rpm: gtk-vnc2-devel - cross-policy-deb: foreign - hal: FreeBSD: hal @@ -477,9 +471,6 @@ mappings: mingw32-gtk3: FedoraRawhide: mingw32-gtk3 - mingw32-gtk-vnc2: - FedoraRawhide: mingw32-gtk-vnc2 - mingw32-json-glib: FedoraRawhide: mingw32-json-glib @@ -558,9 +549,6 @@ mappings: mingw64-gtk3: FedoraRawhide: mingw64-gtk3 - mingw64-gtk-vnc2: - FedoraRawhide: mingw64-gtk-vnc2 - mingw64-json-glib: FedoraRawhide: mingw64-json-glib -- 2.21.0

On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote:
Subject: mappings: remove gtk-vnc2 native and mingw packages
This can be simply mappings: Remove gtk-vnc2 Either way Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

Don't assume that all projects have a dedicated tests/ subdirectory for unit tests. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/playbooks/build/jobs/autotools-check-job.yml | 2 +- jenkins/jobs/autotools.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/guests/playbooks/build/jobs/autotools-check-job.yml b/guests/playbooks/build/jobs/autotools-check-job.yml index bcb6a85..a306902 100644 --- a/guests/playbooks/build/jobs/autotools-check-job.yml +++ b/guests/playbooks/build/jobs/autotools-check-job.yml @@ -9,7 +9,7 @@ cd build if ! $MAKE check then - cat tests/test-suite.log || true + find -name test-suite.log -exec cat {} \; exit 1 fi when: diff --git a/jenkins/jobs/autotools.yaml b/jenkins/jobs/autotools.yaml index f04ec17..72dd72e 100644 --- a/jenkins/jobs/autotools.yaml +++ b/jenkins/jobs/autotools.yaml @@ -126,7 +126,7 @@ cd build if ! $MAKE check then - cat tests/test-suite.log || true + find -name test-suite.log -exec cat {} \; exit 1 fi publishers: -- 2.21.0

On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote:
Don't assume that all projects have a dedicated tests/ subdirectory for unit tests.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/playbooks/build/jobs/autotools-check-job.yml | 2 +- jenkins/jobs/autotools.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

On Fri, 2019-05-03 at 19:02 +0100, Daniel P. Berrangé wrote:
Support gtk-vnc and make virt-viewer depend on it
Something that I forgot to mention yesterday, is that even after you install all required packages the build still fails on FreeBSD: $ mkdir build && cd build && ../autogen.sh ... checking sasl/sasl.h usability... no checking sasl/sasl.h presence... no checking for sasl/sasl.h... no configure: error: You must install the Cyrus SASL development package in order to compile GTK-VNC $ Interestingly, the FreeBSD port itself https://github.com/freebsd/freebsd-ports/blob/master/net/gtk-vnc/Makefile doesn't seem to play any tricks that would help configure locate the library - that is, of course, unless that 'bsd.port.mk' that gets included at the end does something crazy like adjust include and library paths so that /usr/local is searched as well. I haven't spent time digging. I see GTK-VNC is using old-school library detection and also seems to support both SASL and SASL2. In libvirt we only support SASL2 and use pkg-config for detection, and that works quite well on all platforms we target... I wonder if they'd consider doing the same? Either way, we have to address this before merging somehow if we want virt-viewer builds to keep succeeding on CentOS CI. -- Andrea Bolognani / Red Hat / Virtualization
participants (2)
-
Andrea Bolognani
-
Daniel P. Berrangé