summaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2004-06-03 05:03:58 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2004-06-03 05:03:58 +0000
commitfdbc9fa2c2868c49003a89744822978eccadd97d (patch)
tree1a9868b0f0a8b6ac71810328a640a25119645700 /Tools
parentUpdate to 1.2.2, with gtk20. (diff)
Add dopackages.wrapper, a wrapper script around dopackages that sets up
build locking, log files, and cleans things up if a build fails. This script is the primary starting point for a package build. Symlinks should be created in the form of dopackages.${branch} -> dopackages.wrapper where ${branch} is currently one of 4, 4-exp, or 5. This script takes the place of the unofficial (i.e. uncommitted) dopackages.steveX scripts. Ok'd by: kris Tested by: 4.10-RELEASE package build
Notes
Notes: svn path=/head/; revision=110725
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/portbuild/scripts/dopackages.wrapper53
1 files changed, 53 insertions, 0 deletions
diff --git a/Tools/portbuild/scripts/dopackages.wrapper b/Tools/portbuild/scripts/dopackages.wrapper
new file mode 100755
index 000000000000..fe19ad4452a9
--- /dev/null
+++ b/Tools/portbuild/scripts/dopackages.wrapper
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+cleanup() {
+ lock=$1
+ error=$2
+
+ rm -f ${lock}
+
+ exit ${error}
+}
+
+# configurable variables
+pb=/var/portbuild
+arch=$1
+branch=$(echo $(basename $0) | cut -d'.' -f2)
+shift
+
+. ${pb}/${arch}/portbuild.conf
+
+lock=${pb}/${arch}/lock
+status=${pb}/${arch}/status
+date=$(date '+%Y%m%d%H')
+shortdate=$(date '+%Y%m%d')
+
+if [ -e ${lock} ]; then
+ exit 1
+fi
+
+touch ${lock}
+rm -f ${status}
+mkdir -p ${pb}/${arch}/archive/buildlogs
+
+trap "cleanup ${lock} 1" 1 2 3 9 10 11 15
+
+dorun() {
+ branch=$1
+ shift 1
+
+ ln -sf ${pb}/${arch}/archive/buildlogs/log.${branch}.${date} ${pb}/${arch}/${branch}/build.log
+ ln -sf log.${branch}.${date} ${pb}/${arch}/archive/buildlogs/log.${branch}.${shortdate}
+ ${pb}/scripts/dopackages ${arch} $@ ${branch} ${date} 2>&1 \
+ > ${pb}/${arch}/archive/buildlogs/log.${branch}.${date}
+ if [ -f ${status} ]; then
+ error=$(cat ${status})
+ cleanup ${lock} ${error}
+ fi
+
+}
+
+dorun ${branch} $@ &
+wait
+
+cleanup ${lock} 0