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 <daniels@collabora.com>
dev
Daniel Stone 3 years ago committed by Marius Vlad
parent 753b6656fe
commit 4564b799b8
  1. 8
      .gitlab-ci.yml
  2. 6
      .gitlab-ci/build-deps.sh
  3. 35
      .gitlab-ci/debian-install.sh

@ -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

@ -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

@ -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

Loading…
Cancel
Save