Re: git: d1c176fedfc9 - main - packages: Make create-sets.sh more robust

From: Shawn Webb <shawn.webb_at_hardenedbsd.org>
Date: Sat, 02 May 2026 18:08:21 UTC
On Tue, Apr 28, 2026 at 07:50:56PM +0000, Lexi Winter wrote:
> 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
> 

After this commit, the create-sets.sh script exits with an error code,
but no error message. I'm not entirely sure what's going wrong for me.

Thanks,

-- 
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

Signal Username:  shawn_webb.74
Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50
https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc