forked from marfrit/marfrit-packages
Merge pull request 'ci: convert daedalus-v4l2{,-dkms}-debian install steps to apt-get' (#50) from claude-noether/marfrit-packages:noether/ci-fourier-debian-apt into main
Reviewed-on: marfrit/marfrit-packages#50
This commit is contained in:
+19
-30
@@ -1144,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'
|
||||
@@ -1238,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'
|
||||
|
||||
Reference in New Issue
Block a user