From bd447e1a7d89c2a5f8cdcd8feb09584d95a30464 Mon Sep 17 00:00:00 2001 From: Mike Solar Date: Thu, 24 Sep 2026 18:49:54 +0800 Subject: [PATCH] tooling/ffmpeg: mark completed builds; refresh the pairing comment - touch $PREFIX/.build-complete after a successful install: the CI cache rejects a restored tree without it (a failed run's partial save) and rebuilds instead; - the old comment claimed every ffmpeg-next/FFmpeg pairing is broken upstream. Verified locally instead: ffmpeg-next 9.0.0 compiles against both release/8.1 and release/9.0 (cargo check of a scratch crate and of oak-codec against the 9.0 build), so the pinned version is a project choice, not a compatibility workaround. --- tooling/ffmpeg/build-ffmpeg.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tooling/ffmpeg/build-ffmpeg.sh b/tooling/ffmpeg/build-ffmpeg.sh index 2be587196..26296f5aa 100755 --- a/tooling/ffmpeg/build-ffmpeg.sh +++ b/tooling/ffmpeg/build-ffmpeg.sh @@ -21,12 +21,12 @@ # export FFMPEG_DIR="$(pwd)/.cache/ffmpeg" # # Why a script instead of ffmpeg-next's `build` cargo feature: the -# feature clones release/, and every such pairing is -# broken upstream (9.0.0 -> FFmpeg 9.0 headers removed AVCodec fields; -# 8.1.0 -> FFmpeg 8.1 added enum variants; 8.0.0 -> FFmpeg 8.0 renamed -# FF_PROFILE_* to AV_PROFILE_*). The one known-good pairing is -# ffmpeg-next 9.0.0 against FFmpeg 8.x headers, so this script builds -# release/8.0. +# feature clones release/, tying the FFmpeg version to the +# crate version; the project pins its own (FFMPEG_VERSION below) and +# ships a known-good pairing. ffmpeg-next 9.0.0 compiles against both the +# FFmpeg 8.x and 9.x headers — verified locally with this script's builds +# of release/8.1 and release/9.0 — so the version below is a project +# choice, not a compatibility workaround. # # Oak is GPL, so the GPL-licensed parts of FFmpeg and every free-license # external codec library are enabled. Hardware acceleration is enabled @@ -202,6 +202,10 @@ echo ">> make -j$JOBS" make -j"$JOBS" make install +# Marker for the CI cache: a restored tree without it is incomplete (a +# failed run's partial save) and is discarded/ rebuilt. +touch "$PREFIX/.build-complete" + cat <