From 08f2b68bfb4e9f495241ed66c7fababfd3f716ad Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Tue, 8 May 2012 18:31:10 +0200 Subject: scripts: fix catching failures POSIX 1003.1-2008 does not say whether "set -e" should catch a sub-shell that exits with !0 (it has a list of conditions to catch, but no list of conditions not to catch, and this situation is not listed). bash-3 does not catch such a failure, but bash-4 does. That why, on my Squeeze system I did not see the issue, while Thomas did on is Lenny chroot. Reported-by: Thomas Petazzoni Signed-off-by: "Yann E. MORIN" diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index d794743..818723f 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -596,6 +596,10 @@ if [ "${CT_ONLY_DOWNLOAD}" != "y" -a "${CT_ONLY_EXTRACT}" != "y" ]; then fi if [ ${do_it} -eq 1 ]; then ( do_${step} ) + # POSIX 1003.1-2008 does not say if "set -e" should catch a + # sub-shell ending with !0. bash-3 does not, while bash-4 does, + # so the following line is for bash-3; bash-4 would choke above. + [ $? -ne 0 ] if [ "${CT_STOP}" = "${step}" ]; then do_stop=1 fi -- cgit v0.10.2-6-g49f6