forked from marfrit/marfrit-packages
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e976c88016 | |||
| 29cc145d44 | |||
| b16a3f1a77 | |||
| c2018413aa | |||
| 243e05ca5e | |||
| a29fe71666 | |||
| b0ffd4d74f | |||
| ab60acd9f4 | |||
| 6a417fcc9d | |||
| 1c77b05f68 | |||
| 051da5e8dc | |||
| a1ff6de652 |
@@ -193,13 +193,33 @@ debian)
|
||||
esac
|
||||
|
||||
pkg_name=$(basename "$RECIPE_DIR")
|
||||
first_letter="${pkg_name:0:1}"
|
||||
|
||||
url="${REPO_BASE}/debian/pool/main/${first_letter}/${pkg_name}/${pkg_name}_${ver_full}_${file_arch}.deb"
|
||||
code=$(http_head "$url")
|
||||
if [ "$code" = "200" ]; then
|
||||
# Compare against the canonical Packages index (what apt actually
|
||||
# consults). reprepro refuses lower-version uploads, so checking
|
||||
# only an exact source-pkgrel URL produces an endless-rebuild trap
|
||||
# whenever source PKGREL has rolled back below pool head. We skip
|
||||
# if pools published version >= source version-tuple.
|
||||
source_full="${ver_full}"
|
||||
if [ -n "${PKGVER#*:}" ] && [ "${PKGVER}" != "${PKGVER#*:}" ]; then
|
||||
# PKGVER had an epoch — keep it for dpkg --compare-versions.
|
||||
source_full="${PKGVER}-${PKGREL}"
|
||||
fi
|
||||
|
||||
# Determine suite: most recipes publish to both bookworm and trixie;
|
||||
# checking trixie is sufficient (changelogs share Distribution).
|
||||
suite="trixie"
|
||||
pkg_arch_label="$file_arch"
|
||||
[ "$file_arch" = "all" ] && pkg_arch_label="all"
|
||||
packages_url="${REPO_BASE}/debian/dists/${suite}/main/binary-arm64/Packages"
|
||||
[ "$file_arch" = "amd64" ] && packages_url="${REPO_BASE}/debian/dists/${suite}/main/binary-amd64/Packages"
|
||||
|
||||
pool_ver=$(set +o pipefail; curl -sS --max-time "$HEAD_TIMEOUT" "$packages_url" 2>/dev/null | awk -v p="$pkg_name" '$1=="Package:" && $2==p {found=1; next} found && $1=="Version:" {print $2; exit}')
|
||||
|
||||
if [ -n "$pool_ver" ] && command -v dpkg >/dev/null && dpkg --compare-versions "$pool_ver" ge "$source_full"; then
|
||||
echo "pool has $pool_ver >= source $source_full" >&2
|
||||
emit 1
|
||||
fi
|
||||
echo "pool has $pool_ver, source wants $source_full — build" >&2
|
||||
emit 0
|
||||
;;
|
||||
|
||||
|
||||
+35
-38
@@ -906,7 +906,7 @@ jobs:
|
||||
# -------------------------------------------------------------------------
|
||||
ffmpeg-v4l2-request-debian:
|
||||
needs: ffmpeg-v4l2-request-aarch64
|
||||
runs-on: arch-aarch64
|
||||
runs-on: debian-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -971,7 +971,12 @@ jobs:
|
||||
# -------------------------------------------------------------------------
|
||||
libva-v4l2-request-fourier-debian:
|
||||
needs: libva-v4l2-request-fourier-aarch64
|
||||
runs-on: arch-aarch64
|
||||
# Native Debian trixie runner — the driver bakes __vaDriverInit_1_<MINOR>
|
||||
# at compile time from <va/va.h>. Building on Arch (libva 2.23) produced
|
||||
# __vaDriverInit_1_23, which trixie's libva 2.22 runtime cannot bind: the
|
||||
# .deb installed but vaInitialize() returned -1 on every host. A native
|
||||
# trixie runner avoids the cross-distro ABI skew entirely.
|
||||
runs-on: debian-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -989,9 +994,12 @@ jobs:
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
retry pacman -Syu --noconfirm --needed \
|
||||
dpkg openssh rsync curl base-devel git meson ninja pkgconf \
|
||||
libva libdrm systemd-libs
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
retry apt-get update -qq
|
||||
retry apt-get install -y --no-install-recommends \
|
||||
build-essential meson ninja-build pkg-config \
|
||||
libva-dev libdrm-dev \
|
||||
curl openssh-client rsync ca-certificates git dpkg-dev
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
@@ -1037,7 +1045,7 @@ jobs:
|
||||
# -------------------------------------------------------------------------
|
||||
mpv-fourier-debian:
|
||||
needs: mpv-fourier-aarch64
|
||||
runs-on: arch-aarch64
|
||||
runs-on: debian-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -1123,7 +1131,7 @@ jobs:
|
||||
# -------------------------------------------------------------------------
|
||||
daedalus-v4l2-debian:
|
||||
needs: claude-his-debian
|
||||
runs-on: arch-aarch64
|
||||
runs-on: debian-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -1136,39 +1144,25 @@ jobs:
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: install build-deps (sans ffmpeg — see [marfrit] step)
|
||||
- name: install build-deps
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
# Do NOT pull stock 'ffmpeg' here: the arch-aarch64 runner has
|
||||
# ffmpeg-v4l2-request-fourier pre-installed from the mpv-aarch64
|
||||
# job (configured via [marfrit]), and pacman -S ffmpeg would
|
||||
# conflict on the libav* drop-in. Daedalus build only needs
|
||||
# libavcodec/libavformat headers, which the fourier package
|
||||
# already supplies. Keep cmake/ninja/pkgconf/libdrm here; the
|
||||
# ffmpeg-dev equivalent comes via the next step.
|
||||
retry pacman -Syu --noconfirm --needed \
|
||||
dpkg openssh rsync curl base-devel git cmake ninja pkgconf \
|
||||
libdrm
|
||||
|
||||
- name: ensure ffmpeg-v4l2-request-fourier installed (link-time ABI source)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
# Idempotent: pre-install the marfrit fourier ffmpeg so cmake
|
||||
# finds libavcodec / libavformat / libavutil headers + .so's.
|
||||
# Mirrors mpv-fourier-debian's [marfrit] step.
|
||||
curl -sLo /tmp/marfrit.gpg https://packages.reauktion.de/marfrit.gpg
|
||||
pacman-key --add /tmp/marfrit.gpg
|
||||
pacman-key --lsign-key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C
|
||||
rm -f /tmp/marfrit.gpg
|
||||
if ! grep -q '^\[marfrit\]' /etc/pacman.conf; then
|
||||
printf '\n[marfrit]\nServer = https://packages.reauktion.de/arch/$arch\nSigLevel = Required\n' >> /etc/pacman.conf
|
||||
fi
|
||||
pacman -Sy --noconfirm
|
||||
rm -f /var/cache/pacman/pkg/ffmpeg-v4l2-request-fourier-*-aarch64.pkg.tar.*
|
||||
printf 'y\ny\ny\n' | pacman -S --needed marfrit/ffmpeg-v4l2-request-fourier
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
retry apt-get update -qq
|
||||
# libav*-dev provide the headers daedalus daemon dlopens at
|
||||
# runtime — Debian's stock packages match the trixie ABI the
|
||||
# daemon will encounter on Pi 5 hosts (both ship libavcodec
|
||||
# 61.x). The fourier ffmpeg fork isn't needed here; the
|
||||
# daemon never link-binds against libav (Option γ — dlopen
|
||||
# at runtime), so any header set with the right struct
|
||||
# definitions works.
|
||||
retry apt-get install -y --no-install-recommends \
|
||||
build-essential cmake ninja-build pkg-config git \
|
||||
libavcodec-dev libavformat-dev libavutil-dev libdrm-dev \
|
||||
linux-libc-dev \
|
||||
curl ca-certificates openssh-client rsync dpkg-dev
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
@@ -1212,7 +1206,7 @@ jobs:
|
||||
# -------------------------------------------------------------------------
|
||||
daedalus-v4l2-dkms-debian:
|
||||
needs: daedalus-v4l2-debian
|
||||
runs-on: arch-aarch64
|
||||
runs-on: debian-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -1230,7 +1224,10 @@ jobs:
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
retry pacman -Syu --noconfirm --needed dpkg openssh rsync curl tar gzip
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
retry apt-get update -qq
|
||||
retry apt-get install -y --no-install-recommends \
|
||||
dpkg-dev openssh-client rsync curl ca-certificates tar gzip
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
|
||||
@@ -18,10 +18,10 @@ _module=daedalus_v4l2
|
||||
|
||||
# Same pin as arch/daedalus-v4l2 — keep kernel module + daemon
|
||||
# bit-versioned together so the chardev wire protocol stays in sync.
|
||||
_commit=481279c9bffd19e32c8f3299897e9b63fc5a24aa
|
||||
_commit=3dd0eb070a75893f78368ce819b9e9ebf08c124d
|
||||
|
||||
pkgver=0.1.0.r18.481279c
|
||||
pkgrel=1 # reset for new upstream pin (481279c — Phase 8.13 close)
|
||||
pkgver=0.1.0.r20.3dd0eb0
|
||||
pkgrel=1 # reset for new upstream pin (3dd0eb0 — DAEMON-PPS H.264 SPS/PPS NAL synth)
|
||||
pkgdesc="V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5"
|
||||
arch=('any')
|
||||
url="https://git.reauktion.de/reauktion/daedalus-v4l2"
|
||||
|
||||
@@ -21,12 +21,12 @@ _upstreampkg=daedalus-v4l2
|
||||
# ffmpeg -hwaccel vaapi → libva → /dev/video0 → daemon path lands a
|
||||
# pixel-correct decoded frame back in ffmpeg. Promote to a later pin
|
||||
# only after a future phase closes cleanly.
|
||||
_commit=481279c9bffd19e32c8f3299897e9b63fc5a24aa
|
||||
_commit=3dd0eb070a75893f78368ce819b9e9ebf08c124d
|
||||
|
||||
# 0.1.0 (pre-1.0) + commit count + short sha. Bump the .Y on each
|
||||
# Phase 8.x close. pkgver() recomputes at build time.
|
||||
pkgver=0.1.0.r18.481279c
|
||||
pkgrel=1 # reset for new upstream pin (481279c — Phase 8.13 close)
|
||||
pkgver=0.1.0.r20.3dd0eb0
|
||||
pkgrel=1 # reset for new upstream pin (3dd0eb0 — DAEMON-PPS H.264 SPS/PPS NAL synth)
|
||||
pkgdesc="Userspace daemon for the daedalus-v4l2 V4L2 stateless decoder shim (VP9/AV1/H.264 on Pi 5 / CM5)"
|
||||
arch=('aarch64')
|
||||
url="https://git.reauktion.de/reauktion/daedalus-v4l2"
|
||||
|
||||
@@ -33,18 +33,22 @@ _upstreampkg=libva-v4l2-request
|
||||
# Prior pin (7ac934e) was iter38b — fresnel-fourier multi-device probe
|
||||
# + MAX_PROFILES bounds-check fix. de27e95 added the daedalus_v4l2
|
||||
# probe slot (b5b3acf), the meson option gate (2146341), and the
|
||||
# S_EXT_CTRLS diagnostic (de27e95 itself). c332d34 (LIBVA-1) finishes
|
||||
# S_EXT_CTRLS diagnostic (de27e95 itself). c332d34 (LIBVA-1) added
|
||||
# the per-codec dispatch: rpi-hevc-dec + daedalus_v4l2 both probe each
|
||||
# other as alts, VP9/AV1/H.264 route to daedalus via new 'd' kind,
|
||||
# HEVC stays on 'p' (rpi-hevc-dec). Required for the Pi 5 / CM5
|
||||
# mixed-decoder deployment (higgs).
|
||||
_commit=c332d34643be29e88012e30878d2fbeb255b20ab
|
||||
# HEVC stays on 'p' (rpi-hevc-dec). 9898331 (LIBVA-2) completes that
|
||||
# by adding video_fd_daedalus to any_fd_supports_output_format's probe
|
||||
# array — without it, H.264/VP9/AV1 profiles never got advertised on
|
||||
# Pi 5 mixed deployments (rpi-hevc-dec primary, daedalus alt) and
|
||||
# ffmpeg bailed with "No support for codec h264 profile 578" before
|
||||
# the per-codec dispatch could fire.
|
||||
_commit=989833114a7708ad999dc68309cbc181d9913bdb
|
||||
|
||||
# Project version from meson.build (1.0.0) + commit count + short sha,
|
||||
# matching the ffmpeg-v4l2-request-fourier convention. Recomputed at
|
||||
# build time by pkgver() below; the static value here is a placeholder
|
||||
# so AUR-style consumers see something coherent before src/ exists.
|
||||
pkgver=1.0.0.r378.c332d34
|
||||
pkgver=1.0.0.r380.9898331
|
||||
pkgrel=1
|
||||
pkgdesc="VA-API backend for V4L2 stateless decoders (multiplanar fork — fourier umbrella)"
|
||||
arch=('aarch64')
|
||||
|
||||
Vendored
+1
-1
@@ -16,7 +16,7 @@ work=$(mktemp -d)
|
||||
trap "rm -rf $work" EXIT
|
||||
|
||||
cd "$work"
|
||||
curl -sSLfo his.tar.gz \
|
||||
curl --connect-timeout 10 --max-time 600 --retry 3 --retry-delay 5 -sSLfo his.tar.gz \
|
||||
"https://git.reauktion.de/marfrit/claude-his-agent/archive/v${PKGVER}.tar.gz"
|
||||
echo "$HIS_TARBALL_SHA256 his.tar.gz" | sha256sum -c
|
||||
tar xzf his.tar.gz
|
||||
|
||||
+4
-4
@@ -14,9 +14,9 @@
|
||||
# Sibling userspace package: ../daedalus-v4l2/build-deb.sh
|
||||
set -euo pipefail
|
||||
|
||||
UPSTREAM_COMMIT=481279c9bffd19e32c8f3299897e9b63fc5a24aa
|
||||
PKGVER=0.1.0+r18+g481279c
|
||||
PKGREL=1 # reset for new upstream pin (481279c — Phase 8.13 close)
|
||||
UPSTREAM_COMMIT=3dd0eb070a75893f78368ce819b9e9ebf08c124d
|
||||
PKGVER=0.1.0+r20+g3dd0eb0
|
||||
PKGREL=1 # reset for new upstream pin (3dd0eb0 — DAEMON-PPS H.264 SPS/PPS NAL synth)
|
||||
MODULE_NAME=daedalus_v4l2
|
||||
|
||||
HERE=$(dirname "$(readlink -f "$0")")
|
||||
@@ -28,7 +28,7 @@ work=$(mktemp -d)
|
||||
trap "rm -rf $work" EXIT
|
||||
|
||||
cd "$work"
|
||||
curl -sSLfo daedalus-v4l2.tar.gz \
|
||||
curl --connect-timeout 10 --max-time 600 --retry 3 --retry-delay 5 -sSLfo daedalus-v4l2.tar.gz \
|
||||
"https://git.reauktion.de/reauktion/daedalus-v4l2/archive/${UPSTREAM_COMMIT}.tar.gz"
|
||||
tar xzf daedalus-v4l2.tar.gz
|
||||
SRCDIR=daedalus-v4l2
|
||||
|
||||
+14
@@ -1,3 +1,17 @@
|
||||
daedalus-v4l2-dkms (0.1.0+r20+g3dd0eb0-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to 3dd0eb0 — DAEMON-PPS kernel-side changes. device_run()
|
||||
now reads the V4L2 H.264 stateless control values from the bound
|
||||
media_request and ships them to the daemon inside REQ_DECODE
|
||||
via the new struct daedalus_h264_meta block (gated on
|
||||
DAEDALUS_REQ_FLAG_H264_META). Required for H.264 decode to
|
||||
work via the libva-v4l2-request -> daedalus daemon path; daemon
|
||||
synthesises AnnexB SPS+PPS NAL units from the structs.
|
||||
* Wire-ABI lockstep with daedalus-v4l2 0.1.0+r20+g3dd0eb0 — install
|
||||
both packages together.
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 21:00:00 +0000
|
||||
|
||||
daedalus-v4l2-dkms (0.1.0+r18+g481279c-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to 481279c in lockstep with the userspace daedalus-v4l2
|
||||
|
||||
Vendored
+4
-4
@@ -15,9 +15,9 @@ set -euo pipefail
|
||||
# end-to-end via libva (consumer target hit)" — first commit where the
|
||||
# full ffmpeg -hwaccel vaapi → libva → /dev/video0 → daemon path lands
|
||||
# a pixel-correct decoded frame back in ffmpeg.
|
||||
UPSTREAM_COMMIT=481279c9bffd19e32c8f3299897e9b63fc5a24aa
|
||||
PKGVER=0.1.0+r18+g481279c
|
||||
PKGREL=1 # reset for new upstream pin (481279c — Phase 8.13 close)
|
||||
UPSTREAM_COMMIT=3dd0eb070a75893f78368ce819b9e9ebf08c124d
|
||||
PKGVER=0.1.0+r20+g3dd0eb0
|
||||
PKGREL=1 # reset for new upstream pin (3dd0eb0 — DAEMON-PPS H.264 SPS/PPS NAL synth)
|
||||
|
||||
HERE=$(dirname "$(readlink -f "$0")")
|
||||
|
||||
@@ -28,7 +28,7 @@ work=$(mktemp -d)
|
||||
trap "rm -rf $work" EXIT
|
||||
|
||||
cd "$work"
|
||||
curl -sSLfo daedalus-v4l2.tar.gz \
|
||||
curl --connect-timeout 10 --max-time 600 --retry 3 --retry-delay 5 -sSLfo daedalus-v4l2.tar.gz \
|
||||
"https://git.reauktion.de/reauktion/daedalus-v4l2/archive/${UPSTREAM_COMMIT}.tar.gz"
|
||||
tar xzf daedalus-v4l2.tar.gz
|
||||
SRCDIR=daedalus-v4l2
|
||||
|
||||
+17
@@ -1,3 +1,20 @@
|
||||
daedalus-v4l2 (0.1.0+r20+g3dd0eb0-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to 3dd0eb0 — DAEMON-PPS H.264 SPS/PPS NAL synthesiser.
|
||||
Daemon now reconstructs AnnexB SPS+PPS NAL units from the V4L2
|
||||
stateless H.264 control structs (forwarded by the kernel via
|
||||
a new struct daedalus_h264_meta block in REQ_DECODE) and
|
||||
prepends them to the slice bitstream before feeding libavcodec.
|
||||
Without this, ffmpeg -hwaccel vaapi on H.264 sources failed
|
||||
with "non-existing PPS 0 referenced" even after LIBVA-1/-2
|
||||
routing correctly delivered the request.
|
||||
* Wire protocol: new DAEDALUS_REQ_FLAG_H264_META bit + struct
|
||||
daedalus_h264_meta; daemon and kernel must be installed in
|
||||
lockstep (this package + daedalus-v4l2-dkms 0.1.0+r20+g3dd0eb0).
|
||||
* VP9 / AV1 paths unchanged.
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 21:00:00 +0000
|
||||
|
||||
daedalus-v4l2 (0.1.0+r18+g481279c-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to 481279c. Upstream landed the systemd unit + modules-load.d
|
||||
|
||||
+32
-7
@@ -10,12 +10,15 @@
|
||||
# Upstream fork: https://git.reauktion.de/marfrit/libva-v4l2-request-fourier
|
||||
set -euo pipefail
|
||||
|
||||
# Same pin as the Arch PKGBUILD. c332d34 = LIBVA-1 close — per-codec
|
||||
# dispatch on Pi 5: rpi-hevc-dec + daedalus_v4l2 both probe each other
|
||||
# as alts, VP9/AV1/H.264 route to daedalus via new 'd' kind, HEVC stays
|
||||
# on 'p' (rpi-hevc-dec).
|
||||
UPSTREAM_COMMIT=c332d34643be29e88012e30878d2fbeb255b20ab
|
||||
PKGVER=1.0.0+r378+gc332d34
|
||||
# Same pin as the Arch PKGBUILD. 9898331 = LIBVA-2 close — completes
|
||||
# the per-codec dispatch from c332d34 (LIBVA-1) by adding video_fd_
|
||||
# daedalus to any_fd_supports_output_format's probe array. Without
|
||||
# it, H.264/VP9/AV1 profiles never got advertised on Pi 5 mixed
|
||||
# deployments (rpi-hevc-dec primary, daedalus_v4l2 alt) — ffmpeg
|
||||
# bailed with "No support for codec h264 profile 578" before the
|
||||
# per-codec dispatch could even fire.
|
||||
UPSTREAM_COMMIT=989833114a7708ad999dc68309cbc181d9913bdb
|
||||
PKGVER=1.0.0+r380+g9898331
|
||||
PKGREL=1
|
||||
|
||||
HERE=$(dirname "$(readlink -f "$0")")
|
||||
@@ -27,7 +30,7 @@ work=$(mktemp -d)
|
||||
trap "rm -rf $work" EXIT
|
||||
|
||||
cd "$work"
|
||||
curl -sSLfo libva-fourier.tar.gz \
|
||||
curl --connect-timeout 10 --max-time 600 --retry 3 --retry-delay 5 -sSLfo libva-fourier.tar.gz \
|
||||
"https://git.reauktion.de/marfrit/libva-v4l2-request-fourier/archive/${UPSTREAM_COMMIT}.tar.gz"
|
||||
tar xzf libva-fourier.tar.gz
|
||||
SRCDIR=$(echo libva-v4l2-request-fourier)
|
||||
@@ -40,6 +43,28 @@ meson setup build \
|
||||
-Db_lto=false
|
||||
meson compile -C build
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ABI sanity check: the produced .so MUST export __vaDriverInit_1_<MINOR>
|
||||
# matching the install target's libva runtime. Build is expected to run on
|
||||
# a Debian trixie runner where <va/va.h>'s VA_MINOR is 22 — see
|
||||
# .gitea/workflows/build.yml (runs-on: actrunner-debian-aarch64-bohr). If a future
|
||||
# runner change lands the build on a host with a different libva-dev
|
||||
# version, the produced symbol won't bind on the install target and ffmpeg/
|
||||
# vainfo/firefox-vaapi will all fail with "has no function
|
||||
# __vaDriverInit_1_0". Fail loud at build time instead of shipping a
|
||||
# silently-broken .deb (which is what happened in -1).
|
||||
# ---------------------------------------------------------------------------
|
||||
SO=$(find build -name 'v4l2_request_drv_video.so' | head -1)
|
||||
if ! nm -D --defined-only "$SO" | grep -q '__vaDriverInit_1_22'; then
|
||||
echo "FATAL: built driver does not export __vaDriverInit_1_22."
|
||||
echo " Build host's <va/va.h> VA_MINOR_VERSION is likely != 22."
|
||||
echo " Expected runner: actrunner-debian-aarch64-bohr (trixie, libva 2.22)."
|
||||
echo " Symbol exports found:"
|
||||
nm -D --defined-only "$SO" | grep -i vadriverinit || echo " (none)"
|
||||
exit 1
|
||||
fi
|
||||
echo "ABI check: $SO exports __vaDriverInit_1_22 (matches trixie libva 2.22)"
|
||||
|
||||
ROOT="$work/pkgroot"
|
||||
DESTDIR="$ROOT" meson install -C build
|
||||
|
||||
|
||||
@@ -1,3 +1,37 @@
|
||||
libva-v4l2-request-fourier (1.0.0+r380+g9898331-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to 9898331 — LIBVA-2 close. Adds video_fd_daedalus to
|
||||
any_fd_supports_output_format's probe list in config.c so the
|
||||
profile enumerator actually sees daedalus_v4l2's OUTPUT formats
|
||||
(VP9F + AV1F + S264). Before this commit, ffmpeg vaapi against
|
||||
H.264 on higgs bailed with "No support for codec h264 profile 578"
|
||||
because RequestQueryConfigProfiles only walked rkvdec/hantro/
|
||||
rpi-hevc-dec/vpu981 fds and never asked daedalus what it could do.
|
||||
* Backward-compatible on RK3399/3588 — new slot gated by
|
||||
HAVE_DAEDALUS_V4L2 *and* video_fd_daedalus >= 0; both false in
|
||||
those deployments.
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 19:30:00 +0000
|
||||
|
||||
libva-v4l2-request-fourier (1.0.0+r378+gc332d34-2) bookworm trixie; urgency=medium
|
||||
|
||||
* Rebuild on a native Debian trixie runner (actrunner-debian-aarch64-bohr) so
|
||||
the driver picks up trixie's libva-dev (2.22) and exports
|
||||
__vaDriverInit_1_22 — the symbol trixie's libva runtime looks up.
|
||||
Previous -1 build used the Arch CI runner (libva 2.23.0) and
|
||||
exported __vaDriverInit_1_23, which trixie's loader cannot bind:
|
||||
vaInitialize() returns -1 ("has no function __vaDriverInit_1_0")
|
||||
and ffmpeg -hwaccel vaapi fails on startup.
|
||||
* No source change; pure build-env fix. CI workflow's
|
||||
libva-v4l2-request-fourier-debian job moved from runs-on:
|
||||
arch-aarch64 to runs-on: actrunner-debian-aarch64-bohr; build-deps installed
|
||||
via apt-get instead of pacman.
|
||||
* Hard sanity check kept in build-deb.sh: build fails if the
|
||||
resulting .so doesn't export __vaDriverInit_1_22 (preempts the
|
||||
silent install-then-refuse-to-load failure mode).
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 18:00:00 +0000
|
||||
|
||||
libva-v4l2-request-fourier (1.0.0+r378+gc332d34-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to c332d34 — LIBVA-1 per-codec dispatch close. Pi 5 mixed
|
||||
|
||||
Vendored
+1
-1
@@ -23,7 +23,7 @@ work=$(mktemp -d)
|
||||
trap "rm -rf $work" EXIT
|
||||
|
||||
cd "$work"
|
||||
curl -sSLfo lmcp.tar.gz "https://git.reauktion.de/marfrit/lmcp/archive/${UPSTREAM_TAG}.tar.gz"
|
||||
curl --connect-timeout 10 --max-time 600 --retry 3 --retry-delay 5 -sSLfo lmcp.tar.gz "https://git.reauktion.de/marfrit/lmcp/archive/${UPSTREAM_TAG}.tar.gz"
|
||||
echo "$LMCP_TARBALL_SHA256 lmcp.tar.gz" | sha256sum -c
|
||||
tar xzf lmcp.tar.gz
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -33,7 +33,7 @@ work=$(mktemp -d)
|
||||
trap "rm -rf $work" EXIT
|
||||
|
||||
cd "$work"
|
||||
curl -sSLfo mpv.tar.gz \
|
||||
curl --connect-timeout 10 --max-time 600 --retry 3 --retry-delay 5 -sSLfo mpv.tar.gz \
|
||||
"https://github.com/mpv-player/mpv/archive/v${MPV_VERSION}/mpv-${MPV_VERSION}.tar.gz"
|
||||
echo "$MPV_TARBALL_SHA256 mpv.tar.gz" | sha256sum -c
|
||||
tar xzf mpv.tar.gz
|
||||
|
||||
Reference in New Issue
Block a user