From 8f294e9fb0e139d54cafcdba791875ef4fea4c20 Mon Sep 17 00:00:00 2001 From: Justin Davis Date: Thu, 14 Jun 2012 20:43:22 -0400 Subject: Cleanup pkg/dest when package is not found. --- bin/genpkg | 8 +++++++- bin/prepkg | 17 +++++++++++------ preps/perl | 6 +++--- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/bin/genpkg b/bin/genpkg index d9ffcc5..8cbd6ba 100755 --- a/bin/genpkg +++ b/bin/genpkg @@ -104,7 +104,13 @@ do PREPSPATH="$prepd" PKGVAR="$vard" prepkg "$pkg" > PKGDATA ret=$? case $ret in - 0) echo "$pkgd/$pkg" ;; + 0) echo "$pkgd/$pkg" + ;; + 101) # 101 from prepkg means cleanup + cd + rm -r "$pkgd/$pkg" + exit 1 + ;; *) rm PKGDATA exit $ret esac diff --git a/bin/prepkg b/bin/prepkg index 9d95a46..22356fa 100755 --- a/bin/prepkg +++ b/bin/prepkg @@ -4,8 +4,10 @@ prog=prepkg err() { + ret=$1 + shift echo "$prog: $*" 1>&2 - exit 1 + exit $ret } basicmeta() @@ -24,11 +26,11 @@ basicmeta() case $# in 0) echo "usage: $prog [package name]" 1>&2 - exit 1 + exit 2 esac case "$PREPSPATH" in -'') err "set PREPSPATH before calling $prog" +'') err 2 "set PREPSPATH before calling $prog" esac for flav in "$PREPSPATH"/* @@ -40,11 +42,14 @@ do case "$prepret" in 100) ;; # loop + 101) exit 101 ;; # tell genpkg to cleanup 0) basicmeta exit 0 ;; - 1) err "$flav encountered an error" ;; - *) err "$flav returned error code $prepret" ;; + 1) err 1 "$flav encountered an error" ;; + *) err 1 "$flav returned error code $prepret" ;; esac done -err "no matching meta generator found for '$1'" +echo "no matching meta generator found for '$1'" 1>&2 +exit 101 + diff --git a/preps/perl b/preps/perl index fe68323..5e88b06 100755 --- a/preps/perl +++ b/preps/perl @@ -82,9 +82,9 @@ sub main if($guess){ return 100 }else{ - ## Return a hard error to prepkg if perl- package. - err(qq{failed to find perl dist similar to '$dist'}); - return 1 + ## If its a perl- package tell prepkg to cleanup. + print STDERR qq{$PROG: failed to find perl dist similar to '$dist'\n}; + return 101 } } fetchdist($cpath); -- cgit v1.2.3-24-g4f1b