diff options
| author | Lexi Winter <ivy@FreeBSD.org> | 2026-04-28 19:39:14 +0000 |
|---|---|---|
| committer | Lexi Winter <ivy@FreeBSD.org> | 2026-04-28 19:50:42 +0000 |
| commit | d1c176fedfc99d61c1dc8037ab549bec48c17bea (patch) | |
| tree | 27a473a49df42eb4562fdd548586f5a169a90b9e | |
| parent | 7970815be40b1fa604a6554f5ee0f95f834454b5 (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-x | release/packages/create-sets.sh | 5 |
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 |
