aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLexi Winter <ivy@FreeBSD.org>2026-04-28 19:39:14 +0000
committerLexi Winter <ivy@FreeBSD.org>2026-04-28 19:50:42 +0000
commitd1c176fedfc99d61c1dc8037ab549bec48c17bea (patch)
tree27a473a49df42eb4562fdd548586f5a169a90b9e
parent7970815be40b1fa604a6554f5ee0f95f834454b5 (diff)
packages: Make create-sets.sh more robust
Use ${PKG_CMD} rather than bare 'pkg' to fix the build when pkg is not in the tools path. Provide a default in case it's not set for some reason (e.g., running the script by hand). Since set -- $(...) does not trigger an exit from set -e if the command fails, this failure was silent and resulted in sets not being built correctly if we failed to run pkg. Use a temporary variable, which does trigger set -e, to fail correctly. MFC after: 2 weeks Reviewed by: sjg Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56676
-rwxr-xr-xrelease/packages/create-sets.sh5
1 files changed, 4 insertions, 1 deletions
diff --git a/release/packages/create-sets.sh b/release/packages/create-sets.sh
index 46dfd543619c..3dfd8f1a3388 100755
--- a/release/packages/create-sets.sh
+++ b/release/packages/create-sets.sh
@@ -26,6 +26,8 @@ if [ $# -lt 3 ]; then
exit 1
fi
+: ${PKG_CMD:="pkg"}
+
srcdir="$1"; shift
wstagedir="$1"; shift
repodir="$1"; shift
@@ -43,7 +45,8 @@ for pkg in "$repodir"/*.pkg; do
# packages.
{ echo "$pkg" | grep -q '-'; } || continue
- set -- $(pkg query -F "$pkg" '%At %n %Av' | grep '^set ')
+ _tmp="$(${PKG_CMD} query -F "$pkg" '%At %n %Av' | grep '^set ')"
+ set -- $_tmp
pkgname="$2"
sets="$(echo "$3" | tr , ' ')"
for set in $sets; do