abuild/devbuild

62 lines
1.5 KiB
Bash
Executable File

#!/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 >>APKBUILD
abuild
abuild cleanoldpkg
) || exit 1
# rebuild the iso
cd "$ALPINE_DIR" && fakeroot ./mkalpine