diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 256dd90e1..7cb3a8937 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/.gitlab-ci/cross-prereqs-build.sh b/.gitlab-ci/cross-prereqs-build.sh index fd37d18a6..9224051fe 100755 --- a/.gitlab-ci/cross-prereqs-build.sh +++ b/.gitlab-ci/cross-prereqs-build.sh @@ -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" diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh index e4f1eb6e2..a2498f943 100644 --- a/.gitlab-ci/debian-install.sh +++ b/.gitlab-ci/debian-install.sh @@ -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