summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/genpkg16
-rwxr-xr-xbin/makepkgmeta18
-rwxr-xr-xlib/metas/perl4
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);