diff options
Diffstat (limited to 'devbuild.in')
-rwxr-xr-x | devbuild.in | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/devbuild.in b/devbuild.in new file mode 100755 index 0000000..054d02d --- /dev/null +++ b/devbuild.in @@ -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/devbuildrc or $HOME/.devbuildrc +DISTFILES=/var/cache/distfiles +APORTS_DIR=$HOME/aports +ALPINE_DIR=$HOME/abuild + +# for the local project. Those values can be overridden by +# a .devbuildrc in the subprojects dir +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}rc $HOME/.${program}rc ./.${program}rc; 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 + abuild + abuild cleanoldpkg +) || exit 1 + +# rebuild the iso +cd "$ALPINE_DIR" && fakeroot ./mkalpine + |