From d104ba17e9d5230e36d2c5f9ecd2014e470e3e0a Mon Sep 17 00:00:00 2001 From: Paul Hammant Date: Mon, 10 Aug 2026 06:37:15 +0100 Subject: [PATCH] test(nightly): gate on FFmpeg, and find libs in the multiarch dir [skip actions] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two changes to the CachyOS nightly's dependency gate. FFmpeg is now required. contrib/avcodec landed in 0.509.0 and its audio half in 0.513.0, and the contrib-check entry SKIPs when pkg-config cannot find the FFmpeg libraries — so without a gate entry the nightly would report a green run whose avcodec test never actually executed. That is the failure mode the gate exists to prevent: a dedicated build box should test everything, and a missing library is a provisioning bug, not a silent skip. Both libavcodec and libswresample are listed, since 0.513.0 made all five FFmpeg libs a required set. have_dep's `lib` kind also now looks in /usr/lib/-linux-gnu. On Debian and Ubuntu that is the ONLY place these libraries live — verified here, where libavcodec.so exists in the multiarch dir and in none of the four paths the matcher previously searched, so a Debian-shaped box would report every lib dependency MISSING. Arch has no multiarch dir, so the extra path is a harmless no-op on the box this script actually runs on. Verified on both shapes rather than assumed: Debian 12 (here): ffmpeg / ffmpeg-swr / sqlite / expat all "dep OK" CachyOS (the box): same four "dep OK" — FFmpeg is already installed there, so this turns the avcodec gate ON rather than red [skip actions] is correct and bare: this touches tests/cachyos/ only — no compiler, runtime, std or contrib code — and the nightly is self-run on its own box rather than by GitHub Actions. Co-Authored-By: Claude Opus 4.8 --- tests/cachyos/nightly.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/cachyos/nightly.sh b/tests/cachyos/nightly.sh index 4794e3a0..ccba4136 100755 --- a/tests/cachyos/nightly.sh +++ b/tests/cachyos/nightly.sh @@ -102,7 +102,8 @@ have_dep() { case "$kind" in cmd) for c in "$@"; do command -v "$c" >/dev/null 2>&1 && return 0; done ;; lib) for l in "$@"; do - for d in /usr/lib /usr/lib64 /usr/local/lib /lib; do + for d in /usr/lib /usr/lib64 /usr/local/lib /lib \ + "/usr/lib/$(uname -m)-linux-gnu"; do [ -e "$d/$l" ] && return 0 ls "$d/$l".* >/dev/null 2>&1 && return 0 done @@ -133,6 +134,8 @@ require_deps() { "lua|cmd|lua|lua5.4|lua5.3" \ "tcl|cmd|tclsh" \ "duktape|lib|libduktape.so" \ + "ffmpeg|lib|libavcodec.so" \ + "ffmpeg-swr|lib|libswresample.so" \ "go|cmd|go" \ "nodejs|cmd|node" \ "java|cmd|java" \