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