summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorJustin Davis <jrcd83@gmail.com>2011-09-22 16:15:10 +0200
committerJustin Davis <jrcd83@gmail.com>2011-09-22 16:15:10 +0200
commit1a68dfc2b2ec05bf0eaa3330e398fa77f7a1c726 (patch)
tree30ae6344056482dbe0d1972fcecac0affe11f6ff /bin
parent92de3d24a7a122bdac419674f367785546c31553 (diff)
downloadgenpkg-1a68dfc2b2ec05bf0eaa3330e398fa77f7a1c726.tar.gz
genpkg-1a68dfc2b2ec05bf0eaa3330e398fa77f7a1c726.tar.xz
Add PKGBUILD function editing to makepkgbuild.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/makepkgbuild41
1 files changed, 34 insertions, 7 deletions
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" <PKGMETA >PKGBUILD
$tcmd <PKGMETA >>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
+