claude-his-agent v0.2.0: split — public framework only, private runbook fetched at install

The previous package bundled the agent prompt + skill cheatsheet, which leaked
home-infra topology (specific hosts/IPs, plug AINs, /opt/herding cred file
paths, kid/2FA context) to anyone with the public APT/pacman repo URL.

v0.2.0 ships only the plumbing:
- /usr/bin/claude-his-fetch     (rsync runbook from $HIS_CONTEXT_HOST over SSH)
- /usr/bin/claude-his-install   (symlinks cache -> ~/.claude/)
- /usr/share/doc/claude-his-agent/README.md

Runbook content lives at $HIS_CONTEXT_HOST:/opt/his-context/ (default hertz)
and gets fetched into ~/.cache/claude-his-agent/ on install. SSH key auth is
the trust boundary.

Adds rsync + openssh-client as runtime deps. Upstream sha256:
c39dd1a956d303ac2417498dde05ac923bf686f1fc978f78f0d63ca42432b8b8
This commit is contained in:
2026-05-02 15:45:57 +00:00
parent b47938e0bc
commit beebeb6c65
4 changed files with 43 additions and 32 deletions
+9 -14
View File
@@ -3,14 +3,14 @@
# Mirrors the lmcp/build-deb.sh pattern.
set -euo pipefail
PKGVER=0.1.9
PKGVER=0.2.0
PKGREL=1
HIS_TARBALL_SHA256=a3bdf9a77f982ab8e0af6aefe1d243923b4cc4067bed70ed552161b8ca161642
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.1.0, 2026-04-17 11:30 UTC).
export SOURCE_DATE_EPOCH=1776677569
# 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
@@ -23,18 +23,13 @@ tar xzf his.tar.gz
ROOT="$work/pkgroot"
mkdir -p "$ROOT/DEBIAN" \
"$ROOT/usr/share/claude-agents" \
"$ROOT/usr/share/claude-skills/his" \
"$ROOT/usr/bin" \
"$ROOT/usr/share/doc/claude-his-agent"
install -m 644 claude-his-agent/agents/his.md "$ROOT/usr/share/claude-agents/his.md"
install -m 644 claude-his-agent/skills/his/SKILL.md "$ROOT/usr/share/claude-skills/his/SKILL.md"
install -m 755 claude-his-agent/scripts/claude-his-install "$ROOT/usr/bin/claude-his-install"
install -m 755 claude-his-agent/scripts/repo-inventory.sh "$ROOT/usr/bin/repo-inventory.sh"
install -m 755 claude-his-agent/scripts/repo-inventory-nosudo.sh "$ROOT/usr/bin/repo-inventory-nosudo.sh"
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"
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"
@@ -46,7 +41,7 @@ CONTROL_SRC="$HERE/debian/control"
echo "Homepage: https://git.reauktion.de/marfrit/claude-his-agent"
echo "Section: utils"
echo "Priority: optional"
echo "Depends: bash"
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"