# HG changeset patch # User "Yann E. MORIN" # Date 1336494670 -7200 # Node ID 11b93b849695f7ae1d3430afe606dfea210e1336 # Parent 073a24df885218c38338d768c8e089522a541416 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" (transplanted from d48c03998dc1c25a3b29b2c0af425631baee3abe) diff -r 073a24df8852 -r 11b93b849695 scripts/crosstool-NG.sh.in --- a/scripts/crosstool-NG.sh.in Sat May 05 23:04:21 2012 +0200 +++ b/scripts/crosstool-NG.sh.in Tue May 08 18:31:10 2012 +0200 @@ -596,6 +596,10 @@ 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