Files
marfrit-packages/debian/claude-his-agent/build-deb.sh
T
marfrit a29fe71666
build and publish packages / distcc-avahi-aarch64 (push) Successful in 3s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 4s
build and publish packages / lmcp-any (push) Successful in 3s
build and publish packages / lmcp-debian (push) Successful in 3s
build and publish packages / claude-his-any (push) Successful in 3s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 3s
build and publish packages / claude-his-debian (push) Successful in 3s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 3s
build and publish packages / daedalus-v4l2-debian (push) Successful in 3s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 3s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 3s
build and publish packages / mpv-fourier-debian (push) Successful in 4s
build.yml: route 4 fourier-debian jobs to debian-aarch64 (bohr) (#47)
Closes task #134 work.

PR #44 showed the cross-distro ABI hazard for `libva-v4l2-request-fourier-debian`: building on Arch (libva 2.23) produced `__vaDriverInit_1_23`, which trixies libva 2.22 runtime cant bind. Same hazard applies to other fourier-debian jobs that link against debian-native libs.

**Moved from runs-on: arch-aarch64 → debian-aarch64:**
- ffmpeg-v4l2-request-debian
- mpv-fourier-debian
- daedalus-v4l2-debian
- daedalus-v4l2-dkms-debian

**Left alone (arch=all, no native compile against debian libs):**
- lmcp-debian
- claude-his-debian

Depends on PR #46 (label vs name fix) being merged so `debian-aarch64` actually routes to bohr.

Reviewed-on: #47
2026-05-20 14:39:43 +00:00

55 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Build claude-his-agent_<ver>_all.deb from this directory using dpkg-deb.
# Mirrors the lmcp/build-deb.sh pattern.
set -euo pipefail
PKGVER=0.2.0
PKGREL=1
HIS_TARBALL_SHA256=c39dd1a956d303ac2417498dde05ac923bf686f1fc978f78f0d63ca42432b8b8
HERE=$(dirname "$(readlink -f "$0")")
# Reproducible build: pin mtimes + ar member timestamps to a fixed epoch
# tied to this release (v0.2.0, 2026-05-02 11:00 UTC).
export SOURCE_DATE_EPOCH=1778763600
work=$(mktemp -d)
trap "rm -rf $work" EXIT
cd "$work"
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
ROOT="$work/pkgroot"
mkdir -p "$ROOT/DEBIAN" \
"$ROOT/usr/bin" \
"$ROOT/usr/share/doc/claude-his-agent"
install -m 755 claude-his-agent/bin/claude-his-fetch "$ROOT/usr/bin/claude-his-fetch"
install -m 755 claude-his-agent/bin/claude-his-install "$ROOT/usr/bin/claude-his-install"
install -m 644 claude-his-agent/README.md "$ROOT/usr/share/doc/claude-his-agent/README.md"
install -m 644 "$HERE/debian/copyright" "$ROOT/usr/share/doc/claude-his-agent/copyright"
# Render control from the source debian/control, filling in version
CONTROL_SRC="$HERE/debian/control"
{
echo "Package: claude-his-agent"
echo "Version: ${PKGVER}-${PKGREL}"
echo "Architecture: all"
echo "Maintainer: Markus Fritsche <mfritsche@reauktion.de>"
echo "Homepage: https://git.reauktion.de/marfrit/claude-his-agent"
echo "Section: utils"
echo "Priority: optional"
echo "Depends: bash, rsync, openssh-client"
# Trailing description from the source control (indented multi-line block)
awk '/^Description:/{p=1} p' "$CONTROL_SRC"
} > "$ROOT/DEBIAN/control"
# Normalize mtimes for reproducibility
find "$ROOT" -exec touch -d "@$SOURCE_DATE_EPOCH" {} +
OUT_DEB="$HERE/claude-his-agent_${PKGVER}-${PKGREL}_all.deb"
dpkg-deb --build --root-owner-group "$ROOT" "$OUT_DEB"
ls -la "$OUT_DEB"