From d8d45379b52f5330c6cec616d675706eb0ba2599 Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Thu, 6 Aug 2009 20:48:05 +0000 Subject: Implement nonfatal(). svn path=/main/trunk/; revision=13936 --- bin/isolated-functions.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'bin') 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 -- cgit v1.2.3-1-g7c22