git: d1c176fedfc9 - main - packages: Make create-sets.sh more robust
Date: Tue, 28 Apr 2026 19:50:56 UTC
The branch main has been updated by ivy:
URL: https://cgit.FreeBSD.org/src/commit/?id=d1c176fedfc99d61c1dc8037ab549bec48c17bea
commit d1c176fedfc99d61c1dc8037ab549bec48c17bea
Author: Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2026-04-28 19:39:14 +0000
Commit: Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2026-04-28 19:50:42 +0000
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
---
release/packages/create-sets.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
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