summaryrefslogtreecommitdiff
path: root/devbuild
diff options
context:
space:
mode:
Diffstat (limited to 'devbuild')
-rwxr-xr-xdevbuild61
1 files changed, 61 insertions, 0 deletions
diff --git a/devbuild b/devbuild
new file mode 100755
index 0000000..4436602
--- /dev/null
+++ b/devbuild
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# This scripts will:
+# 1. create a dist package for current subproject
+# 2. update the APKBUILD and build the package
+# 3. build the alpine iso
+#
+# The following is assumed from the subproject:
+# * that PACKAGE and VERSION is set in Makefile or defined in a local
+# devbuild.conf file
+# * that 'make dist' will generate a valid dist package
+#
+
+program=${0##*/}
+
+# rebuild env. Those values can be overridden in either
+# /etc/devbuild.conf or $HOME/.devbuild.conf
+DISTFILES=/var/cache/distfiles
+APORTS_DIR=$HOME/aports
+ALPINE_DIR=$HOME/abuild
+
+# for the local project. Those values can be overridden by
+# a devbuild.conf in the subprojects subdir
+PACKAGE=$(grep '^PACKAGE' Makefile | sed 's/.*=[[:blank:]]*//')
+VERSION=$(grep '^VERSION' Makefile | sed 's/.*=[[:blank:]]*//')
+SUFFIX=.tar.bz2
+REPO=core
+
+# let user override the above defaults
+for i in /etc/$program.conf $HOME/.$program.conf ./$program.conf; do
+ if [ -f $i ]; then
+ . $i
+ fi
+done
+
+# generate a new dist package
+tarball=${PACKAGE}-${VERSION}${SUFFIX}
+make dist || exit 1
+cp $tarball "$DISTFILES/" || exit 1
+
+# update the APKBUILD, in a subshell
+(
+ cd $APORTS_DIR/$REPO/$PACKAGE || exit 1
+ . ./APKBUILD
+ if [ "$pkgver" = "$VERSION" ]; then
+ pkgrel=$(( $pkgrel + 1 ))
+ else
+ pkgrel="0"
+ fi
+ sed -i -e " s/^pkgver=.*/pkgver=$VERSION/;
+ s/^pkgrel=.*/pkgrel=$pkgrel/;
+ /^md5sums=\"/,/\"\$/d" APKBUILD || exit 1
+ export SRCDEST="$DISTFILES"
+ abuild checksum >>APKBUILD
+ abuild
+ abuild cleanoldpkg
+) || exit 1
+
+# rebuild the iso
+cd "$ALPINE_DIR" && fakeroot ./mkalpine
+