diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/genpkg | 16 | ||||
-rwxr-xr-x | bin/prepkg | 2 | ||||
-rwxr-xr-x | bin/vervar | 6 |
3 files changed, 10 insertions, 14 deletions
@@ -104,20 +104,20 @@ do # Duplicate the version in case modpkg modifies it. vervar will remove a # redundant ver field that is the same as pkgver. trap 'rm -f PKGDATA' 1 2 15 - if PREPSPATH="$prepd" PKGVAR="$vard" prepkg "$pkg" | dupver > PKGDATA - then - echo "$pkgd/$pkg" - else - rm PKGDATA - exit "$?" - fi + PREPSPATH="$prepd" PKGVAR="$vard" prepkg "$pkg" > PKGDATA + ret=$? + case $ret in + 0) echo "$pkgd/$pkg" ;; + *) rm PKGDATA + exit $ret + esac trap '' 1 2 15 mod="$modsd/$pkg" if [ -f "$mod" -a -r "$mod" ] then trap 'rm -f PKGDATA.new' 1 2 15 - if modpkg "$mod" < PKGDATA > PKGDATA.new + if cat PKGDATA | dupver | modpkg "$mod" > PKGDATA.new then echo "Modified with $mod." 1>&2 mv PKGDATA.new PKGDATA @@ -44,7 +44,7 @@ do exit 0 ;; 1) err "$flav encountered an error" ;; 2) ;; # loop - *) err "$flav returned error code $metaret" ;; + *) err "$flav returned error code $prepret" ;; esac done @@ -26,12 +26,8 @@ END { if(error) { exit(error) } - if(!ver){ - print prog ": error: ver field is missing (or zero)" | "cat 1>&2" - exit(1) - } - if("" pkgver == ver){ + if(!ver || "" pkgver == ver){ # Don't use the $_ver variable if $pkgver and $_ver are identical. skipver = 1 vervar = "pkgver" |