makechrootpkg: Fix anti-pattern when checking for enabled features

Don't use error-prone logic e.g.
foo=true; if $foo ...

This completely fails to act as expected when the variable is unset
because of unrelated bugs.

While this merely causes the default behavior to be "false" rather than
"true" in such cases, it is better to fail to enable explicitly
requested behavior (which will be noticed by the user) than to simply
upgrade to this behavior for free (which may not seem to have any
obvious cause).

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
This commit is contained in:
Eli Schwartz 2017-09-03 03:53:40 -04:00 committed by Bartłomiej Piotrowski
parent 3b725b5843
commit 48b2f8dcc4
1 changed files with 2 additions and 2 deletions

View File

@ -165,7 +165,7 @@ prepare_chroot() {
local keepbuilddir=$3
local run_namcap=$4
$keepbuilddir || rm -rf "$copydir/build"
[[ $keepbuilddir = true ]] || rm -rf "$copydir/build"
local builduser_uid builduser_gid
builduser_uid="${SUDO_UID:-$UID}"
@ -208,7 +208,7 @@ EOF
declare -p SOURCE_DATE_EPOCH 2>/dev/null
printf '_chrootbuild "$@" || exit\n'
if $run_namcap; then
if [[ $run_namcap = true ]]; then
declare -f _chrootnamcap
printf '_chrootnamcap || exit\n'
fi