From 1a68dfc2b2ec05bf0eaa3330e398fa77f7a1c726 Mon Sep 17 00:00:00 2001 From: Justin Davis Date: Thu, 22 Sep 2011 10:15:10 -0400 Subject: Add PKGBUILD function editing to makepkgbuild. --- bin/makepkgbuild | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) (limited to 'bin') diff --git a/bin/makepkgbuild b/bin/makepkgbuild index 9ecfb80..33b2216 100755 --- a/bin/makepkgbuild +++ b/bin/makepkgbuild @@ -2,7 +2,26 @@ prog=makepkgbuild -if ! [ -f PKGMETA ] +appendpb() +{ + txt=$(awk -v f=$1 'BEGIN { FS = "\n"; RS = "" } + $1 == f "()" { for (i = 2; i <= NF; i++) print $i }' PKGMETA \ + | sed 's/^/ /') + + case "$txt" in + '') return 0 ;; + *) echo '/^ *'"${func}"'()[ \\n]*{ +/^} +i +'"$txt"' +. +wq +' | tee dbg | ed PKGBUILD >/dev/null 2>&1 + return $? ;; + esac +} + +if ! [ -r PKGMETA ] then echo "$prog: PKGMETA could not be read." 1>&2 exit 1 @@ -15,21 +34,29 @@ esac tcmd=$(awk ' BEGIN { FS = "\n"; RS = "" } - $1 == "template" { for (i = 2; i <= NF; i++) print $i }' PKGMETA | \ - while read line + $1 == "template" { for (i = 2; i <= NF; i++) print $i }' PKGMETA \ + | while read line do set -- $line cmd="$TDIR/$1" if ! [ -x $cmd ] then - echo "$prog: Unknown template command: $cmd" \ - 1>&2 + echo "$prog: Unknown template command: $cmd" 1>&2 exit 2 fi echo "$TDIR/$*" - done | tr '\n' '|' | sed 's/\|$//') + done \ + | tr '\n' '|' | sed 's/\|$//') -echo "\$tcmd = $tcmd" 1>&2 "$TDIR/pbfields" PKGBUILD $tcmd >PKGBUILD +for func in package check build +do + if ! appendpb $func + then + echo "$prog: failed to append to the ${func}() function in PKGBUILD" 1>&2 + exit 2 + fi +done + -- cgit v1.2.3-24-g4f1b