Current usage of Werror=switch-enum by default for libvirt builds out of the git tree causes issues when new items are added to libxl public API enums if those are used in a switch statement in libvirt code. This leads to libvirt build failures for seemingly unrelated libxl changes.
In order to prevent those errors from blocking the push gate, disable Werror for libvirt builds when not in a libvirt specific flight. The errors will be reported on the libvirt flight, and block the pushes there. So the author of the changes in libxl is still expected to send a fix to libvirt code. This is no ideal, but the other option is to just disable Werror for all libvirt builds and let libvirt developers fix the breakage when they notice it. runvar differences for a xen-unstable flight are: --- /dev/fd/63 2022-09-15 15:57:44.340581730 +0000 +++ /dev/fd/62 2022-09-15 15:57:44.340581730 +0000 @@ -574,6 +574,10 @@ test-xtf-amd64-amd64-3 arch amd64 test-xtf-amd64-amd64-4 arch amd64 test-xtf-amd64-amd64-5 arch amd64 +build-amd64-libvirt autogen_options --disable-werror +build-arm64-libvirt autogen_options --disable-werror +build-armhf-libvirt autogen_options --disable-werror +build-i386-libvirt autogen_options --disable-werror test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm bios seabios test-amd64-amd64-qemuu-nested-amd bios seabios test-amd64-amd64-qemuu-nested-intel bios seabios @@ -1217,6 +1221,10 @@ build-arm64-libvirt make_njobs 1 build-armhf-libvirt make_njobs 1 build-i386-libvirt make_njobs 1 +build-amd64-libvirt meson_options -Dwerror=false +build-arm64-libvirt meson_options -Dwerror=false +build-armhf-libvirt meson_options -Dwerror=false +build-i386-libvirt meson_options -Dwerror=false test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict recipe_dmrestrict true test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict recipe_dmrestrict true test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict recipe_nomigrate true Signed-off-by: Roger Pau Monné <roger....@citrix.com> --- Changes since v1: - Use -Dwerror=false instead of -Dgit_werror=disabled --- Cc: Ian Jackson <i...@xenproject.org> Cc: Anthony PERARD <anthony.per...@citrix.com> Cc: Julien Grall <jul...@xen.org> --- mfi-common | 2 +- ts-libvirt-build | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mfi-common b/mfi-common index 59e712f4..51eb4a9c 100644 --- a/mfi-common +++ b/mfi-common @@ -459,7 +459,7 @@ create_build_jobs () { libvirt_build_runvars='' case "$branch" in libvirt*) ;; - *) libvirt_build_runvars+=" make_njobs=1";; + *) libvirt_build_runvars+=" make_njobs=1 meson_options=-Dwerror=false autogen_options=--disable-werror";; esac job_create_build build-$arch-libvirt build-libvirt \ diff --git a/ts-libvirt-build b/ts-libvirt-build index 16b45cfd..e4faa1d7 100755 --- a/ts-libvirt-build +++ b/ts-libvirt-build @@ -73,7 +73,7 @@ sub config() { --with-libxl --without-xen --without-xenapi --without-selinux \\ --without-lxc --without-vbox --without-uml \\ --without-qemu --without-openvz --without-vmware \\ - --sysconfdir=/etc --localstatedir=/var #/ + --sysconfdir=/etc --localstatedir=/var $r{autogen_options} #/ END } else { target_cmd_build($ho, 3600, $builddir, <<END); @@ -87,6 +87,7 @@ END -Ddriver_libvirtd=enabled \\ -Ddriver_remote=enabled \\ --sysconfdir=/etc --localstatedir=/var \\ + $r{meson_options} \\ build END } -- 2.37.3