From fc10a54211dec7d20e7e4c031c1e9f297f8d72ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96man?= Date: Sun, 3 Jun 2012 11:14:09 +0200 Subject: [PATCH] Update Autobuild stuff --- Autobuild.sh | 24 +++++------ Autobuild/debian.sh | 71 +++++++++++++++++++++++---------- Autobuild/precise-amd64.sh | 2 + Autobuild/precise-i386.sh | 2 + Autobuild/ubuntu-lucid-amd64.sh | 1 - Autobuild/ubuntu-lucid-i386.sh | 1 - 6 files changed, 67 insertions(+), 34 deletions(-) create mode 100644 Autobuild/precise-amd64.sh create mode 100644 Autobuild/precise-i386.sh delete mode 100755 Autobuild/ubuntu-lucid-amd64.sh delete mode 100755 Autobuild/ubuntu-lucid-i386.sh diff --git a/Autobuild.sh b/Autobuild.sh index 3593a02c..7ed861b1 100755 --- a/Autobuild.sh +++ b/Autobuild.sh @@ -8,24 +8,21 @@ 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 @@ -43,10 +40,12 @@ do w) WORKINGDIR="$OPTARG" ;; + o) + OP="$OPTARG" + ;; esac done - if [[ -z $TARGET ]]; then echo "target (-t) not specified" exit 1 @@ -59,11 +58,11 @@ fi # $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 @@ -72,3 +71,4 @@ else echo "target $TARGET not supported" exit 1 fi + diff --git a/Autobuild/debian.sh b/Autobuild/debian.sh index 587eac69..f10c8697 100755 --- a/Autobuild/debian.sh +++ b/Autobuild/debian.sh @@ -1,26 +1,57 @@ +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 ${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 +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 ${NOW}" + + export JOBSARGS + export JARGS + export AUTOBUILD_CONFIGURE_EXTRA + dpkg-buildpackage -b -us -uc -for a in ../tvheadend*${VER}*.changes; do - artifact $a changes text/plain `basename $a` - rm -f $a -done + for a in ../tvheadend*${VER}*.deb; do + versioned_artifact "$a" deb application/x-deb `basename $a` + done -rm -f ${CHANGELOG} -dh_clean + 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 diff --git a/Autobuild/precise-amd64.sh b/Autobuild/precise-amd64.sh new file mode 100644 index 00000000..cbafff37 --- /dev/null +++ b/Autobuild/precise-amd64.sh @@ -0,0 +1,2 @@ +AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA} --arch=x86_64" +source Autobuild/debian.sh diff --git a/Autobuild/precise-i386.sh b/Autobuild/precise-i386.sh new file mode 100644 index 00000000..e4f6c115 --- /dev/null +++ b/Autobuild/precise-i386.sh @@ -0,0 +1,2 @@ +AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA} --arch=i686" +source Autobuild/debian.sh diff --git a/Autobuild/ubuntu-lucid-amd64.sh b/Autobuild/ubuntu-lucid-amd64.sh deleted file mode 100755 index 606932b3..00000000 --- a/Autobuild/ubuntu-lucid-amd64.sh +++ /dev/null @@ -1 +0,0 @@ -source Autobuild/debian.sh diff --git a/Autobuild/ubuntu-lucid-i386.sh b/Autobuild/ubuntu-lucid-i386.sh deleted file mode 100755 index 606932b3..00000000 --- a/Autobuild/ubuntu-lucid-i386.sh +++ /dev/null @@ -1 +0,0 @@ -source Autobuild/debian.sh