diff options
author | Dror Levin <spatz@gentoo.org> | 2010-05-26 23:23:38 +0300 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-12 01:39:43 -0700 |
commit | 65c1a6e0dddf0d99af7adbd41484150d5fc6ef9c (patch) | |
tree | f7f1bd8c5215758ec7e21c8ec8eb0ba725688c63 /bin/ebuild-helpers/ecompress | |
parent | ef30f84cc7e91bf777f505384dd9869606d4dc5f (diff) | |
download | portage-65c1a6e0dddf0d99af7adbd41484150d5fc6ef9c.tar.gz portage-65c1a6e0dddf0d99af7adbd41484150d5fc6ef9c.tar.bz2 portage-65c1a6e0dddf0d99af7adbd41484150d5fc6ef9c.zip |
Make utilities die on failure in EAPI 4, bug 273651
Diffstat (limited to 'bin/ebuild-helpers/ecompress')
-rwxr-xr-x | bin/ebuild-helpers/ecompress | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/bin/ebuild-helpers/ecompress b/bin/ebuild-helpers/ecompress index c6817ec3a..8e6fc9c8d 100755 --- a/bin/ebuild-helpers/ecompress +++ b/bin/ebuild-helpers/ecompress @@ -5,7 +5,7 @@ source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh if [[ -z $1 ]] ; then - vecho "${0##*/}: at least one argument needed" 1>&2 + helpers_die "${0##*/}: at least one argument needed" exit 1 fi @@ -95,7 +95,10 @@ case $1 in ;; --queue) shift - exec touch "${@/%/.ecompress.file}" + touch "${@/%/.ecompress.file}" + ret=$? + [[ $ret -ne 0 ]] && helpers_die "$0 failed" + exit $ret ;; --dequeue) [[ -n $2 ]] && vecho "${0##*/}: --dequeue takes no additional arguments" 1>&2 @@ -105,7 +108,7 @@ case $1 in find "${D}" -name '*.ecompress.file' -print0 | ${XARGS} -0 rm -f ;; --*) - vecho "${0##*/}: unknown arguments '$*'" 1>&2 + helpers_die "${0##*/}: unknown arguments '$*'" exit 1 ;; *) @@ -142,6 +145,9 @@ case $1 in [[ -n ${suffix} ]] && echo -n "${@/%/${suffix}$'\001'}" | \ tr '\001' '\000' | ${XARGS} -0 rm -f # Finally, let's actually do some real work - exec "${PORTAGE_COMPRESS}" ${PORTAGE_COMPRESS_FLAGS} "$@" + "${PORTAGE_COMPRESS}" ${PORTAGE_COMPRESS_FLAGS} "$@" + ret=$? + [[ $ret -ne 0 ]] && helpers_die "$0 failed" + exit $ret ;; esac |