summaryrefslogtreecommitdiffstats
path: root/newapkbuild.in
diff options
context:
space:
mode:
Diffstat (limited to 'newapkbuild.in')
-rwxr-xr-xnewapkbuild.in78
1 files changed, 78 insertions, 0 deletions
diff --git a/newapkbuild.in b/newapkbuild.in
new file mode 100755
index 0000000..3fa0b87
--- /dev/null
+++ b/newapkbuild.in
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# script to generate a new APKBUILD
+# Copyright (c) 2009 Natanael Copa <natanael.copa@gmail.com>
+#
+# Distributed under GPL-2
+#
+# Depends on: busybox utilities, fakeroot,
+#
+
+version=@VERSION@
+sysconfdir=@sysconfdir@
+datadir=@datadir@
+
+prog=${0##*/}
+
+error() {
+ echo "$@" >&2
+}
+
+# create new aport from templates
+newaport() {
+ local newname="$1"
+ local pn=${newname%-[0-9]*}
+ local pv
+ if [ "$pn" != "$newname" ]; then
+ pv=${newname#$pn-}
+ fi
+ if [ -e "$pn"/APKBUILD ] && [ -z "$force" ]; then
+ error "$pn/APKBUILD already exist"
+ return 1
+ fi
+ mkdir -p "$pn"
+ cd "$pn"
+ sed -e '1,/^\#*$/d' \
+ -e "s/^\(# Contributor: \).*/\1$PACKAGER/" \
+ -e "s/^\(# Maintainer: \).*/\1$PACKAGER/" \
+ -e "s/^pkgname=.*/pkgname=$pn/" \
+ -e "s/^pkgver=.*/pkgver=$pv/" \
+ "$datadir"/sample.APKBUILD > APKBUILD || return 1
+ #-e '1,/^\#$/d' \
+ if [ -n "$cpinitd" ]; then
+ cp "$datadir"/sample.initd $pn.initd
+ cp "$datadir"/sample.confd $pn.confd
+ cp "$datadir"/sample.pre-install $pn.pre-install
+ cp "$datadir"/sample.post-install $pn.post-install
+ sed -i -e "s/^install=.*/install=\"\$pkgname.pre-install \$pkgname.post-install\"/" \
+ -e "s/^source=\"\(.*\)\"/source=\"\1\n\t$pn.initd\n\t$pn.confd\n\t\$install\n\t\"/" \
+ APKBUILD
+
+ fi
+}
+
+usage() {
+ echo "$prog $version"
+ echo "usage: $prog [-cfh] PKGNAME[-PKGVER]"
+ echo "Options:"
+ echo " -c Copy a sample init.d, conf.d and install script to new directory"
+ echo " -f Force even if directory already exist"
+ echo " -h Show this help"
+ echo ""
+ exit 0
+}
+
+while getopts "cfh" opt; do
+ case $opt in
+ 'c') cpinitd=1;;
+ 'f') force=1;;
+ 'h') usage;;
+ esac
+done
+shift $(( $OPTIND - 1 ))
+
+while [ $# -gt 0 ]; do
+ newaport $1 || exit 1
+ shift
+done
+