From d73ef0f31f2e154633da4a763b9a20a13b920ca2 Mon Sep 17 00:00:00 2001 From: Masamichi Hosoda Date: Fri, 16 Dec 2016 20:57:58 +0900 Subject: [PATCH] Issue 5013: Fix scripts for environments where "set -ux" carries over Normally, in Bourne shell scripts, "set -ux" does not carry over to child processes. However, under some conditions, it carries over to child processes. (E.g. environment variable SHELLOPTS exists.) If "set -ux" in smart-autogen.sh carries over to the child processes, autoconf fails. In order to avoid the issue, this commit makes smart-autogen.sh and smart-configure.sh use "set +ux" to cancel the effect of "set -ux" just before invoking the child process. Likewise, this commit also removes "set -e" for avoiding "set -e" carrying over, and adds alternative error handling. --- smart-autogen.sh | 3 +-- smart-configure.sh | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/smart-autogen.sh b/smart-autogen.sh index 6f4525dac1..77412123cc 100755 --- a/smart-autogen.sh +++ b/smart-autogen.sh @@ -11,6 +11,5 @@ if test `cat $CHECKSUM_FILE`"" = "$AUTOGEN_INPUT_CHECKSUM"; then exit 0 fi -set -e -${srcdir}/autogen.sh "$@" +( set +ux; echo Invoking autogen.sh...; ${srcdir}/autogen.sh "$@" ) || exit 1 printf "%s" $AUTOGEN_INPUT_CHECKSUM > $CHECKSUM_FILE diff --git a/smart-configure.sh b/smart-configure.sh index d55947f08c..8ba39eb7dc 100755 --- a/smart-configure.sh +++ b/smart-configure.sh @@ -14,7 +14,6 @@ if test `cat $CONFIGURE_CHECKSUM_FILE` = "$CONFIGURE_CHECKSUM" ; then exit 0 fi -set -e -$srcdir/configure "$@" +( set +ux; echo Invoking configure...; $srcdir/configure "$@" ) || exit 1 printf "%s" $CONFIGURE_CHECKSUM > $CONFIGURE_CHECKSUM_FILE -- 2.39.2