set -eu
-BUILD_API_VERSION=2
+BUILD_API_VERSION=3
EXTRA_BUILD_NAME=""
JARGS=""
JOBSARGS=""
TARGET=""
RELEASE="--release"
WORKINGDIR="/var/tmp/showtime-autobuild"
-UPLOAD_BUILD_ARTIFACTS=1
-while getopts "vht:e:j:w:R" OPTION
+OP="build"
+while getopts "vht:e:j:w:o:c:" OPTION
do
case $OPTION in
v)
echo $BUILD_API_VERSION
exit 0
;;
- R)
- UPLOAD_BUILD_ARTIFACTS=0
- ;;
h)
echo "This script is intended to be used by the autobuild system only"
exit 0
w)
WORKINGDIR="$OPTARG"
;;
+ o)
+ OP="$OPTARG"
+ ;;
esac
done
-
if [[ -z $TARGET ]]; then
echo "target (-t) not specified"
exit 1
# $4 = filename
#
artifact() {
- if [ $UPLOAD_BUILD_ARTIFACTS -eq 1 ]; then
- echo "doozer-artifact:$PWD/$1:$2:$3:$4"
- else
- echo "Ignoring: $1:$2:$3:$4"
- fi
+ echo "doozer-artifact:$PWD/$1:$2:$3:$4"
+}
+
+versioned_artifact() {
+ echo "doozer-versioned-artifact:$PWD/$1:$2:$3:$4"
}
if [ -f Autobuild/${TARGET}.sh ]; then
echo "target $TARGET not supported"
exit 1
fi
+
+BUILD_DEPS=`awk 'BEGIN {cnt = 1;} /^Build-Depends:/ {split($0, line, ":");split(line[2], deps, ",");for (i in deps) {d = deps[i];sub(/^ */, "", d);sub(/ *$/, "", d);split(d, tokens, " ");packages[cnt] = tokens[1];cnt++;}} END {out = ""; for(i = 1; i <= cnt; i++) {out = out packages[i] " ";} print out; }' debian/control`
CHANGELOG=debian/changelog
NOW=`date -R`
VER=`git describe | sed "s/\([0-9]*\)\.\([0-9]*\)-\([0-9]*\)-.*/\1.\2.\3/"`
-echo >${CHANGELOG} "tvheadend (${VER}) unstable; urgency=low"
-echo >>${CHANGELOG}
-echo >>${CHANGELOG} " * The full changelog can be found at "
-echo >>${CHANGELOG} " http://www.lonelycoder.com/tvheadend/download"
-echo >>${CHANGELOG}
-echo >>${CHANGELOG} " -- Andreas Öman <andreas@lonelycoder.com> ${NOW}"
-cat ${CHANGELOG}
-export JOBSARGS
-export JARGS
-dpkg-buildpackage -b -us -uc
-
-for a in ../tvheadend*${VER}*.deb; do
- artifact $a deb application/x-deb `basename $a`
- rm -f $a
-done
-
-for a in ../tvheadend*${VER}*.changes; do
- artifact $a changes text/plain `basename $a`
- rm -f $a
-done
-
-rm -f ${CHANGELOG}
-dh_clean
+
+build()
+{
+ echo >${CHANGELOG} "tvheadend (${VER}) unstable; urgency=low"
+ echo >>${CHANGELOG}
+ echo >>${CHANGELOG} " * The full changelog can be found at "
+ echo >>${CHANGELOG} " http://www.lonelycoder.com/tvheadend/download"
+ echo >>${CHANGELOG}
+ echo >>${CHANGELOG} " -- Andreas Öman <andreas@lonelycoder.com> ${NOW}"
+
+ export JOBSARGS
+ export JARGS
+ export AUTOBUILD_CONFIGURE_EXTRA
+ dpkg-buildpackage -b -us -uc
+
+ for a in ../tvheadend*${VER}*.deb; do
+ versioned_artifact "$a" deb application/x-deb `basename $a`
+ done
+
+ for a in ../tvheadend*${VER}*.changes; do
+ versioned_artifact "$a" changes text/plain `basename $a`
+ done
+}
+
+clean()
+{
+ for a in ../tvheadend*${VER}*.deb; do
+ rm -f "$a"
+ done
+
+ for a in ../tvheadend*${VER}*.changes; do
+ rm -f "$a"
+ done
+
+ rm -f ${CHANGELOG}
+ dh_clean
+}
+
+deps()
+{
+ if [[ $EUID -ne 0 ]]; then
+ echo "Build dependencies must be installed as root"
+ exit 1
+ fi
+ apt-get -y install ${BUILD_DEPS}
+}
+
+buildenv()
+{
+ echo $BUILD_DEPS | shasum | awk '{print $1}'
+}
+
+eval $OP