From: Arfrever Frehtes Taifersar Arahesis Date: Thu, 6 Aug 2009 20:48:05 +0000 (-0000) Subject: Implement nonfatal(). X-Git-Tag: v2.2_rc37~30 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d8d45379b52f5330c6cec616d675706eb0ba2599;p=portage.git Implement nonfatal(). svn path=/main/trunk/; revision=13936 --- diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh index a05cffed0..2bd704d72 100755 --- a/bin/isolated-functions.sh +++ b/bin/isolated-functions.sh @@ -53,7 +53,23 @@ dump_trace() { done } +nonfatal() { + if has "${EAPI:-0}" 0 1 2; then + die "$FUNCNAME() not supported in this EAPI" + fi + if [[ $# -lt 1 ]]; then + die "$FUNCNAME(): Missing argument" + fi + + PORTAGE_NONFATAL=1 "$@" +} + die() { + if [[ $PORTAGE_NONFATAL -eq 1 ]]; then + echo -e " $WARN*$NORMAL ${FUNCNAME[1]}: WARNING: $@" >&2 + return 1 + fi + set +e if [ -n "${QA_INTERCEPTORS}" ] ; then # die was called from inside inherit. We need to clean up