summaryrefslogtreecommitdiffstats
path: root/newapkbuild.in
diff options
context:
space:
mode:
authorFabian Affolter <fabian@affolter-engineering.ch>2011-06-27 23:36:17 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-06-28 07:02:36 +0000
commit50dd6eab6504e165b225ee0c1a73fa5fff2cbbc7 (patch)
tree951770ba5995094893993906cb63c7187121aa32 /newapkbuild.in
parent74cb9068f4b4987a4e78b3295ffb11821c7331f7 (diff)
downloadabuild-50dd6eab6504e165b225ee0c1a73fa5fff2cbbc7.tar.bz2
abuild-50dd6eab6504e165b225ee0c1a73fa5fff2cbbc7.tar.xz
Added python as a new template
With -q ('-q' for the moment, please change that) a template APKBUILD file for a python module is created. 'depends' and 'makedepends' are filled with standard values.
Diffstat (limited to 'newapkbuild.in')
-rwxr-xr-xnewapkbuild.in106
1 files changed, 74 insertions, 32 deletions
diff --git a/newapkbuild.in b/newapkbuild.in
index c4f5aa9..110b47d 100755
--- a/newapkbuild.in
+++ b/newapkbuild.in
@@ -1,6 +1,6 @@
#!/bin/sh
-
-# script to generate a new APKBUILD
+#
+# Script to generate a new APKBUILD
# Copyright (c) 2009 Natanael Copa <natanael.copa@gmail.com>
#
# Distributed under GPL-2
@@ -14,7 +14,7 @@ datadir=@datadir@
prog=${0##*/}
-# source $PACKAGER
+# Source $PACKAGER
for i in $sysconfdir/abuild.conf $HOME/.abuild/abuild.conf; do
if [ -f "$i" ]; then
. $i
@@ -32,6 +32,7 @@ is_url() {
return 1
}
+# Build sections
config_autotools() {
cat >>APKBUILD<<__EOF__
./configure --prefix=/usr \\
@@ -40,22 +41,54 @@ config_autotools() {
--infodir=/usr/share/info \\
--localstatedir=/var \\
|| return 1
+ make || return 1
__EOF__
}
config_perl() {
cat >>APKBUILD<<__EOF__
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+__EOF__
+}
+
+config_python() {
+ cat >>APKBUILD<<__EOF__
+ python setup.py build || return 1
__EOF__
}
-cleanup_perl() {
+# Package sections
+package_autotools() {
+ cat >>APKBUILD<<__EOF__
+ make DESTDIR="\$pkgdir" install || return 1
+ rm -f "\$pkgdir"/usr/lib/*.la
+__EOF__
+ if [ -n "$cpinitd" ]; then
+ cat >>APKBUILD<<__EOF__
+
+ install -m755 -D "\$srcdir"/\$pkgname.initd \\
+ "\$pkgdir"/etc/init.d/\$pkgname || return 1
+ install -m644 -D "\$srcdir"/\$pkgname.confd \\
+ "\$pkgdir"/etc/conf.d/\$pkgname || return 1
+__EOF__
+ fi
+}
+
+package_perl() {
cat >>APKBUILD<<__EOF__
+ make DESTDIR="\$pkgdir" install || return 1
find "\$pkgdir" \\( -name perllocal.pod -o -name .packlist \\) -delete
__EOF__
}
-# create new aport from templates
+package_python() {
+ cat >>APKBUILD<<__EOF__
+ python setup.py install --prefix=/usr --root="\$pkgdir" || return 1
+__EOF__
+}
+
+# Create new aport from templates
newaport() {
local newname="${1##*/}"
local pn=${newname%-[0-9]*}
@@ -78,12 +111,22 @@ newaport() {
source="http://downloads.sourceforge.net/$pn/$pn-$pv.tar.gz"
fi
- # replace pkgver in $source
+ if [ -z "$depends" ] &&[ "$buildtype" == "python" ]; then
+ depends="python"
+ fi
+
+ if [ -z "$makedepends" ] &&[ "$buildtype" == "python" ]; then
+ makedepends="python-dev"
+ else
+ makedepends="\$depends_dev"
+ fi
+
+ # Replace pkgver in $source
if [ -n "$source" ]; then
source=$(echo "$source" | sed "s/$pv/\$pkgver/g")
fi
- # copy init.d scripts if requested
+ # Copy init.d scripts if requested
if [ -n "$cpinitd" ]; then
cp "$datadir"/sample.initd $pn.initd
cp "$datadir"/sample.confd $pn.confd
@@ -96,7 +139,7 @@ newaport() {
"
fi
- # generate header with standard variables
+ # Generate header with standard variables
cat >APKBUILD<<__EOF__
# Contributor:${PACKAGER:+" "}${PACKAGER}
# Maintainer:${MAINTAINER:+" "}${MAINTAINER}
@@ -107,9 +150,9 @@ pkgdesc="$pkgdesc"
url="$url"
arch="all"
license="$license"
-depends=
-depends_dev=
-makedepends="\$depends_dev"
+depends="$depends"
+depends_dev=""
+makedepends="$makedepends"
install="$install"
subpackages="\$pkgname-dev \$pkgname-doc"
source="$source"
@@ -117,7 +160,7 @@ source="$source"
__EOF__
abuild -f fetch unpack
- # figure out the _builddir
+ # Figure out the _builddir
for i in src/*; do
if [ -d "$i" ]; then
sdir=$i
@@ -127,7 +170,7 @@ __EOF__
done
echo "_builddir=$_builddir" >> APKBUILD
- # check if its autotools
+ # Check if its autotools
if [ -z "$buildtype" ]; then
if [ -x "$sdir"/configure ]; then
buildtype="autotools"
@@ -139,11 +182,13 @@ __EOF__
buildtype="cmake"
elif [ -r "$sdir"/Makefile ]; then
buildtype="make"
+ elif [ -r "$sdir"/setup.py ]; then
+ buildtype="python"
fi
fi
- # create the prepare() template
+ # Create the prepare() template
cat >>APKBUILD<<__EOF__
prepare() {
local i
@@ -157,7 +202,7 @@ prepare() {
__EOF__
- # create build()
+ # Create build() function
cat >>APKBUILD<<__EOF__
build() {
cd "\$_builddir"
@@ -168,33 +213,28 @@ __EOF__
config_autotools;;
perl)
config_perl;;
+ python)
+ config_python;;
esac
cat >>APKBUILD<<__EOF__
- make || return 1
}
__EOF__
- # create package() function
+ # Create package() function
cat >>APKBUILD<<__EOF__
package() {
cd "\$_builddir"
- make DESTDIR="\$pkgdir" install || return 1
- rm -f "\$pkgdir"/usr/lib/*.la
__EOF__
- if [ -n "$cpinitd" ]; then
- cat >>APKBUILD<<__EOF__
-
- install -m755 -D "\$srcdir"/\$pkgname.initd \\
- "\$pkgdir"/etc/init.d/\$pkgname || return 1
- install -m644 -D "\$srcdir"/\$pkgname.confd \\
- "\$pkgdir"/etc/conf.d/\$pkgname || return 1
-__EOF__
- fi
case "$buildtype" in
- perl) cleanup_perl;;
+ autotools)
+ package_autotools;;
+ perl)
+ package_perl;;
+ python)
+ package_python;;
esac
cat >>APKBUILD<<__EOF__
@@ -208,19 +248,20 @@ usage() {
echo "usage: $prog [-cfh] [-d DESC] [-l LICENSE] [-u URL] PKGNAME[-PKGVER]"
echo "Options:"
echo " -a Create autotools (use ./configure ...)"
- echo " -c Copy a sample init.d, conf.d and install script to new directory"
+ echo " -c Copy a sample init.d, conf.d, and install script to new directory"
echo " -d Set package description (pkgdesc) to DESC"
echo " -f Force even if directory already exist"
echo " -h Show this help"
echo " -l Set package license to LICENSE"
echo " -p Create perl package (Assume Makefile.PL is there)"
+ echo " -q Create python package (Assume setup.py is there)"
echo " -u Set package URL"
- echo " -s Use sourceforge source url"
+ echo " -s Use sourceforge source URL"
echo ""
exit 0
}
-while getopts "acd:fhl:pu:s" opt; do
+while getopts "acd:fhl:pqu:s" opt; do
case $opt in
'a') buildtype="autotools";;
'c') cpinitd=1;;
@@ -229,6 +270,7 @@ while getopts "acd:fhl:pu:s" opt; do
'h') usage;;
'l') license="$OPTARG";;
'p') buildtype="perl";;
+ 'q') buildtype="python";;
'u') url="$OPTARG";;
's') sourceforge=1;;
esac