Bug #264494 - In case the ebuild has enabled set -e during an ebuild phase,
authorZac Medico <zmedico@gentoo.org>
Wed, 1 Apr 2009 17:04:11 +0000 (17:04 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 1 Apr 2009 17:04:11 +0000 (17:04 -0000)
proactively call set +e inside qa_source(), qa_call(), and die().

svn path=/main/trunk/; revision=13273

bin/ebuild.sh
bin/isolated-functions.sh

index 04cfe6369bc7fa9323ff0a7fff9b7352f1d5163c..d1e2e8fd035bd7aec6702516f9a6c3d7577039c3 100755 (executable)
@@ -35,6 +35,7 @@ qa_source() {
        local retval
        source "$@"
        retval=$?
+       set +e
        [[ $shopts != $(shopt) ]] &&
                eqawarn "QA Notice: Global shell options changed and were not restored while sourcing '$*'"
        [[ "$IFS" != "$OLDIFS" ]] &&
@@ -47,6 +48,7 @@ qa_call() {
        local retval
        "$@"
        retval=$?
+       set +e
        [[ $shopts != $(shopt) ]] &&
                eqawarn "QA Notice: Global shell options changed and were not restored while calling '$*'"
        [[ "$IFS" != "$OLDIFS" ]] &&
index 8eab6e25970ecd448c07f153617da25c879a1e8b..9abfc308a98e06899123c8539756543379498fef 100755 (executable)
@@ -54,6 +54,7 @@ dump_trace() {
 }
 
 die() {
+       set +e
        if [ -n "${QA_INTERCEPTORS}" ] ; then
                # die was called from inside inherit. We need to clean up
                # QA_INTERCEPTORS since sed is called below.