CI: Update debian image from bullseye (11) to bookworm (12)

Drop local build of libxcvt now that bookworm has a package for it

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2141>
This commit is contained in:
Alan Coopersmith 2026-03-16 19:12:05 -07:00
parent 7f8570bfa1
commit 210372ea09
3 changed files with 24 additions and 32 deletions

View file

@ -4,7 +4,7 @@
# Please see the ci-templates documentation for details:
# https://freedesktop.pages.freedesktop.org/ci-templates/
.templates_sha: &template_sha ef5e4669b7500834a17ffe9277e15fbb6d977fff # see https://docs.gitlab.com/ee/ci/yaml/#includefile
.templates_sha: &template_sha baa94a8f673dd1f11f81377106310752936d3672 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
# FDO_DISTRIBUTION_TAG is the tag of the docker image used for the build jobs.
# If the image doesn't exist yet, the docker-image stage generates it.
@ -19,9 +19,9 @@ variables:
FDO_UPSTREAM_REPO: 'xorg/xserver'
MESON_BUILDDIR: 'build'
REPO_URL_XORGPROTO: 'https://gitlab.freedesktop.org/xorg/proto/xorgproto.git'
XORG_DEBIAN_VERSION: 'bullseye-slim'
XORG_DEBIAN_VERSION: 'bookworm-slim'
XORG_DEBIAN_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/debian-install.sh'
XORG_DEBIAN_TAG: '2025-02-26-xcb-deps'
XORG_DEBIAN_TAG: '2026-03-16-image-update'
XORG_FREEBSD_VERSION: '14.2'
XORG_FREEBSD_EXEC: ''
XORG_FREEBSD_TAG: '2025-02-18-vm-image'
@ -114,7 +114,7 @@ stages:
FDO_DISTRIBUTION_PACKAGES: 'git gcc pkgconf autoconf automake libtool xorg-macros xorgproto bash meson ninja pixman xtrans libXau libXdmcp libXfont2 libxkbfile libxcvt libpciaccess font-util libepoll-shim'
FDO_IMAGE_SIZE: '30G'
debian-bullseye:
debian-bookworm:
extends:
- .fdo.container-build@debian
- .ci-run-policy

View file

@ -53,7 +53,7 @@ build 'https://gitlab.freedesktop.org/xorg/proto/xorgproto.git' 'xorgproto-2024.
build 'https://gitlab.freedesktop.org/xorg/lib/libXau.git' 'libXau-1.0.9'
build 'https://gitlab.freedesktop.org/xorg/proto/xcbproto.git' 'xcb-proto-1.14.1'
build 'https://gitlab.freedesktop.org/xorg/lib/libxcb.git' 'libxcb-1.14'
build 'https://gitlab.freedesktop.org/xorg/lib/libxtrans.git' 'xtrans-1.4.0'
build 'https://gitlab.freedesktop.org/xorg/lib/libxtrans.git' 'xtrans-1.6.0'
# the default value of keysymdefdir is taken from the includedir variable for
# xproto, which isn't adjusted by pkg-config for the sysroot
build 'https://gitlab.freedesktop.org/xorg/lib/libX11.git' 'libX11-1.8.2' "--with-keysymdefdir=/usr/${HOST}/include/X11"

View file

@ -5,18 +5,12 @@ set -o xtrace
# Packages which are needed by this script, but not for the xserver build
EPHEMERAL="
libcairo2-dev
libexpat-dev
libgles2-mesa-dev
libxkbcommon-dev
x11-utils
x11-xserver-utils
xauth
xvfb
"
# Add bullseye-backports for the newer linux-libc-dev & meson packages
echo 'deb http://deb.debian.org/debian bullseye-backports main' >> /etc/apt/sources.list
apt update
apt-get install -y \
@ -36,6 +30,7 @@ apt-get install -y \
libcairo2 \
libcairo2-dev \
libdbus-1-dev \
libdecor-0-dev \
libdrm-dev \
libegl1-mesa-dev \
libepoxy-dev \
@ -85,6 +80,7 @@ apt-get install -y \
libxcb-xv0-dev \
libxcb1-dev \
libxcursor-dev \
libxcvt-dev \
libxdamage-dev \
libxdmcp-dev \
libxext-dev \
@ -108,9 +104,9 @@ apt-get install -y \
libxvmc-dev \
libxxf86vm-dev \
libz-mingw-w64-dev \
linux-libc-dev/bullseye-backports \
linux-libc-dev \
mesa-common-dev \
meson/bullseye-backports \
meson \
mingw-w64-tools \
nettle-dev \
pkg-config \
@ -132,6 +128,7 @@ apt-get install -y \
cd /root
# Xwayland requires drm 2.4.116 for drmSyncobjEventfd
# but Debian bookworm has only 2.4.114
git clone https://gitlab.freedesktop.org/mesa/drm --depth 1 --branch=libdrm-2.4.116
cd drm
meson _build
@ -139,15 +136,8 @@ ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
cd ..
rm -rf drm
# xserver requires libxcvt
git clone https://gitlab.freedesktop.org/xorg/lib/libxcvt.git --depth 1 --branch=libxcvt-0.1.0
cd libxcvt
meson _build
ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
cd ..
rm -rf libxcvt
# xserver requires xorgproto >= 2024.1 for XWAYLAND
# but Debian bookworm has only 2022.1
git clone https://gitlab.freedesktop.org/xorg/proto/xorgproto.git --depth 1 --branch=xorgproto-2024.1
pushd xorgproto
./autogen.sh
@ -155,7 +145,17 @@ make -j${FDO_CI_CONCURRENT:-4} install
popd
rm -rf xorgproto
# wayland-protocols requires wayland-scanner 1.20, but Debian bullseye has 1.18 only
# xserver requires xtrans >= 1.5.1 to build with gcc 12
# but Debian bookworm has only 1.4.0
git clone https://gitlab.freedesktop.org/xorg/lib/libxtrans.git --depth 1 --branch=xtrans-1.6.0
pushd libxtrans
./autogen.sh
make -j${FDO_CI_CONCURRENT:-4} install
popd
rm -rf libxtrans
# wayland-protocols 1.38 requires either wayland-scanner 1.23 or a build with
# dtd_validation=false, but Debian bookworm has only 1.21 w/ dtd_validation=true
git clone https://gitlab.freedesktop.org/wayland/wayland.git --depth 1 --branch=1.21.0
cd wayland
meson -Dtests=false -Ddocumentation=false -Ddtd_validation=false _build
@ -163,7 +163,7 @@ ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
cd ..
rm -rf wayland
# Xwayland requires wayland-protocols >= 1.38, but Debian bullseye has 1.20 only
# Xwayland requires wayland-protocols >= 1.38, but Debian bookworm has 1.31 only
git clone https://gitlab.freedesktop.org/wayland/wayland-protocols.git --depth 1 --branch=1.38
cd wayland-protocols
meson _build
@ -171,15 +171,7 @@ ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
cd ..
rm -rf wayland-protocols
# Install libdecor for Xwayland
git clone https://gitlab.freedesktop.org/libdecor/libdecor.git --depth 1 --branch=0.1.1
cd libdecor
meson _build -D{demo,install_demo}=false
ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
cd ..
rm -rf libdecor
# Install libei for Xwayland
# Install libei for Xwayland, as Debian didn't add until trixie
git clone https://gitlab.freedesktop.org/libinput/libei.git --depth 1 --branch=1.0.0
cd libei
meson setup _build -Dtests=disabled -Ddocumentation=[] -Dliboeffis=enabled