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>
This commit is contained in:
Daniel Stone 2021-08-16 16:49:52 +01:00 committed by Marius Vlad
parent 753b6656fe
commit 4564b799b8
3 changed files with 31 additions and 18 deletions

View File

@ -43,7 +43,7 @@
variables: variables:
FDO_UPSTREAM_REPO: wayland/weston FDO_UPSTREAM_REPO: wayland/weston
FDO_REPO_SUFFIX: "$BUILD_OS/$BUILD_ARCH" 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: include:
@ -74,7 +74,7 @@ stages:
.os-debian: .os-debian:
variables: variables:
BUILD_OS: debian 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' 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: .ci-rules:
@ -170,8 +170,8 @@ aarch64-debian-container_prep:
.build-with-clang: .build-with-clang:
variables: variables:
CC: clang-8 CC: clang-11
CC_LD: lld-8 CC_LD: lld-11
MESON_TOOLCHAIN_OPTIONS: "$MESON_OPTIONS -Db_lundef=false" # clang+ASan+undef=boom 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 # Extends the core build templates to also provide for running our testing. We

View File

@ -22,9 +22,9 @@ export PATH=$HOME/.local/bin:$PATH
# generation), Doxygen (parse structures/functions/comments from source code), # generation), Doxygen (parse structures/functions/comments from source code),
# Breathe (a bridge between Doxygen and Sphinx), and we use the Read the Docs # Breathe (a bridge between Doxygen and Sphinx), and we use the Read the Docs
# theme for the final presentation. # theme for the final presentation.
pip3 install sphinx==2.1.0 --user pip3 install sphinx==4.2.0 --user
pip3 install breathe==4.13.0.post0 --user pip3 install breathe==4.31.0 --user
pip3 install sphinx_rtd_theme==0.4.3 --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 # 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 # predictably test the DRM backend in the absence of real hardware. We lock the

View File

@ -11,7 +11,6 @@ LINUX_DEV_PKGS="
bc bc
bison bison
flex flex
libelf-dev
" "
# These get temporary installed for building Mesa and then force-removed. # These get temporary installed for building Mesa and then force-removed.
@ -21,25 +20,26 @@ MESA_DEV_PKGS="
gettext gettext
libwayland-egl-backend-dev libwayland-egl-backend-dev
libxrandr-dev libxrandr-dev
llvm-8-dev libxshmfence-dev
python-mako libxrandr-dev
llvm-11-dev
python3-mako python3-mako
" "
# Needed for running the custom-built mesa # Needed for running the custom-built mesa
MESA_RUNTIME_PKGS=" MESA_RUNTIME_PKGS="
libllvm8 libllvm11
" "
echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list
apt-get update apt-get update
apt-get -y --no-install-recommends install \ apt-get -y --no-install-recommends install \
autoconf \ autoconf \
automake \ automake \
build-essential \ build-essential \
clang-8 \ clang-11 \
curl \ curl \
doxygen \ doxygen \
freerdp2-dev \
gcovr \ gcovr \
git \ git \
lcov \ lcov \
@ -48,7 +48,9 @@ apt-get -y --no-install-recommends install \
libcairo2-dev \ libcairo2-dev \
libcolord-dev \ libcolord-dev \
libdbus-1-dev \ libdbus-1-dev \
libdrm-dev \
libegl1-mesa-dev \ libegl1-mesa-dev \
libelf-dev \
libevdev-dev \ libevdev-dev \
libexpat1-dev \ libexpat1-dev \
libffi-dev \ libffi-dev \
@ -81,28 +83,39 @@ apt-get -y --no-install-recommends install \
libx11-xcb-dev \ libx11-xcb-dev \
libxcb1-dev \ libxcb1-dev \
libxcb-composite0-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-xfixes0-dev \
libxcb-xkb-dev \ libxcb-xkb-dev \
libxcursor-dev \ libxcursor-dev \
libxdamage-dev \
libxext-dev \
libxfixes-dev \
libxkbcommon-dev \ libxkbcommon-dev \
libxml2-dev \ libxml2-dev \
lld-8 \ libxxf86vm-dev \
llvm-8 \ lld-11 \
llvm-11 \
llvm-11-dev \
mesa-common-dev \ mesa-common-dev \
ninja-build \ ninja-build \
pkg-config \ pkg-config \
python3-pip \ python3-pip \
python3-pygments \
python3-setuptools \ python3-setuptools \
qemu-system \ qemu-system \
sysvinit-core \ sysvinit-core \
x11proto-dev \
xwayland \ xwayland \
$MESA_DEV_PKGS \ $MESA_DEV_PKGS \
$MESA_RUNTIME_PKGS \ $MESA_RUNTIME_PKGS \
$LINUX_DEV_PKGS \ $LINUX_DEV_PKGS \
apt-get -y --no-install-recommends -t buster-backports install \
freerdp2-dev
# Actually build our dependencies ... # Actually build our dependencies ...
./.gitlab-ci/build-deps.sh ./.gitlab-ci/build-deps.sh