mirror of
https://gitlab.alpinelinux.org/alpine/abuild.git
synced 2024-12-22 23:12:45 +00:00
c9616e9d9e
try keep code in abuild cleaner by moving out creation of new apkbuild to separate script.
79 lines
1.7 KiB
Bash
Executable File
79 lines
1.7 KiB
Bash
Executable File
#!/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
|
|
|