#!/bin/bash # Build sic-agent__.deb using dpkg-deb (Go cross-build of the client # plus the agent skills). # # Usage: ./build-deb.sh [amd64|arm64] (default: host dpkg architecture) # Needs: go, dpkg-deb, curl. set -euo pipefail PKGVER=0.2.0 PKGREL=1 SIC_TARBALL_SHA256=fe0569013da5bfa248743cd04bc2f09da8217b04432aa69827ed5287a133a37c HERE=$(dirname "$(readlink -f "$0")") DEB_ARCH="${1:-$(dpkg --print-architecture)}" case "$DEB_ARCH" in amd64) GOARCH=amd64 ;; arm64) GOARCH=arm64 ;; *) echo "unsupported arch: $DEB_ARCH (use amd64 or arm64)" >&2; exit 1 ;; esac export SOURCE_DATE_EPOCH=1784808000 work=$(mktemp -d) trap "rm -rf $work" EXIT cd "$work" curl -sSLfo sic.tar.gz \ "https://git.reauktion.de/marfrit/sic/archive/v${PKGVER}.tar.gz" echo "$SIC_TARBALL_SHA256 sic.tar.gz" | sha256sum -c tar xzf sic.tar.gz ( cd sic && GOOS=linux GOARCH="$GOARCH" CGO_ENABLED=0 \ GOFLAGS='-buildvcs=false -trimpath' go build -ldflags='-s -w' -o sic ./cmd/sic ) ROOT="$work/pkgroot" mkdir -p "$ROOT/DEBIAN" "$ROOT/usr/bin" \ "$ROOT/usr/share/sic-agent/skills/sic" \ "$ROOT/usr/share/sic-agent/skills/sic-bg" \ "$ROOT/usr/share/doc/sic-agent" install -m755 sic/sic "$ROOT/usr/bin/sic" install -m644 sic/SKILL.md "$ROOT/usr/share/sic-agent/skills/sic/SKILL.md" install -m644 sic/SKILL-bg.md "$ROOT/usr/share/sic-agent/skills/sic-bg/SKILL.md" install -m644 sic/README.md "$ROOT/usr/share/doc/sic-agent/README.md" install -m644 "$HERE/debian/copyright" "$ROOT/usr/share/doc/sic-agent/copyright" { echo "Package: sic-agent" echo "Version: ${PKGVER}-${PKGREL}" echo "Architecture: ${DEB_ARCH}" echo "Maintainer: Markus Fritsche " echo "Section: net" echo "Priority: optional" echo "Depends: openssh-client" echo "Homepage: https://git.reauktion.de/marfrit/sic" echo "Description: sic client and agent skills for remote command execution" echo " The sic client frames argv as netstrings and pipes it over ssh to" echo " sicd on a remote host. Installs /usr/bin/sic and foreground/background" echo " agent skills under /usr/share/sic-agent/skills/; link them into the" echo " agent's skills directory to activate. Targets need the sicd package." } > "$ROOT/DEBIAN/control" OUT="$HERE/sic-agent_${PKGVER}-${PKGREL}_${DEB_ARCH}.deb" rm -f "$OUT" dpkg-deb --root-owner-group --build "$ROOT" "$OUT" echo "built $OUT"