From a8f4a708876bce364c0e27524de62840b6d46a9f Mon Sep 17 00:00:00 2001 From: claude-noether Date: Thu, 21 May 2026 23:18:00 +0200 Subject: [PATCH] ffmpeg-v4l2-request-fourier (debian): drop --enable-libxml2 (runner SONAME skew) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Gitea debian-aarch64 runner has been upgraded past Debian trixie and now ships libxml2 ≥ 2.14 (SONAME 16) while higgs (and any other trixie target) still has libxml2 2.12 (SONAME 2). -5 built cleanly, but on higgs the daedalus-v4l2 daemon's dlopen of libavformat.so.62 fails: dlopen(libavformat.so.62): libxml2.so.16: cannot open shared object file: No such file or directory Drop --enable-libxml2 from the Debian configure invocation; remove the libxml2 entry from Depends; remove libxml2-dev from the CI build-deps. FFmpeg's libxml2-backed DASH demuxer is unused on the Fourier fleet — daedalus-v4l2 daemon feeds AVPackets straight to avcodec_send_packet (no demux); mpv-fourier uses ytdlp + mpv's own stream code; firefox-fourier uses gecko-media's DASH demux. Bumps PKGREL 5 → 6. No source code or substitution-patch change. Mirrors the libva trixie/runner ABI-skew workaround pattern (marfrit-packages PR #62). Arch PKGBUILD unaffected — Arch runner + Arch consumers both rolling, libxml2 SONAMEs match. After this lands, re-deploy on higgs via: sudo apt update && sudo apt install -y ffmpeg-v4l2-request-fourier sudo systemctl restart daedalus-v4l2 --- .gitea/workflows/build.yml | 2 +- .../ffmpeg-v4l2-request-fourier/build-deb.sh | 13 ++++++------ .../debian/changelog | 21 +++++++++++++++++++ 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index e29d04d6b..66e966f6b 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -935,7 +935,7 @@ jobs: libfontconfig-dev libfribidi-dev libgmp-dev libgnutls28-dev \ libmp3lame-dev libass-dev libdav1d-dev libdrm-dev \ libfreetype-dev libpulse-dev libva-dev libvorbis-dev libvpx-dev \ - libwebp-dev libx264-dev libx265-dev libxml2-dev libopus-dev \ + libwebp-dev libx264-dev libx265-dev libopus-dev \ libvulkan-dev glslang-tools \ v4l-utils liblzma-dev zlib1g-dev \ curl ca-certificates openssh-client rsync dpkg-dev diff --git a/debian/ffmpeg-v4l2-request-fourier/build-deb.sh b/debian/ffmpeg-v4l2-request-fourier/build-deb.sh index 3081fb46e..7b52860e3 100755 --- a/debian/ffmpeg-v4l2-request-fourier/build-deb.sh +++ b/debian/ffmpeg-v4l2-request-fourier/build-deb.sh @@ -33,10 +33,13 @@ FFMPEG_VERSION=8.1 # epoch 2 matches Debian's stock ffmpeg (currently 7:7.1.x in trixie); # +rfourier suffix to avoid colliding with upstream/Debian rebuilds. PKGVER=2:${FFMPEG_VERSION}+rfourier+gb57fbbe -PKGREL=5 # pkgrel=5 — H.264 IDCT 4x4 daedalus-fourier substitution; skip past - # an orphan -4 .deb sitting in the apt pool that made - # check-already-published.sh's `pool_ver ge source_full` short- - # circuit the previous -3 build (PR #76). (2026-05-21) +PKGREL=6 # pkgrel=6 — drop --enable-libxml2 to avoid runner/target libxml2 + # SOVERSION skew (runner has libxml2 ≥ 2.14 = SONAME 16; trixie + # has 2.12 = SONAME 2; -5 .deb dlopens libavformat → fails on + # "libxml2.so.16: cannot open shared object"). Neither the + # daedalus-v4l2 daemon (direct AVPacket feed) nor mpv-fourier + # nor firefox-fourier consumers need FFmpeg's DASH demuxer. + # (2026-05-21) # daedalus-fourier pin — first kernel substitution in libavcodec (cycle 6 # H.264 IDCT 4x4). Same SHA as the daedalus-v4l2 daemon already ships @@ -134,7 +137,6 @@ cd "$work/FFmpeg" --enable-libass \ --enable-libfreetype \ --enable-libfribidi \ - --enable-libxml2 \ --enable-libpulse \ --enable-libdav1d \ --enable-libopus \ @@ -190,7 +192,6 @@ Depends: libc6, libfontconfig1, libfreetype6, libfribidi0, - libxml2, libpulse0, libdav1d7 | libdav1d6, libopus0, diff --git a/debian/ffmpeg-v4l2-request-fourier/debian/changelog b/debian/ffmpeg-v4l2-request-fourier/debian/changelog index aec93033c..6af7309dc 100644 --- a/debian/ffmpeg-v4l2-request-fourier/debian/changelog +++ b/debian/ffmpeg-v4l2-request-fourier/debian/changelog @@ -1,3 +1,24 @@ +ffmpeg-v4l2-request-fourier (2:8.1+rfourier+gb57fbbe-6) bookworm trixie; urgency=medium + + * Drop --enable-libxml2 + libxml2 Depends — the Gitea + debian-aarch64 runner ships libxml2 ≥ 2.14 (SONAME 16) while + Debian trixie targets 2.12 (SONAME 2). -5 built fine, then + failed to load on higgs trixie: + dlopen(libavformat.so.62): libxml2.so.16: + cannot open shared object file + Neither the daedalus-v4l2 daemon (direct AVPacket feed — + libavformat used only for the in-tree v4l2request hwaccel + glue) nor mpv-fourier (Lua + ytdlp + mpv's stream code do + DASH/HLS) nor firefox-fourier (gecko-media DASH demux) + consumes FFmpeg's libxml2-backed DASH demuxer, so dropping is + feature-neutral. Mirrors the libva trixie/runner ABI-skew + workaround documented in PR #62. + * CI workflow build-deps lose libxml2-dev for the same reason. + * No source code change beyond configure flags + Depends. + Substitution stays as PRs #76/#77 landed. + + -- Markus Fritsche Thu, 21 May 2026 23:30:00 +0000 + ffmpeg-v4l2-request-fourier (2:8.1+rfourier+gb57fbbe-5) bookworm trixie; urgency=medium * pkgrel-only bump (3 → 5) to force a rebuild of the H.264 IDCT 4x4