summaryrefslogtreecommitdiffstats
path: root/devbuild.in
blob: 054d02dc9a1b2c67ac2bbdebbf08dc7c83f76871 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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