Forked from
alpine / aports
224438 commits behind, 380 commits ahead of the upstream repository.
-
Natanael Copa authored
try keep code in abuild cleaner by moving out creation of new apkbuild to separate script.
Natanael Copa authoredtry keep code in abuild cleaner by moving out creation of new apkbuild to separate script.
newapkbuild.in 1.67 KiB
#!/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