From b581f87e8530f8c2a855c3473763fbb800d9e401 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 17 Mar 2011 10:47:12 +0000 Subject: newapkbuild: supporrt for forcing autotools or perl with -a -p --- newapkbuild.in | 69 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 57 insertions(+), 12 deletions(-) diff --git a/newapkbuild.in b/newapkbuild.in index e8b7ea5..0047ab2 100755 --- a/newapkbuild.in +++ b/newapkbuild.in @@ -32,7 +32,29 @@ is_url() { return 1 } - +config_autotools() { + cat >>APKBUILD<<__EOF__ + ./configure --prefix=/usr \\ + --sysconfdir=/etc \\ + --mandir=/usr/share/man \\ + --infodir=/usr/share/info \\ + --localstatedir=/var \\ + || return 1 +__EOF__ +} + +config_perl() { + cat >>APKBUILD<<__EOF__ + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 +__EOF__ +} + +cleanup_perl() { + cat >>APKBUILD<<__EOF__ + find "\$pkgdir" \\( -name perllocal.pod -o -name .packlist \\) -delete +__EOF__ +} + # create new aport from templates newaport() { local newname="${1##*/}" @@ -105,6 +127,22 @@ __EOF__ done echo "_builddir=$_builddir" >> APKBUILD + # check if its autotools + if [ -z "$buildtype" ]; then + if [ -x "$sdir"/configure ]; then + buildtype="autotools" + elif [ -r "$sdir"/Makefile.PL ]; then + buildtype="perl" + elif [ -r "$sdir"/waf ]; then + buildtype="waf" + elif [ -d "$sdir"/cmake ]; then + buildtype="cmake" + elif [ -r "$sdir"/Makefile ]; then + buildtype="make" + fi + fi + + # create the prepare() template cat >>APKBUILD<<__EOF__ prepare() { @@ -124,16 +162,14 @@ __EOF__ build() { cd "\$_builddir" __EOF__ - if [ -x "$sdir"/configure ]; then - cat >>APKBUILD<<__EOF__ - ./configure --prefix=/usr \\ - --sysconfdir=/etc \\ - --mandir=/usr/share/man \\ - --infodir=/usr/share/info \\ - --localstatedir=/var \\ - || return 1 -__EOF__ - fi + + case "$buildtype" in + autotools) + config_autotools;; + perl) + config_perl;; + esac + cat >>APKBUILD<<__EOF__ make || return 1 } @@ -155,6 +191,11 @@ __EOF__ "\$pkgdir"/etc/conf.d/\$pkgname || return 1 __EOF__ fi + + case "$buildtype" in + perl) cleanup_perl;; + esac + cat >>APKBUILD<<__EOF__ } @@ -165,24 +206,28 @@ usage() { echo "$prog $version" 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 " -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 " -u Set package URL" echo " -s Use sourceforge source url" echo "" exit 0 } -while getopts "cd:fhl:u:s" opt; do +while getopts "acd:fhl:pu:s" opt; do case $opt in + 'a') buildtype="autotools";; 'c') cpinitd=1;; 'd') pkgdesc="$OPTARG";; 'f') force=1;; 'h') usage;; 'l') license="$OPTARG";; + 'p') buildtype="perl";; 'u') url="$OPTARG";; 's') sourceforge=1;; esac -- cgit v1.2.3