From 5479ee241bff33345317e81d8b5917cdb73085e2 Mon Sep 17 00:00:00 2001 From: Justin Davis Date: Sun, 20 Nov 2011 10:07:05 -0500 Subject: Fix error messages and error codes. --- bin/genpkg | 16 +++++++++++----- bin/makepkgmeta | 18 +++++++----------- lib/metas/perl | 4 ++-- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/bin/genpkg b/bin/genpkg index b475ac2..c933076 100755 --- a/bin/genpkg +++ b/bin/genpkg @@ -10,25 +10,25 @@ vard=~/var if [ $# -lt 1 ] then echo "usage: $prog [package name]" 1>&2 - exit 1 + exit 2 fi if ! [ -d "$tweakd" ] then echo "$prog: bad package tweaks dir: $tweakd" 1>&2 - exit 2 + exit 1 fi if ! [ -d "$pkgd" ] then echo "$prog: bad package dest dir: $pkgd" 1>&2 - exit 2 + exit 1 fi if ! [ -d "$vard" ] then echo "$prog: bad package var dir: $vard" 1>&2 - exit 2 + exit 1 fi cwd=$(pwd) @@ -40,12 +40,18 @@ do cd "$pkgd/$pkg" METABIN=$libd/metas PKGVAR=$vard makepkgmeta "$pkg" >PKGMETA + case $? in 1) rm PKGMETA ; exit 1 ;; esac + echo "Generated $pkgd/$pkg/PKGMETA" twk=$libd/tweakd/$pkg if [ -f "$twk" -a -r "$twk" ] then - tweakmeta >PKGMETA.new <$twk + if ! tweakmeta >PKGMETA.new <$twk + then + rm PKGMETA.new + exit 1 + fi mv PKGMETA.new PKGMETA echo "Tweaked PKGMETA with $tweakd/$pkg." fi diff --git a/bin/makepkgmeta b/bin/makepkgmeta index 476d576..b6dfcff 100755 --- a/bin/makepkgmeta +++ b/bin/makepkgmeta @@ -17,13 +17,9 @@ $1 == "source" { END { # remember that metas emit no output when they cant match # a package. - if (NR == 0) exit 0 + if (NR == 0 || !ver) exit 2 ORS="\n" - if (!ver) { - print prog ": wtf? pkgver is empty!" | "cat 1>&2" - exit 1 - } # Replace any version strings in the source file with ${pkgver}. gsub(/[.]/, "\\\\&", ver) @@ -68,13 +64,13 @@ do case $metaret in 0) basicmeta $1 exit 0 ;; - 1) ;; # loop - 2) echo "error: $flav encountered an error" 1>&2 - exit 2 ;; - *) echo "error: $flav returned error code $metaret" 1>&2 - exit 2 ;; + 1) echo "makepkgmeta: $flav encountered an error" 1>&2 + exit 1 ;; + 2) ;; # loop + *) echo "makepkgmeta: $flav returned error code $metaret" 1>&2 + exit 1 ;; esac done -echo "error: no matching meta generator found for '$1'" 1>&2 +echo "makepkgmeta: no matching meta generator found for '$1'" 1>&2 exit 1 diff --git a/lib/metas/perl b/lib/metas/perl index ba2cfa1..df6fc9c 100755 --- a/lib/metas/perl +++ b/lib/metas/perl @@ -7,7 +7,7 @@ use File::Fetch; use IO::Handle; # for autoflush use Cwd; -my $PROG = 'perl'; +my $PROG = 'metas/perl'; sub err { @@ -73,7 +73,7 @@ sub main my ($realname, $cpath) = matchdist($dist); unless($realname){ print STDERR "$PROG: failed to find perl dist similar to $dist\n"; - exit 1; + return 2; } fetchdist($cpath); -- cgit v1.2.3-24-g4f1b