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

Support gtk-vnc and make virt-viewer depend on it I sent this months ago & forgot to push it. Re-sending just in case something has invalidated any patches. I've at least added the newer distros This time with gdk-pixbuf added and previous suggested fixes Daniel P. Berrangé (7): mappings: add libgcrypt mappings: add PulseAudio mappings: add gdk-pixbuf guests: pull in deps for gtk-vnc project projects: add gtk-vnc project projects: make virt-viewer depend on gtk-vnc jobs mappings: remove gtk-vnc2 guests/host_vars/libvirt-centos-7/main.yml | 1 + guests/host_vars/libvirt-centos-8/main.yml | 1 + guests/host_vars/libvirt-debian-10/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-30/main.yml | 3 ++ guests/host_vars/libvirt-fedora-31/main.yml | 1 + .../host_vars/libvirt-fedora-rawhide/main.yml | 1 + 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-1604/main.yml | 1 + guests/host_vars/libvirt-ubuntu-1804/main.yml | 1 + 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 | 19 +++++++++ guests/vars/mappings.yml | 42 +++++++++++++------ guests/vars/projects/gtk-vnc+mingw32.yml | 7 ++++ guests/vars/projects/gtk-vnc+mingw64.yml | 7 ++++ guests/vars/projects/gtk-vnc.yml | 12 ++++++ 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 | 3 ++ jenkins/projects/gtk-vnc+mingw32.yaml | 12 ++++++ jenkins/projects/gtk-vnc+mingw64.yaml | 12 ++++++ 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 +- 31 files changed, 167 insertions(+), 19 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.23.0

Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index ef4e17a..fb99560 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -336,6 +336,12 @@ mappings: OpenSUSE: dbus-1-devel cross-policy-deb: foreign + libgcrypt: + deb: libgcrypt20-dev + pkg: libgcrypt + rpm: libgcrypt-devel + cross-policy-deb: foreign + libgovirt: rpm: libgovirt-devel CentOS8: @@ -526,6 +532,9 @@ mappings: mingw32-libarchive: Fedora: mingw32-libarchive + mingw32-libgcrypt: + Fedora: mingw32-libgcrypt + mingw32-libgovirt: Fedora: mingw32-libgovirt @@ -607,6 +616,9 @@ mappings: mingw64-libarchive: Fedora: mingw64-libarchive + mingw64-libgcrypt: + Fedora: mingw64-libgcrypt + mingw64-libgovirt: Fedora: mingw64-libgovirt -- 2.23.0

Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index fb99560..96d37bd 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -833,6 +833,11 @@ mappings: default: polkit deb: policykit-1 + pulseaudio: + deb: libpulse-dev + rpm: pulseaudio-libs-devel + cross-policy-deb: foreign + python3-docutils: default: python3-docutils CentOS7: python36-docutils -- 2.23.0

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 96d37bd..15c2b70 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -177,6 +177,12 @@ mappings: gdb: default: gdb + gdk-pixbuf: + rpm: gdk-pixbuf2-devel + deb: libgdk-pixbuf2.0-dev + pkg: gdk-pixbuf2 + cross-policy-deb: foreign + gettext: default: gettext @@ -502,6 +508,9 @@ mappings: mingw32-gcc: Fedora: mingw32-gcc + mingw32-gdk-pixbuf: + Fedora: mingw32-gdk-pixbuf + mingw32-gettext: Fedora: mingw32-gettext @@ -586,6 +595,9 @@ mappings: mingw64-gcc: Fedora: mingw64-gcc + mingw64-gdk-pixbuf: + Fedora: mingw64-gdk-pixbuf + mingw64-gettext: Fedora: mingw64-gettext -- 2.23.0

On Fri, 2019-12-13 at 14:36 +0000, Daniel P. Berrangé wrote:
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- 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-centos-8/main.yml | 1 + guests/host_vars/libvirt-debian-10/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-30/main.yml | 3 +++ guests/host_vars/libvirt-fedora-31/main.yml | 1 + guests/host_vars/libvirt-fedora-rawhide/main.yml | 1 + 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-1604/main.yml | 1 + guests/host_vars/libvirt-ubuntu-1804/main.yml | 1 + guests/vars/projects/gtk-vnc+mingw32.yml | 7 +++++++ guests/vars/projects/gtk-vnc+mingw64.yml | 7 +++++++ guests/vars/projects/gtk-vnc.yml | 12 ++++++++++++ 16 files changed, 41 insertions(+) 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 diff --git a/guests/host_vars/libvirt-centos-7/main.yml b/guests/host_vars/libvirt-centos-7/main.yml index e0579ad..becd297 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-centos-8/main.yml b/guests/host_vars/libvirt-centos-8/main.yml index aae2313..cb49e9c 100644 --- a/guests/host_vars/libvirt-centos-8/main.yml +++ b/guests/host_vars/libvirt-centos-8/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/host_vars/libvirt-debian-10/main.yml b/guests/host_vars/libvirt-debian-10/main.yml index 633f421..c5d0047 100644 --- a/guests/host_vars/libvirt-debian-10/main.yml +++ b/guests/host_vars/libvirt-debian-10/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/host_vars/libvirt-debian-9/main.yml b/guests/host_vars/libvirt-debian-9/main.yml index 6b685a4..3addcd4 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 3808383..a60dd1b 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-30/main.yml b/guests/host_vars/libvirt-fedora-30/main.yml index e395f32..e4ad7ea 100644 --- a/guests/host_vars/libvirt-fedora-30/main.yml +++ b/guests/host_vars/libvirt-fedora-30/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-fedora-31/main.yml b/guests/host_vars/libvirt-fedora-31/main.yml index 5d9a1b5..e605873 100644 --- a/guests/host_vars/libvirt-fedora-31/main.yml +++ b/guests/host_vars/libvirt-fedora-31/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 fc39363..1a3338c 100644 --- a/guests/host_vars/libvirt-fedora-rawhide/main.yml +++ b/guests/host_vars/libvirt-fedora-rawhide/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-cim diff --git a/guests/host_vars/libvirt-freebsd-11/main.yml b/guests/host_vars/libvirt-freebsd-11/main.yml index e9f6d03..2de64ef 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 ba3ba62..2e3b935 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 74e1856..9b63d30 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-1604/main.yml b/guests/host_vars/libvirt-ubuntu-1604/main.yml index 4f803a5..2754282 100644 --- a/guests/host_vars/libvirt-ubuntu-1604/main.yml +++ b/guests/host_vars/libvirt-ubuntu-1604/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/host_vars/libvirt-ubuntu-1804/main.yml b/guests/host_vars/libvirt-ubuntu-1804/main.yml index 9070157..027acba 100644 --- a/guests/host_vars/libvirt-ubuntu-1804/main.yml +++ b/guests/host_vars/libvirt-ubuntu-1804/main.yml @@ -1,5 +1,6 @@ --- projects: + - gtk-vnc - libosinfo - libvirt - libvirt-dbus diff --git a/guests/vars/projects/gtk-vnc+mingw32.yml b/guests/vars/projects/gtk-vnc+mingw32.yml new file mode 100644 index 0000000..56dddfe --- /dev/null +++ b/guests/vars/projects/gtk-vnc+mingw32.yml @@ -0,0 +1,7 @@ +--- +packages: + - mingw32-gdk-pixbuf + - 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..93e413b --- /dev/null +++ b/guests/vars/projects/gtk-vnc+mingw64.yml @@ -0,0 +1,7 @@ +--- +packages: + - mingw64-gdk-pixbuf + - 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..32b1f5a --- /dev/null +++ b/guests/vars/projects/gtk-vnc.yml @@ -0,0 +1,12 @@ +--- +packages: + - cyrus-sasl + - gdk-pixbuf + - glib2 + - gnutls + - gobject-introspection + - gtk3 + - intltool + - libgcrypt + - pulseaudio + - vala -- 2.23.0

On Fri, 2019-12-13 at 14:36 +0000, Daniel P. Berrangé wrote:
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/host_vars/libvirt-centos-7/main.yml | 1 + guests/host_vars/libvirt-centos-8/main.yml | 1 + guests/host_vars/libvirt-debian-10/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-30/main.yml | 3 +++ guests/host_vars/libvirt-fedora-31/main.yml | 1 + guests/host_vars/libvirt-fedora-rawhide/main.yml | 1 + 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-1604/main.yml | 1 + guests/host_vars/libvirt-ubuntu-1804/main.yml | 1 + guests/vars/projects/gtk-vnc+mingw32.yml | 7 +++++++ guests/vars/projects/gtk-vnc+mingw64.yml | 7 +++++++ guests/vars/projects/gtk-vnc.yml | 12 ++++++++++++ 16 files changed, 41 insertions(+) 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
Tentative Reviewed-by: Andrea Bolognani <abologna@redhat.com> but we might have to drop the project from some targets if we can't figure out a way to build it on them... -- Andrea Bolognani / Red Hat / Virtualization

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/playbooks/build/jobs/defaults.yml | 2 ++ .../build/projects/gtk-vnc+mingw32.yml | 12 ++++++++++++ .../build/projects/gtk-vnc+mingw64.yml | 12 ++++++++++++ guests/playbooks/build/projects/gtk-vnc.yml | 19 +++++++++++++++++++ jenkins/jobs/defaults.yaml | 2 ++ jenkins/projects/gtk-vnc+mingw32.yaml | 12 ++++++++++++ jenkins/projects/gtk-vnc+mingw64.yaml | 12 ++++++++++++ jenkins/projects/gtk-vnc.yaml | 15 +++++++++++++++ 8 files changed, 86 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 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/playbooks/build/jobs/defaults.yml b/guests/playbooks/build/jobs/defaults.yml index 5e4ec03..5cbc440 100644 --- a/guests/playbooks/build/jobs/defaults.yml +++ b/guests/playbooks/build/jobs/defaults.yml @@ -46,6 +46,8 @@ mingw64_local_env: | mingw64_autogen_args: --host=x86_64-w64-mingw32 mingw64_meson_args: --cross-file=/usr/share/mingw/toolchain-mingw64.meson 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..2328a1d --- /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: xz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' + vars: + local_env: '{{ mingw32_local_env }}' + meson_args: '{{ mingw32_meson_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..8644f4c --- /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: xz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' + vars: + local_env: '{{ mingw64_local_env }}' + meson_args: '{{ mingw32_meson_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..260cf71 --- /dev/null +++ b/guests/playbooks/build/projects/gtk-vnc.yml @@ -0,0 +1,19 @@ +--- +- set_fact: + name: gtk-vnc + machines: '{{ all_machines }}' + archive_format: xz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' +- include: '{{ playbook_base }}/jobs/meson-check-job.yml' +- include: '{{ playbook_base }}/jobs/meson-rpm-job.yml' + vars: + # RPM build is still not possible on CentOS7 as it does not + # have the needed RPM macros for meson. + machines: + - libvirt-centos-8 + - libvirt-fedora-30 + - libvirt-fedora-31 + - libvirt-fedora-rawhide diff --git a/jenkins/jobs/defaults.yaml b/jenkins/jobs/defaults.yaml index 676ecbf..2d9ffef 100644 --- a/jenkins/jobs/defaults.yaml +++ b/jenkins/jobs/defaults.yaml @@ -42,6 +42,8 @@ mingw64_autogen_args: --host=x86_64-w64-mingw32 mingw64_meson_args: --cross-file=/usr/share/mingw/toolchain-mingw64.meson 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..bfb12da --- /dev/null +++ b/jenkins/projects/gtk-vnc+mingw32.yaml @@ -0,0 +1,12 @@ +--- +- project: + name: gtk-vnc+mingw32 + machines: '{mingw_machines}' + title: GTK-VNC MinGW (32-bit) + archive_format: xz + git_url: '{git_urls[gtk-vnc][default]}' + jobs: + - meson-build-job: + parent_jobs: + local_env: '{mingw32_local_env}' + meson_args: '{mingw32_meson_args}' diff --git a/jenkins/projects/gtk-vnc+mingw64.yaml b/jenkins/projects/gtk-vnc+mingw64.yaml new file mode 100644 index 0000000..543958d --- /dev/null +++ b/jenkins/projects/gtk-vnc+mingw64.yaml @@ -0,0 +1,12 @@ +--- +- project: + name: gtk-vnc+mingw64 + machines: '{mingw_machines}' + title: GTK-VNC MinGW (64-bit) + archive_format: xz + git_url: '{git_urls[gtk-vnc][default]}' + jobs: + - meson-build-job: + parent_jobs: + local_env: '{mingw64_local_env}' + meson_args: '{mingw32_meson_args}' diff --git a/jenkins/projects/gtk-vnc.yaml b/jenkins/projects/gtk-vnc.yaml new file mode 100644 index 0000000..b5877cc --- /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: + - meson-build-job: + parent_jobs: + - meson-check-job: + parent_jobs: 'gtk-vnc-build' + - meson-rpm-job: + parent_jobs: 'gtk-vnc-check' + machines: '{rpm_machines}' -- 2.23.0

On Fri, 2019-12-13 at 14:36 +0000, Daniel P. Berrangé wrote:
+++ b/guests/playbooks/build/projects/gtk-vnc+mingw64.yml @@ -0,0 +1,12 @@ +--- +- set_fact: + name: gtk-vnc+mingw64 + machines: '{{ mingw_machines }}' + archive_format: xz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' + vars: + local_env: '{{ mingw64_local_env }}' + meson_args: '{{ mingw32_meson_args }}'
s/mingw32/mingw64/
+++ b/guests/playbooks/build/projects/gtk-vnc.yml @@ -0,0 +1,19 @@ +--- +- set_fact: + name: gtk-vnc + machines: '{{ all_machines }}' + archive_format: xz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml'
Build fails on FreeBSD with $ meson .. . --prefix=$VIRT_PREFIX The Meson build system Version: 0.52.1 Source dir: /usr/home/test/gtk-vnc Build dir: /usr/home/test/gtk-vnc/build Build type: native build Project name: gtk-vnc Project version: 1.0.0 C compiler for the host machine: ccache cc (clang 6.0.1 "FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)") C linker for the host machine: lld 6.0.1 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program pod2man found: YES (/usr/local/bin/pod2man) Found pkg-config: /usr/local/bin/pkg-config (1.6.3) Run-time dependency gobject-2.0 found: YES 2.56.3 Run-time dependency gio-2.0 found: YES 2.56.3 Run-time dependency gio-unix-2.0 found: YES 2.56.3 Run-time dependency gdk-pixbuf-2.0 found: YES 2.38.1 Did not find CMake 'cmake' Found CMake: NO Run-time dependency gtk+-3.0 found: NO meson.build:81:0: ERROR: Could not generate cargs for gtk+-3.0: Package xproto was not found in the pkg-config search path. Perhaps you should add the directory containing `xproto.pc' to the PKG_CONFIG_PATH environment variable Package 'xproto', required by 'x11', not found Package 'kbproto', required by 'x11', not found Package 'xextproto', required by 'xext', not found Package 'xproto', required by 'xdamage', not found [...] The issue is not in Meson itself: $ pkg-config --cflags --libs gtk+-3.0 Package xproto was not found in the pkg-config search path. Perhaps you should add the directory containing `xproto.pc' to the PKG_CONFIG_PATH environment variable Package 'xproto', required by 'x11', not found Package 'kbproto', required by 'x11', not found Package 'xextproto', required by 'xext', not found Package 'xproto', required by 'xdamage', not found [...] so it looks like it's most likely a packaging issue. On Debian 9, it fails with [...] [56/64] Linking target src/libgtk-vnc-2.0.so.0.0.2. FAILED: src/libgtk-vnc-2.0.so.0.0.2 ccache cc -o src/libgtk-vnc-2.0.so.0.0.2 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncdisplayenums.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncmarshal.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncconnectionenums.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncdisplay.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncgrabsequence.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vnccairoframebuffer.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o' -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libgtk-vnc-2.0.so.0 src/libgvnc-1.0.so.0.0.1 -Wl,--no-undefined -Wl,--version-script,/home/test/gtk-vnc/src/libgtk-vnc_sym.version /usr/lib/x86_64-linux-gnu/libgtk-3.so /usr/lib/x86_64-linux-gnu/libgdk-3.so /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so /usr/lib/x86_64-linux-gnu/libpango-1.0.so /usr/lib/x86_64-linux-gnu/libatk-1.0.so /usr/lib/x86_64-linux-gnu/libcairo-gobject.so /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so -lgcrypt /usr/lib/x86_64-linux-gnu/libgnutls.so /usr/lib/x86_64-linux-gnu/libsasl2.so /usr/lib/x86_64-linux-gnu/libz.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/test/gtk-vnc/build/src src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:150: undefined reference to `XkbGetMap' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:154: undefined reference to `XkbGetNames' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:163: undefined reference to `XkbFreeKeyboard' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:116: undefined reference to `XListExtensions' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' collect2: error: ld returned 1 exit status [58/64] Generating GVncPulse-1.0.typelib with a custom command. ninja: build stopped: subcommand failed. and both Ubuntu version also display very similar failures.
+- include: '{{ playbook_base }}/jobs/meson-check-job.yml' +- include: '{{ playbook_base }}/jobs/meson-rpm-job.yml' + vars: + # RPM build is still not possible on CentOS7 as it does not + # have the needed RPM macros for meson. + machines: + - libvirt-centos-8 + - libvirt-fedora-30 + - libvirt-fedora-31 + - libvirt-fedora-rawhide
Building the RPM fails everywhere with $ rpmbuild --clean --define "_topdir `pwd`/rpmbuild" -ta meson-dist/*.tar.xz error: Failed to read spec file from meson-dist/gtk-vnc-1.0.0.tar.xz I think we might need to adapt our RPM build rules.
+++ b/jenkins/projects/gtk-vnc+mingw64.yaml @@ -0,0 +1,12 @@ +--- +- project: + name: gtk-vnc+mingw64 + machines: '{mingw_machines}' + title: GTK-VNC MinGW (64-bit) + archive_format: xz + git_url: '{git_urls[gtk-vnc][default]}' + jobs: + - meson-build-job: + parent_jobs: + local_env: '{mingw64_local_env}' + meson_args: '{mingw32_meson_args}'
s/mingw32/mingw64/
+++ b/jenkins/projects/gtk-vnc.yaml @@ -0,0 +1,15 @@ +--- +- project: + name: gtk-vnc + machines: '{all_machines}' + title: GTK-VNC + archive_format: gz
s/gz/xz/
+ git_url: '{git_urls[gtk-vnc][default]}' + jobs: + - meson-build-job: + parent_jobs: + - meson-check-job: + parent_jobs: 'gtk-vnc-build' + - meson-rpm-job: + parent_jobs: 'gtk-vnc-check' + machines: '{rpm_machines}'
This needs to have the same list of machines, and the same comment, as the Ansible version. -- Andrea Bolognani / Red Hat / Virtualization

On Fri, Dec 13, 2019 at 06:20:57PM +0100, Andrea Bolognani wrote:
On Fri, 2019-12-13 at 14:36 +0000, Daniel P. Berrangé wrote:
+++ b/guests/playbooks/build/projects/gtk-vnc+mingw64.yml @@ -0,0 +1,12 @@ +--- +- set_fact: + name: gtk-vnc+mingw64 + machines: '{{ mingw_machines }}' + archive_format: xz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' + vars: + local_env: '{{ mingw64_local_env }}' + meson_args: '{{ mingw32_meson_args }}'
s/mingw32/mingw64/
+++ b/guests/playbooks/build/projects/gtk-vnc.yml @@ -0,0 +1,19 @@ +--- +- set_fact: + name: gtk-vnc + machines: '{{ all_machines }}' + archive_format: xz + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml'
Build fails on FreeBSD with
$ meson .. . --prefix=$VIRT_PREFIX The Meson build system Version: 0.52.1 Source dir: /usr/home/test/gtk-vnc Build dir: /usr/home/test/gtk-vnc/build Build type: native build Project name: gtk-vnc Project version: 1.0.0 C compiler for the host machine: ccache cc (clang 6.0.1 "FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)") C linker for the host machine: lld 6.0.1 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program pod2man found: YES (/usr/local/bin/pod2man) Found pkg-config: /usr/local/bin/pkg-config (1.6.3) Run-time dependency gobject-2.0 found: YES 2.56.3 Run-time dependency gio-2.0 found: YES 2.56.3 Run-time dependency gio-unix-2.0 found: YES 2.56.3 Run-time dependency gdk-pixbuf-2.0 found: YES 2.38.1 Did not find CMake 'cmake' Found CMake: NO Run-time dependency gtk+-3.0 found: NO
meson.build:81:0: ERROR: Could not generate cargs for gtk+-3.0: Package xproto was not found in the pkg-config search path. Perhaps you should add the directory containing `xproto.pc' to the PKG_CONFIG_PATH environment variable Package 'xproto', required by 'x11', not found Package 'kbproto', required by 'x11', not found Package 'xextproto', required by 'xext', not found Package 'xproto', required by 'xdamage', not found [...]
The issue is not in Meson itself:
$ pkg-config --cflags --libs gtk+-3.0 Package xproto was not found in the pkg-config search path. Perhaps you should add the directory containing `xproto.pc' to the PKG_CONFIG_PATH environment variable Package 'xproto', required by 'x11', not found Package 'kbproto', required by 'x11', not found Package 'xextproto', required by 'xext', not found Package 'xproto', required by 'xdamage', not found [...]
so it looks like it's most likely a packaging issue.
I can't reproduce that on FreeBSD 11.3 or 12.1, so I assume it is fixed now.
On Debian 9, it fails with
[...] [56/64] Linking target src/libgtk-vnc-2.0.so.0.0.2. FAILED: src/libgtk-vnc-2.0.so.0.0.2 ccache cc -o src/libgtk-vnc-2.0.so.0.0.2 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncdisplayenums.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncmarshal.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncconnectionenums.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncdisplay.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncgrabsequence.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vnccairoframebuffer.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o' -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libgtk-vnc-2.0.so.0 src/libgvnc-1.0.so.0.0.1 -Wl,--no-undefined -Wl,--version-script,/home/test/gtk-vnc/src/libgtk-vnc_sym.version /usr/lib/x86_64-linux-gnu/libgtk-3.so /usr/lib/x86_64-linux-gnu/libgdk-3.so /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so /usr/lib/x86_64-linux-gnu/libpango-1.0.so /usr/lib/x86_64-linux-gnu/libatk-1.0.so /usr/lib/x86_64-linux-gnu/libcairo-gobject.so /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so -lgcrypt /usr/lib/x86_64-linux-gnu/libgnutls.so /usr/lib/x86_64-linux-gnu/libsasl2.so /usr/lib/x86_64-linux-gnu/libz.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/test/gtk-vnc/build/src src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:150: undefined reference to `XkbGetMap' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:154: undefined reference to `XkbGetNames' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:163: undefined reference to `XkbFreeKeyboard' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:116: undefined reference to `XListExtensions' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' collect2: error: ld returned 1 exit status [58/64] Generating GVncPulse-1.0.typelib with a custom command. ninja: build stopped: subcommand failed.
and both Ubuntu version also display very similar failures.
That just looks like a code bug in gtk-vnc, not a problem with the CI setup.
+- include: '{{ playbook_base }}/jobs/meson-check-job.yml' +- include: '{{ playbook_base }}/jobs/meson-rpm-job.yml' + vars: + # RPM build is still not possible on CentOS7 as it does not + # have the needed RPM macros for meson. + machines: + - libvirt-centos-8 + - libvirt-fedora-30 + - libvirt-fedora-31 + - libvirt-fedora-rawhide
Building the RPM fails everywhere with
$ rpmbuild --clean --define "_topdir `pwd`/rpmbuild" -ta meson-dist/*.tar.xz error: Failed to read spec file from meson-dist/gtk-vnc-1.0.0.tar.xz
I think we might need to adapt our RPM build rules.
I've changed the meson setup for gtk-vnc to more closely match libvirt-dbus/libosinfo. 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 Tue, 2020-01-07 at 11:49 +0000, Daniel P. Berrangé wrote:
On Fri, Dec 13, 2019 at 06:20:57PM +0100, Andrea Bolognani wrote:
Build fails on FreeBSD with
$ meson .. . --prefix=$VIRT_PREFIX The Meson build system Version: 0.52.1 Source dir: /usr/home/test/gtk-vnc Build dir: /usr/home/test/gtk-vnc/build Build type: native build Project name: gtk-vnc Project version: 1.0.0 C compiler for the host machine: ccache cc (clang 6.0.1 "FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)") C linker for the host machine: lld 6.0.1 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program pod2man found: YES (/usr/local/bin/pod2man) Found pkg-config: /usr/local/bin/pkg-config (1.6.3) Run-time dependency gobject-2.0 found: YES 2.56.3 Run-time dependency gio-2.0 found: YES 2.56.3 Run-time dependency gio-unix-2.0 found: YES 2.56.3 Run-time dependency gdk-pixbuf-2.0 found: YES 2.38.1 Did not find CMake 'cmake' Found CMake: NO Run-time dependency gtk+-3.0 found: NO
meson.build:81:0: ERROR: Could not generate cargs for gtk+-3.0: Package xproto was not found in the pkg-config search path. Perhaps you should add the directory containing `xproto.pc' to the PKG_CONFIG_PATH environment variable Package 'xproto', required by 'x11', not found Package 'kbproto', required by 'x11', not found Package 'xextproto', required by 'xext', not found Package 'xproto', required by 'xdamage', not found [...]
The issue is not in Meson itself:
$ pkg-config --cflags --libs gtk+-3.0 Package xproto was not found in the pkg-config search path. Perhaps you should add the directory containing `xproto.pc' to the PKG_CONFIG_PATH environment variable Package 'xproto', required by 'x11', not found Package 'kbproto', required by 'x11', not found Package 'xextproto', required by 'xext', not found Package 'xproto', required by 'xdamage', not found [...]
so it looks like it's most likely a packaging issue.
I can't reproduce that on FreeBSD 11.3 or 12.1, so I assume it is fixed now.
It still shows up in my local test environment but not in the CentOS CI production environment, so I guess we can ignore it.
On Debian 9, it fails with
[...] [56/64] Linking target src/libgtk-vnc-2.0.so.0.0.2. FAILED: src/libgtk-vnc-2.0.so.0.0.2 ccache cc -o src/libgtk-vnc-2.0.so.0.0.2 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncdisplayenums.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncmarshal.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncconnectionenums.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncdisplay.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncgrabsequence.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vnccairoframebuffer.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o' -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libgtk-vnc-2.0.so.0 src/libgvnc-1.0.so.0.0.1 -Wl,--no-undefined -Wl,--version-script,/home/test/gtk-vnc/src/libgtk-vnc_sym.version /usr/lib/x86_64-linux-gnu/libgtk-3.so /usr/lib/x86_64-linux-gnu/libgdk-3.so /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so /usr/lib/x86_64-linux-gnu/libpango-1.0.so /usr/lib/x86_64-linux-gnu/libatk-1.0.so /usr/lib/x86_64-linux-gnu/libcairo-gobject.so /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so -lgcrypt /usr/lib/x86_64-linux-gnu/libgnutls.so /usr/lib/x86_64-linux-gnu/libsasl2.so /usr/lib/x86_64-linux-gnu/libz.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/test/gtk-vnc/build/src src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:150: undefined reference to `XkbGetMap' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:154: undefined reference to `XkbGetNames' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:163: undefined reference to `XkbFreeKeyboard' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:116: undefined reference to `XListExtensions' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' collect2: error: ld returned 1 exit status [58/64] Generating GVncPulse-1.0.typelib with a custom command. ninja: build stopped: subcommand failed.
and both Ubuntu version also display very similar failures.
That just looks like a code bug in gtk-vnc, not a problem with the CI setup.
It now works on Debian 9 and Ubuntu 18.04, but it still fails on Ubuntu 16.04. We should still figure out what's going on, but since we don't yet have Ubuntu deployed in the CentOS CI environment it's not a blocker for inclusion.
+- include: '{{ playbook_base }}/jobs/meson-check-job.yml' +- include: '{{ playbook_base }}/jobs/meson-rpm-job.yml' + vars: + # RPM build is still not possible on CentOS7 as it does not + # have the needed RPM macros for meson. + machines: + - libvirt-centos-8 + - libvirt-fedora-30 + - libvirt-fedora-31 + - libvirt-fedora-rawhide
Building the RPM fails everywhere with
$ rpmbuild --clean --define "_topdir `pwd`/rpmbuild" -ta meson-dist/*.tar.xz error: Failed to read spec file from meson-dist/gtk-vnc-1.0.0.tar.xz
I think we might need to adapt our RPM build rules.
I've changed the meson setup for gtk-vnc to more closely match libvirt-dbus/libosinfo.
Cool, it works now :) -- Andrea Bolognani / Red Hat / Virtualization

On Wed, Jan 08, 2020 at 01:41:08PM +0100, Andrea Bolognani wrote:
On Tue, 2020-01-07 at 11:49 +0000, Daniel P. Berrangé wrote:
src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:150: undefined reference to `XkbGetMap' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:154: undefined reference to `XkbGetNames' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:163: undefined reference to `XkbFreeKeyboard' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:116: undefined reference to `XListExtensions' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' collect2: error: ld returned 1 exit status [58/64] Generating GVncPulse-1.0.typelib with a custom command. ninja: build stopped: subcommand failed.
and both Ubuntu version also display very similar failures.
That just looks like a code bug in gtk-vnc, not a problem with the CI setup.
It now works on Debian 9 and Ubuntu 18.04, but it still fails on Ubuntu 16.04. We should still figure out what's going on, but since we don't yet have Ubuntu deployed in the CentOS CI environment it's not a blocker for inclusion.
It just needed a min version check relaxed & now it works 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 :|

Reviewed-by: Andrea Bolognani <abologna@redhat.com> 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 5cbc440..65dee78 100644 --- a/guests/playbooks/build/jobs/defaults.yml +++ b/guests/playbooks/build/jobs/defaults.yml @@ -32,6 +32,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 c03d50b..fe754cb 100644 --- a/guests/vars/projects/virt-viewer.yml +++ b/guests/vars/projects/virt-viewer.yml @@ -1,7 +1,6 @@ --- packages: - glib2 - - gtk-vnc2 - gtk3 - libgovirt - libxml2 diff --git a/jenkins/jobs/defaults.yaml b/jenkins/jobs/defaults.yaml index 2d9ffef..ec429ed 100644 --- a/jenkins/jobs/defaults.yaml +++ b/jenkins/jobs/defaults.yaml @@ -28,6 +28,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 6469b9f..123f95e 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.23.0

Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 15c2b70..6ff4237 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -245,13 +245,6 @@ mappings: default: gtk-update-icon-cache Ubuntu1604: libgtk2.0-bin - gtk-vnc2: - deb: libgtk-vnc-2.0-dev - pkg: gtk-vnc - rpm: gtk-vnc2-devel - CentOS8: - cross-policy-deb: foreign - hal: FreeBSD: hal @@ -532,9 +525,6 @@ mappings: mingw32-gtk3: Fedora: mingw32-gtk3 - mingw32-gtk-vnc2: - Fedora: mingw32-gtk-vnc2 - mingw32-json-glib: Fedora: mingw32-json-glib @@ -619,9 +609,6 @@ mappings: mingw64-gtk3: Fedora: mingw64-gtk3 - mingw64-gtk-vnc2: - Fedora: mingw64-gtk-vnc2 - mingw64-json-glib: Fedora: mingw64-json-glib -- 2.23.0
participants (2)
-
Andrea Bolognani
-
Daniel P. Berrangé