commit d28492ea4c4b9ff2306f4388fa98eed65a420de9
parent dfb988771478a0c62450425282332eb76dcfe495
Author: Robin Bron <robin.bron@yourhosting.nl>
Date: Fri, 25 Sep 2026 17:46:06 +0200
apk-tools fix and state reporting
Diffstat:
2 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/mk/check-revision.sh b/mk/check-revision.sh
@@ -39,6 +39,15 @@ done
[ -n "${PKG}" ] || { echo "usage: check-revision.sh <pkg> [arch] [--repo <url>]" >&2; exit 1; }
+# Already published: nothing to build. The marker tells the conductor to
+# report the task as skipped rather than as a pass.
+published() {
+ echo "check-revision.sh: $1" >&2
+ echo " bump revision in packages/${PKG}/template to rebuild" >&2
+ echo "::set-state skipped"
+ exit 1
+}
+
case "${ARCH}" in arm64) ARCH=aarch64 ;; esac
case "${ARCH}" in x86_64|aarch64) ;; *) echo "check-revision.sh: unsupported ARCH ${ARCH}" >&2; exit 1 ;; esac
@@ -66,9 +75,7 @@ APK_NAME="${PKG}-${PKGVER}.apk"
# Check local repo first
if [ -z "${REPO}" ]; then
if [ -f "${ROOT}/build/repo/${ARCH}/${APK_NAME}" ]; then
- echo "check-revision.sh: ${APK_NAME} already exists in build/repo/${ARCH}/" >&2
- echo " bump revision in packages/${PKG}/template before rebuilding" >&2
- exit 1
+ published "${APK_NAME} already exists in build/repo/${ARCH}/"
fi
# Also check published repo via local path if it exists
REPO="${ROOT}/build/repo/${ARCH}"
@@ -93,9 +100,7 @@ case "${REPO}" in
code=$(curl -sSL -o /dev/null -w '%{http_code}' --head "${url}" 2>/dev/null) || code=000
case "${code}" in
2*)
- echo "check-revision.sh: ${APK_NAME} already published at ${url}" >&2
- echo " bump revision in packages/${PKG}/template" >&2
- exit 1
+ published "${APK_NAME} already published at ${url}"
;;
404) ;;
*)
@@ -106,9 +111,7 @@ case "${REPO}" in
;;
*)
if [ -f "${REPO}/${APK_NAME}" ]; then
- echo "check-revision.sh: ${APK_NAME} already exists in ${REPO}/" >&2
- echo " bump revision in packages/${PKG}/template before rebuilding" >&2
- exit 1
+ published "${APK_NAME} already exists in ${REPO}/"
fi
;;
esac
diff --git a/packages/apk-tools/template b/packages/apk-tools/template
@@ -15,8 +15,9 @@ hostmakedepends="muon"
# Notes:
# - Same version the host manager was built from (v3.0.8); target and host
# stay on one version until there is a reason to diverge.
-# - muon (build/host/bin, on PATH via the driver) configures, ninja builds;
-# out-of-tree in ${WORK}/build, DESTDIR install.
+# - muon (build/host/bin, on PATH via the driver) configures and builds via
+# its vendored samurai, so no ninja on the host; out-of-tree in
+# ${WORK}/build, DESTDIR install.
# - url_backend=libfetch (in-tree, no extra package) over wget; crypto
# openssl (zlib + openssl come from the sysroot via PKG_CONFIG_PATH).
# - Disabled: docs (needs host scdoc), help/lua/python (needs lua/python),
@@ -41,9 +42,9 @@ do_configure() {
}
do_build() {
- ninja -C "${WORK}/build"
+ muon -C "${WORK}/build" samu
}
do_install() {
- DESTDIR="${DESTDIR}" ninja -C "${WORK}/build" install
+ DESTDIR="${DESTDIR}" muon -C "${WORK}/build" install
}