diff options
Diffstat (limited to 'bin/genpkg')
-rwxr-xr-x | bin/genpkg | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -58,6 +58,18 @@ END { exit !found } return $? } +# Create an extra "ver" field in case the packager needs to modify +# the version. +dupver() +{ + awk ' +BEGIN { OFS = FS = "\n"; RS = ""; ORS = "\n\n" } +$1 == "pkgver" { pkgver = $2 } +1 +END { print "ver", pkgver } +' +} + if [ $# -lt 1 ] then echo "usage: $prog [package name]" 1>&2 @@ -98,20 +110,26 @@ do rm PKGDATA exit "$?" fi + trap '' 1 2 15 mod="$modsd/$pkg" if [ -f "$mod" -a -r "$mod" ] then - if modpkg "$mod" + trap 'rm PKGDATA.new' 1 2 15 + if cat PKGDATA | dupver | modpkg "$mod" > PKGDATA.new then echo "Modified with $mod." 1>&2 + mv PKGDATA.new PKGDATA else echo "$prog: modpkg failed." 1>&2 + [ "$GENPKGDBG" ] || rm PKGDATA.new fi + trap '' 1 2 15 fi # Insert PKGBUILD fields into prefix of PKGBUILD body. - cat PKGDATA | injectdigs | pbfields | putpkgtree PKGBUILD prefix body || exit "$?" + cat PKGDATA | vervar | injectdigs | pbfields |\ + putpkgtree PKGBUILD prefix body || exit "$?" # Merge split PKGTREE files into their own separate text files. mergefile PKGBUILD prefix build check package suffix |