ci/cd: package for Debian 13 instead of Debian 12

The Debian container moves from bookworm to trixie. Two packages were
renamed in trixie and their old names are now transitional dummies:
pkg-config is provided by pkgconf, and libgl1-mesa-dev split into
libgl-dev + libglvnd-dev. The CI and CD Debian dependency lists stay
byte-for-byte identical.

trixie ships libva 2.22, which has the vaMapBuffer2 FFmpeg 8 expects,
so only openKylin still needs the bundled vcpkg libva copies.
This commit is contained in:
2026-09-25 21:37:58 +08:00
parent 982593aa2c
commit 8747eafe78
5 changed files with 13 additions and 12 deletions
+4 -4
View File
@@ -10,7 +10,7 @@ permissions:
contents: write
# One matrix, seven platforms, the same environments CI tests in (see
# .github/workflows/ci.yml): Debian 12 / Fedora 43 / Arch / openKylin x64
# .github/workflows/ci.yml): Debian 13 / Fedora 43 / Arch / openKylin x64
# and arm64 containers plus the macOS and Windows hosts. Every package is
# built from scratch — no FFmpeg/cargo caches: a restored tree has
# masked packaging problems before (stale ports, missing tools), and a
@@ -36,7 +36,7 @@ jobs:
runner: warp-ubuntu-latest-x64-32x
triplet: x64-linux
artifact: linux-debian
container: '{"image":"debian:12","options":"--shm-size=8g"}'
container: '{"image":"debian:13","options":"--shm-size=8g"}'
- name: Fedora
platform: linux
distro: fedora
@@ -170,11 +170,11 @@ jobs:
run: |
apt-get update
apt-get install -y \
build-essential clang libclang-dev cmake pkg-config nasm \
build-essential clang libclang-dev cmake pkgconf nasm \
git curl zip unzip tar python3 dpkg-dev \
libpipewire-0.3-dev libspa-0.2-dev libjack-jackd2-dev \
libasound2-dev libpulse-dev libsndfile1-dev \
libgl1-mesa-dev libgl1-mesa-dri mesa-vulkan-drivers \
libgl-dev libglvnd-dev libgl1-mesa-dri mesa-vulkan-drivers \
libvulkan-dev libxkbcommon-dev libxkbcommon-x11-dev xvfb libdrm-dev \
icc-profiles-free gdb file librsvg2-bin patchelf fonts-dejavu-core \
autoconf autoconf-archive automake libtool
+4 -4
View File
@@ -16,7 +16,7 @@ permissions:
contents: read
# One matrix, seven platforms: the three Linux-family packaging distros
# (Debian 12, Fedora 43, Arch), openKylin on x64 and arm64, macOS and
# (Debian 13, Fedora 43, Arch), openKylin on x64 and arm64, macOS and
# Windows. The environments match .github/workflows/cd.yml exactly (same
# container images, same dependency lists, same runner sizes), so a
# "passes CI, fails CD" dependency drift is caught here first.
@@ -41,7 +41,7 @@ jobs:
arch: x64
runner: warp-ubuntu-latest-x64-8x
triplet: x64-linux
container: '{"image":"debian:12","options":"--shm-size=8g"}'
container: '{"image":"debian:13","options":"--shm-size=8g"}'
- name: Fedora
platform: linux
distro: fedora
@@ -173,11 +173,11 @@ jobs:
run: |
apt-get update
apt-get install -y \
build-essential clang libclang-dev cmake pkg-config nasm \
build-essential clang libclang-dev cmake pkgconf nasm \
git curl zip unzip tar python3 dpkg-dev \
libpipewire-0.3-dev libspa-0.2-dev libjack-jackd2-dev \
libasound2-dev libpulse-dev libsndfile1-dev \
libgl1-mesa-dev libgl1-mesa-dri mesa-vulkan-drivers \
libgl-dev libglvnd-dev libgl1-mesa-dri mesa-vulkan-drivers \
libvulkan-dev libxkbcommon-dev libxkbcommon-x11-dev xvfb libdrm-dev \
icc-profiles-free gdb file librsvg2-bin patchelf fonts-dejavu-core \
autoconf autoconf-archive automake libtool
+1 -1
View File
@@ -151,7 +151,7 @@ Distribution packages are built in containers (no host dependencies
beyond Docker/Podman):
```sh
tooling/package/build-deb.sh # Debian 12 → .deb
tooling/package/build-deb.sh # Debian 13 → .deb
tooling/package/build-rpm.sh # Fedora 41 → .rpm
tooling/package/build-pkg.sh # Arch Linux → .pkg.tar.zst
```
+1 -1
View File
@@ -133,7 +133,7 @@ Windows 构建目标是 **x86_64-pc-windows-gnu**,使用 MSYS2 自带 Rust;
发行版包在容器中构建(宿主机只需要 Docker/Podman):
```sh
tooling/package/build-deb.sh # Debian 12 → .deb
tooling/package/build-deb.sh # Debian 13 → .deb
tooling/package/build-rpm.sh # Fedora 41 → .rpm
tooling/package/build-pkg.sh # Arch Linux → .pkg.tar.zst
```
+3 -2
View File
@@ -59,8 +59,9 @@ install -m644 assets/i18n/*.yaml "$STAGING/usr/share/oak/i18n/"
cp -a assets/icons/. "$STAGING/usr/share/oak/icons/"
# vcpkg's libva/libva-drm are shared libraries that FFmpeg links
# dynamically. Debian 12 / openKylin carry an older libva than FFmpeg 8
# expects (vaMapBuffer2), so ship vcpkg's copies next to the app and give
# dynamically. openKylin carries an older libva than FFmpeg 8 expects
# (vaMapBuffer2; Debian 13's 2.22 is new enough), so ship vcpkg's copies
# next to the app and give
# the executables a relative RUNPATH (`$ORIGIN`) — a system libva can then
# not shadow them. `VCPKG_LIB` is the vcpkg_installed/<triplet>/lib dir
# (CD passes it; a local build without it just skips the bundle).