newapkbuild: support for creating new from http source

newapkbuild http://example.com/path/foo-1.0.tar.gz
will set
pkgname=foo
pkgver=1.0
source="http://example.com/path/foo-1.0.tar.gz"
This commit is contained in:
Natanael Copa 2010-05-28 13:52:47 +00:00
parent 89f17561e3
commit a57baec7cc

View File

@ -18,13 +18,24 @@ error() {
echo "$@" >&2 echo "$@" >&2
} }
is_url() {
case "$1" in
http://*|ftp://*) return 0;;
esac
}
# create new aport from templates # create new aport from templates
newaport() { newaport() {
local newname="$1" local newname="${1##*/}"
local pn=${newname%-[0-9]*} local pn=${newname%-[0-9]*}
local pv local pv
local source=
is_url "$1" && source="$1"
if [ "$pn" != "$newname" ]; then if [ "$pn" != "$newname" ]; then
pv=${newname#$pn-} pv=${newname#$pn-}
pv=${pv%.t*} #strip .tar.gz .tgz .tar.bz2 etc
fi fi
if [ -e "$pn"/APKBUILD ] && [ -z "$force" ]; then if [ -e "$pn"/APKBUILD ] && [ -z "$force" ]; then
error "$pn/APKBUILD already exist" error "$pn/APKBUILD already exist"
@ -38,6 +49,9 @@ newaport() {
-e "s/^pkgname=.*/pkgname=$pn/" \ -e "s/^pkgname=.*/pkgname=$pn/" \
-e "s/^pkgver=.*/pkgver=$pv/" \ -e "s/^pkgver=.*/pkgver=$pv/" \
"$datadir"/sample.APKBUILD > APKBUILD || return 1 "$datadir"/sample.APKBUILD > APKBUILD || return 1
if [ -n "$source" ]; then
sed -i -e "/^source=/s|=.*|=\"$source\"|" APKBUILD || return 1
fi
#-e '1,/^\#$/d' \ #-e '1,/^\#$/d' \
if [ -n "$cpinitd" ]; then if [ -n "$cpinitd" ]; then
cp "$datadir"/sample.initd $pn.initd cp "$datadir"/sample.initd $pn.initd