#!/bin/sh # script to generate a new APKBUILD # Copyright (c) 2009 Natanael Copa # # 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