[devtools,3/7] makechrootpkg: Adjust to have the functions work with `set -u`.

Message ID 20170405193603.22277-4-lukeshu@lukeshu.com
State Accepted
Headers show
Series [devtools,1/7] Handle makepkg.conf more consistently | expand

Commit Message

Luke Shumaker April 5, 2017, 7:35 p.m. UTC
From: Luke Shumaker <lukeshu@parabola.nu>

Even though main() doesn't call `set -u`; this way the functions will
continue to work if copied into an environment with `set -u`, or so
that we are ready if we ever want to start using `set -u`.
---
 makechrootpkg.in | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Patch

diff --git a/makechrootpkg.in b/makechrootpkg.in
index bdcaa88..f22fe49 100644
--- a/makechrootpkg.in
+++ b/makechrootpkg.in
@@ -32,7 +32,7 @@  bindmounts_ro=()
 bindmounts_rw=()
 
 copy=$USER
-[[ -n $SUDO_USER ]] && copy=$SUDO_USER
+[[ -n ${SUDO_USER:-} ]] && copy=$SUDO_USER
 [[ -z "$copy" || $copy = root ]] && copy=copy
 src_owner=${SUDO_USER:-$USER}
 
@@ -90,7 +90,7 @@  load_vars() {
 	[[ -f $makepkg_conf ]] || return 1
 
 	for var in {SRC,SRCPKG,PKG,LOG}DEST MAKEFLAGS PACKAGER; do
-		[[ -z ${!var} ]] && eval $(grep "^${var}=" "$makepkg_conf")
+		[[ -z ${!var:-} ]] && eval $(grep "^${var}=" "$makepkg_conf")
 	done
 
 	return 0
@@ -209,7 +209,7 @@  prepare_chroot() {
 
 	sed -e '/^MAKEFLAGS=/d' -e '/^PACKAGER=/d' -i "$copydir/etc/makepkg.conf"
 	for x in BUILDDIR=/build PKGDEST=/pkgdest SRCPKGDEST=/srcpkgdest SRCDEST=/srcdest LOGDEST=/logdest \
-		"MAKEFLAGS='$MAKEFLAGS'" "PACKAGER='$PACKAGER'"
+		"MAKEFLAGS='${MAKEFLAGS:-}'" "PACKAGER='${PACKAGER:-}'"
 	do
 		grep -q "^$x" "$copydir/etc/makepkg.conf" && continue
 		echo "$x" >>"$copydir/etc/makepkg.conf"
@@ -384,7 +384,7 @@  $update_first && arch-nspawn "$copydir" \
 		"${bindmounts_ro[@]}" "${bindmounts_rw[@]}" \
 		pacman -Syu --noconfirm
 
-if [[ -n ${install_pkgs[*]} ]]; then
+if [[ -n ${install_pkgs[*]:-} ]]; then
 	install_packages "$copydir" "${install_pkgs[@]}"
 	ret=$?
 	# If there is no PKGBUILD we have done