eutils.eclass: More reliable return status for e*_clean functions.
authorUlrich Müller <ulm@gentoo.org>
Fri, 16 Feb 2018 06:47:46 +0000 (07:47 +0100)
committerUlrich Müller <ulm@gentoo.org>
Fri, 2 Mar 2018 08:33:23 +0000 (09:33 +0100)
In ecvs_clean, combine the two find commands into one, so that the
exit status of the first one won't be ignored.

Also use find -exec rather then find | xargs, so we don't have to
check the exit status of all commands in the pipeline.

eclass/eutils.eclass

index 8bbd561015adfda2541f3a1eddf04247a434bafd..0a5bf3853582a6dafea99b6784d39fafc7f26388 100644 (file)
@@ -44,8 +44,8 @@ fi
 # internal CVS directories.  Defaults to $PWD.
 ecvs_clean() {
        [[ $# -eq 0 ]] && set -- .
-       find "$@" -type d -name 'CVS' -prune -print0 | xargs -0 rm -rf
-       find "$@" -type f -name '.cvs*' -print0 | xargs -0 rm -rf
+       find "$@" '(' -type d -name 'CVS' -prune -o -type f -name '.cvs*' ')' \
+               -exec rm -rf '{}' +
 }
 
 # @FUNCTION: esvn_clean
@@ -55,7 +55,7 @@ ecvs_clean() {
 # internal Subversion directories.  Defaults to $PWD.
 esvn_clean() {
        [[ $# -eq 0 ]] && set -- .
-       find "$@" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf
+       find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' +
 }
 
 # @FUNCTION: egit_clean
@@ -65,7 +65,7 @@ esvn_clean() {
 # contains internal Git directories.  Defaults to $PWD.
 egit_clean() {
        [[ $# -eq 0 ]] && set -- .
-       find "$@" -type d -name '.git*' -prune -print0 | xargs -0 rm -rf
+       find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' +
 }
 
 # @FUNCTION: emktemp