From a2fd507973db3c0675abc9f211f2f4ce09bfa447 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Thu, 25 Nov 2021 16:59:44 +0100 Subject: [PATCH] ci: Consistently build Wayland and protocols Rather than relying on distro packages, build libwayland and wayland-protocols from known versions everywhere we need it. The only place we do not do so but rely on distro packages is the LAVA rootfs, for which it does not matter right now since the version is sufficiently new, but this could/should be cleaned up later. Signed-off-by: Daniel Stone Part-of: --- .gitlab-ci.yml | 8 ++++---- .gitlab-ci/container/build-wayland.sh | 9 +++++++++ .gitlab-ci/container/debian/x86_build-base.sh | 1 - .gitlab-ci/container/debian/x86_test-gl.sh | 7 +++++-- .gitlab-ci/container/debian/x86_test-vk.sh | 6 +++++- .gitlab-ci/container/fedora/x86_build.sh | 3 --- 6 files changed, 23 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d50fd05649b..2e0c7b97b2b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -290,7 +290,7 @@ debian/x86_build-base: - .fdo.container-build@debian - .container variables: - MESA_IMAGE_TAG: &debian-x86_build-base "2021-07-26-python" + MESA_IMAGE_TAG: &debian-x86_build-base "2021-11-25-wayland" .use-debian/x86_build-base: extends: @@ -410,13 +410,13 @@ debian/x86_test-gl: variables: FDO_DISTRIBUTION_EXEC: 'env KERNEL_URL=${KERNEL_URL} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/container/${CI_JOB_NAME}.sh' KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.15-for-mesa-ci-540a4af22d71/linux-v5.15-for-mesa-ci-540a4af22d71.tar.bz2" - MESA_IMAGE_TAG: &debian-x86_test-gl "2021-11-18-crosvm" + MESA_IMAGE_TAG: &debian-x86_test-gl "2021-11-25-wayland" # Debian 11 based x86 test image for VK debian/x86_test-vk: extends: .use-debian/x86_test-base variables: - MESA_IMAGE_TAG: &debian-x86_test-vk "2021-2021-11-01-deqp" + MESA_IMAGE_TAG: &debian-x86_test-vk "2021-11-25-wayland" # Debian 11 based ARM build image debian/arm_build: @@ -446,7 +446,7 @@ fedora/x86_build: - .container variables: FDO_DISTRIBUTION_VERSION: 34 - MESA_IMAGE_TAG: &fedora-x86_build "2021-07-08-bump-libdrm" + MESA_IMAGE_TAG: &fedora-x86_build "2021-11-25-wayland" .use-fedora/x86_build: extends: diff --git a/.gitlab-ci/container/build-wayland.sh b/.gitlab-ci/container/build-wayland.sh index 8166f528bf6..893ee058fb0 100644 --- a/.gitlab-ci/container/build-wayland.sh +++ b/.gitlab-ci/container/build-wayland.sh @@ -3,6 +3,7 @@ set -ex export LIBWAYLAND_VERSION="1.18.0" +export WAYLAND_PROTOCOLS_VERSION="1.24" git clone https://gitlab.freedesktop.org/wayland/wayland cd wayland @@ -11,3 +12,11 @@ meson -Ddocumentation=false -Ddtd_validation=false -Dlibraries=true _build ninja -C _build install cd .. rm -rf wayland + +git clone https://gitlab.freedesktop.org/wayland/wayland-protocols +cd wayland-protocols +git checkout "$WAYLAND_PROTOCOLS_VERSION" +meson _build +ninja -C _build install +cd .. +rm -rf wayland-protocols diff --git a/.gitlab-ci/container/debian/x86_build-base.sh b/.gitlab-ci/container/debian/x86_build-base.sh index 6333fa70e09..42cc76f2941 100644 --- a/.gitlab-ci/container/debian/x86_build-base.sh +++ b/.gitlab-ci/container/debian/x86_build-base.sh @@ -63,7 +63,6 @@ apt-get install -y --no-remove \ python3-requests \ qemu-user \ valgrind \ - wayland-protocols \ wget \ wine64 \ x11proto-dri2-dev \ diff --git a/.gitlab-ci/container/debian/x86_test-gl.sh b/.gitlab-ci/container/debian/x86_test-gl.sh index 237ec09380f..e3cf63647db 100644 --- a/.gitlab-ci/container/debian/x86_test-gl.sh +++ b/.gitlab-ci/container/debian/x86_test-gl.sh @@ -22,6 +22,7 @@ STABLE_EPHEMERAL=" \ libcap-dev \ libclang-cpp11-dev \ libelf-dev \ + libexpat1-dev \ libfdt-dev \ libgbm-dev \ libgles2-mesa-dev \ @@ -31,7 +32,6 @@ STABLE_EPHEMERAL=" \ libudev-dev \ libvulkan-dev \ libwaffle-dev \ - libwayland-dev \ libx11-xcb-dev \ libxcb-dri2-0-dev \ libxext-dev \ @@ -45,7 +45,6 @@ STABLE_EPHEMERAL=" \ patch \ pkg-config \ python3-distutils \ - wayland-protocols \ wget \ xz-utils \ " @@ -76,6 +75,10 @@ apt-get install -y --no-remove \ . .gitlab-ci/container/build-libdrm.sh +############### Build Wayland + +. .gitlab-ci/container/build-wayland.sh + ############### Build Crosvm . .gitlab-ci/container/build-rust.sh diff --git a/.gitlab-ci/container/debian/x86_test-vk.sh b/.gitlab-ci/container/debian/x86_test-vk.sh index b10d61162d6..67389861d65 100644 --- a/.gitlab-ci/container/debian/x86_test-vk.sh +++ b/.gitlab-ci/container/debian/x86_test-vk.sh @@ -13,6 +13,7 @@ STABLE_EPHEMERAL=" \ g++-mingw-w64-i686-posix \ g++-mingw-w64-x86-64-posix \ glslang-tools \ + libexpat1-dev \ libgbm-dev \ libgles2-mesa-dev \ liblz4-dev \ @@ -20,7 +21,6 @@ STABLE_EPHEMERAL=" \ libudev-dev \ libvulkan-dev \ libwaffle-dev \ - libwayland-dev \ libx11-xcb-dev \ libxcb-ewmh-dev \ libxcb-keysyms1-dev \ @@ -124,6 +124,10 @@ wine \ . .gitlab-ci/container/build-libdrm.sh +############### Build Wayland + +. .gitlab-ci/container/build-wayland.sh + ############### Build parallel-deqp-runner's hang-detection tool . .gitlab-ci/container/build-hang-detection.sh diff --git a/.gitlab-ci/container/fedora/x86_build.sh b/.gitlab-ci/container/fedora/x86_build.sh index 6231cf69b11..b67ab331126 100644 --- a/.gitlab-ci/container/fedora/x86_build.sh +++ b/.gitlab-ci/container/fedora/x86_build.sh @@ -40,9 +40,6 @@ dnf install -y --setopt=install_weak_deps=False \ "pkgconfig(pciaccess)" \ "pkgconfig(vdpau)" \ "pkgconfig(vulkan)" \ - "pkgconfig(wayland-egl-backend)" \ - "pkgconfig(wayland-protocols)" \ - "pkgconfig(wayland-scanner)" \ "pkgconfig(x11)" \ "pkgconfig(x11-xcb)" \ "pkgconfig(xcb)" \