From 4564b799b8765df48715d73bfb4312d848c9453d Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Mon, 16 Aug 2021 16:49:52 +0100 Subject: [PATCH] ci: Move Debian from Buster to Bullseye Now Debian 11 (Bullseye) has been released, shift our CI builds to using that instead of the older Buster. Due to dependency-chain changes, we have to install a lot more packages explicitly and retain more at runtime. This is exacerbated by pkg-config now requiring the entire chain to be installed, not just the immediate dependencies. Our documentation toolchain also gets bumped to a higher version to deal with Doxygen changes. Signed-off-by: Daniel Stone --- .gitlab-ci.yml | 8 ++++---- .gitlab-ci/build-deps.sh | 6 +++--- .gitlab-ci/debian-install.sh | 35 ++++++++++++++++++++++++----------- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 90fd9d57..c238e433 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -43,7 +43,7 @@ variables: FDO_UPSTREAM_REPO: wayland/weston FDO_REPO_SUFFIX: "$BUILD_OS/$BUILD_ARCH" - FDO_DISTRIBUTION_TAG: '2021-11-24.0-kernel-v5.14' + FDO_DISTRIBUTION_TAG: '2021-11-25.2-bullseye-sphinx' include: @@ -74,7 +74,7 @@ stages: .os-debian: variables: BUILD_OS: debian - FDO_DISTRIBUTION_VERSION: buster + FDO_DISTRIBUTION_VERSION: bullseye FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} BUILD_ARCH=${BUILD_ARCH} KERNEL_IMAGE=${KERNEL_IMAGE} KERNEL_DEFCONFIG=${KERNEL_DEFCONFIG} bash .gitlab-ci/debian-install.sh' .ci-rules: @@ -170,8 +170,8 @@ aarch64-debian-container_prep: .build-with-clang: variables: - CC: clang-8 - CC_LD: lld-8 + CC: clang-11 + CC_LD: lld-11 MESON_TOOLCHAIN_OPTIONS: "$MESON_OPTIONS -Db_lundef=false" # clang+ASan+undef=boom # Extends the core build templates to also provide for running our testing. We diff --git a/.gitlab-ci/build-deps.sh b/.gitlab-ci/build-deps.sh index 5edaf3c8..816a6585 100755 --- a/.gitlab-ci/build-deps.sh +++ b/.gitlab-ci/build-deps.sh @@ -22,9 +22,9 @@ export PATH=$HOME/.local/bin:$PATH # generation), Doxygen (parse structures/functions/comments from source code), # Breathe (a bridge between Doxygen and Sphinx), and we use the Read the Docs # theme for the final presentation. -pip3 install sphinx==2.1.0 --user -pip3 install breathe==4.13.0.post0 --user -pip3 install sphinx_rtd_theme==0.4.3 --user +pip3 install sphinx==4.2.0 --user +pip3 install breathe==4.31.0 --user +pip3 install sphinx_rtd_theme==1.0.0 --user # Build a Linux kernel for use in testing. We enable the VKMS module so we can # predictably test the DRM backend in the absence of real hardware. We lock the diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh index 9bfe6dea..2c243101 100644 --- a/.gitlab-ci/debian-install.sh +++ b/.gitlab-ci/debian-install.sh @@ -11,7 +11,6 @@ LINUX_DEV_PKGS=" bc bison flex - libelf-dev " # These get temporary installed for building Mesa and then force-removed. @@ -21,25 +20,26 @@ MESA_DEV_PKGS=" gettext libwayland-egl-backend-dev libxrandr-dev - llvm-8-dev - python-mako + libxshmfence-dev + libxrandr-dev + llvm-11-dev python3-mako " # Needed for running the custom-built mesa MESA_RUNTIME_PKGS=" - libllvm8 + libllvm11 " -echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list apt-get update apt-get -y --no-install-recommends install \ autoconf \ automake \ build-essential \ - clang-8 \ + clang-11 \ curl \ doxygen \ + freerdp2-dev \ gcovr \ git \ lcov \ @@ -48,7 +48,9 @@ apt-get -y --no-install-recommends install \ libcairo2-dev \ libcolord-dev \ libdbus-1-dev \ + libdrm-dev \ libegl1-mesa-dev \ + libelf-dev \ libevdev-dev \ libexpat1-dev \ libffi-dev \ @@ -81,28 +83,39 @@ apt-get -y --no-install-recommends install \ libx11-xcb-dev \ libxcb1-dev \ libxcb-composite0-dev \ + libxcb-dri2-0-dev \ + libxcb-dri3-dev \ + libxcb-glx0-dev \ + libxcb-present-dev \ + libxcb-randr0-dev \ + libxcb-shm0-dev \ + libxcb-sync-dev \ libxcb-xfixes0-dev \ libxcb-xkb-dev \ libxcursor-dev \ + libxdamage-dev \ + libxext-dev \ + libxfixes-dev \ libxkbcommon-dev \ libxml2-dev \ - lld-8 \ - llvm-8 \ + libxxf86vm-dev \ + lld-11 \ + llvm-11 \ + llvm-11-dev \ mesa-common-dev \ ninja-build \ pkg-config \ python3-pip \ + python3-pygments \ python3-setuptools \ qemu-system \ sysvinit-core \ + x11proto-dev \ xwayland \ $MESA_DEV_PKGS \ $MESA_RUNTIME_PKGS \ $LINUX_DEV_PKGS \ -apt-get -y --no-install-recommends -t buster-backports install \ - freerdp2-dev - # Actually build our dependencies ... ./.gitlab-ci/build-deps.sh