Merge nucleic/zesty-dewy-ferret-tlmk into dev

This commit is contained in:
2026-07-21 19:14:46 -07:00
parent fd7ed7dcf7
commit a0f73f317f
3 changed files with 38 additions and 9 deletions
+22 -1
View File
@@ -17,12 +17,13 @@ set -euo pipefail
PKG_DIR="$(cd "$(dirname "$0")" && pwd)"
OS_DIR="$(cd "$PKG_DIR/.." && pwd)"
ARCHES="arm64,amd64" CHANNEL="${NAROS_CHANNEL:-edge}" ONLY=""
ARCHES="arm64,amd64" CHANNEL="${NAROS_CHANNEL:-edge}" ONLY="" REQUIRE=""
while [ $# -gt 0 ]; do
case "$1" in
--arch) ARCHES="$2"; shift 2 ;;
--channel) CHANNEL="$2"; shift 2 ;;
--only) ONLY="$2"; shift 2 ;;
--require) REQUIRE="$2"; shift 2 ;;
*) echo "unknown arg: $1" >&2; exit 2 ;;
esac
done
@@ -82,3 +83,23 @@ for d in "$PKG_DIR"/*/; do
build_one "$d" all
fi
done
# A missing prebuilt binary only WARNS above, so that metadata-only iteration works without a Rust
# toolchain. That leniency is wrong for the packages a guest cannot boot without: nucleic-a11y-agent
# was cross-built for arm64 only, so its amd64 deb skipped silently and simply never appeared in the
# published repo — a gap nothing failed on. --require turns the skip into an error for a named set.
if [ -n "$REQUIRE" ]; then
missing=""
IFS=, read -ra RR <<< "$REQUIRE"
IFS=, read -ra AA <<< "$ARCHES"
for name in "${RR[@]}"; do
ver="$(pkg_version "$PKG_DIR/$name")"
for a in "${AA[@]}"; do
[ -f "$POOL/${name}_${ver}_$a.deb" ] || missing="$missing ${name}_${ver}_$a.deb"
done
done
if [ -n "$missing" ]; then
echo "FATAL: required package(s) did not build (see the SKIP lines above):$missing" >&2
exit 1
fi
fi