commit:     6b5ca8e6aa5469660c1657a104655c9026725c15
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 19 20:23:01 2015 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 03:05:15 2015 +0000
URL:        https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=6b5ca8e6

targets/stage1/stage1-chroot.sh: don't quote ${clst_HOSTUSEEXPAND}

Remove the quotes on ${clst_HOSTUSEEXPAND} so the for loops skip
any iterations when clst_HOSTUSEEXPAND is unset.  Otherwise a
spurious line is introduced in the make.conf file which causes
a syntax error.

To illustrate the problem, run the follow two lines of bash:

  unset A ; for i in $A; do echo x${i}x ; done    #line 1
  unset A ; for i in "$A"; do echo x${i}x ; done  #line 2

Line 1 leads to no output, while line 2 leads to "xx".

We also fix a typo in the sed line.

Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 targets/stage1/stage1-chroot.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/targets/stage1/stage1-chroot.sh b/targets/stage1/stage1-chroot.sh
index f79f360..63aa563 100755
--- a/targets/stage1/stage1-chroot.sh
+++ b/targets/stage1/stage1-chroot.sh
@@ -57,7 +57,7 @@ sed -i '/USE="${USE} -build"/d' /etc/portage/make.conf
 if [ -e /etc/portage/make.conf ]; then
        echo "USE=\"-* build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"" \
        >> /etc/portage/make.conf
-       for useexpand in "${clst_HOSTUSEEXPAND}"; do
+       for useexpand in ${clst_HOSTUSEEXPAND}; do
                x="clst_${useexpand}"
                echo "${useexpand}=\"${!x}\"" \
                >> /etc/portage/make.conf
@@ -66,8 +66,8 @@ fi
 run_merge "--oneshot ${clst_buildpkgs}"
 sed -i "/USE=\"-* build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"/d" \
        /etc/portage/make.conf
-for useexpand in "${clst_HOSTUSEEXPAND}"; do
+for useexpand in ${clst_HOSTUSEEXPAND}; do
        x="clst_${useexpand}"
-       sed -i "${useexpand}=\"${!x}\"" \
+       sed -i "/${useexpand}=\"${!x}\"/d" \
        /etc/portage/make.conf
 done

Reply via email to