summaryrefslogtreecommitdiff
path: root/flock-build
diff options
context:
space:
mode:
Diffstat (limited to 'flock-build')
-rwxr-xr-xflock-build114
1 files changed, 68 insertions, 46 deletions
diff --git a/flock-build b/flock-build
index d80fc6d3d48c..1756cc4a0518 100755
--- a/flock-build
+++ b/flock-build
@@ -1,14 +1,32 @@
#! /bin/sh
+IAM=`hostname || uname -n`
+MYNAME=`IFS=. ; set $IAM ; echo $1`
+
+case "$1" in
+ '--one'|'-1')
+ shift
+ FB_FIRSTONLY=1
+ LIST=$MYNAME
+ ;;
+ *)
+ FB_FIRSTONLY=0
+esac
+
BUILD_ARGS="$@"
PARSE="--enable-parse-clocks"
#PARSE=
STD="--enable-simulator"
-case "$SIMUL" in
- '') PARALLEL_BUILDS=1
- ;;
- *) PARALLEL_BUILDS=$SIMUL
+case "$SIMUL::$FB_FIRSTONLY" in
+ ::*)
+ PARALLEL_BUILDS=1
+ ;;
+ *::0)
+ PARALLEL_BUILDS=$SIMUL
+ ;;
+ *)
+ PARALLEL_BUILDS=1
esac
case "$PARALLEL_BUILDS" in
@@ -30,7 +48,6 @@ esac
# Campus:
# * baldwin sparc-sun-solaris2.10
# * bridgeport sparc-sun-solaris2.10
-# * cowbird freebsd-6.1
# * malarky sparc-sun-solaris2.10
# * pogo sparc-sun-solaris2.10
# * rackety freebsd-6.1
@@ -42,7 +59,7 @@ c_d=${PWD:-`pwd`}
SIG=`perl -e 'print rand'`
case "$LIST" in
- '') LIST="baldwin bridgeport cowbird malarky pogo rackety" ;;
+ '') LIST="malarky rackety" ;;
esac
for i in $LIST
@@ -51,56 +68,61 @@ do
[ -f .buildkey-$i ] && SKIPTHIS=1
case "$SKIPTHIS" in
1)
- echo flock-build running on $i? check LIST, skipping
- ;;
- 0)
- echo $i
- echo $SIG > .buildkey-$i
- case "1" in
- 0)
- ssh $i "cd $c_d ; ./build $SIG $PARSE $STD $BUILD_ARGS" &
- ssh $i "cd $c_d ; ./build $SIG $PARSE $STD --without-crypto $BUILD_ARGS" &
- ssh $i "cd $c_d ; ./build $SIG $STD --disable-all-clocks $BUILD_ARGS" &
- ;;
- 1)
- cat > .flockbuild-$i-$SIG <<ENDQUOT
-#!/bin/sh
-
-# depends on job control and expects to be invoked under ssh -tt
+ echo flock-build running on $i? check LIST, skipping
+ ;;
+ 0)
+ echo $i
+ echo $SIG > .buildkey-$i
+ case "1" in
+ 0)
+ ssh $i "cd $c_d ; ./build $SIG $PARSE $STD $BUILD_ARGS" &
+ ssh $i "cd $c_d ; ./build $SIG $PARSE $STD --without-crypto $BUILD_ARGS" &
+ ssh $i "cd $c_d ; ./build $SIG $STD --disable-all-clocks $BUILD_ARGS" &
+ ;;
+ 1)
+ cat > .flockbuild-$i-$SIG <<-ENDQUOT
+ #!/bin/sh
-cd $c_d
-COUNT=0
+ # script uses job control and expects to be invoked
+ # in a ssh session started with the -tt option,
+ # which forces a pseudo-tty to be used.
+
+ cd $c_d
+ COUNT=0
-./build $SIG $PARSE $STD $BUILD_ARGS &
+ ./build $SIG $PARSE $STD $BUILD_ARGS &
-COUNT=\`expr \$COUNT + 1\`
-echo $i started build \$COUNT of 4
-[ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait
+ COUNT=\`expr \$COUNT + 1\`
+ echo \`date -u '+%H:%M:%S'\` $i started build \$COUNT of 4
+ [ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait
-./build $SIG $PARSE $STD --disable-debugging $BUILD_ARGS &
+ case $FB_FIRSTONLY in
+ '0')
+ ./build $SIG $PARSE $STD --disable-debugging $BUILD_ARGS &
-COUNT=\`expr \$COUNT + 1\`
-echo $i started build \$COUNT of 4
-[ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait
+ COUNT=\`expr \$COUNT + 1\`
+ echo \`date -u '+%H:%M:%S'\` $i started build \$COUNT of 4
+ [ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait
-./build $SIG $PARSE $STD --without-crypto $BUILD_ARGS &
+ ./build $SIG $PARSE $STD --without-crypto $BUILD_ARGS &
-COUNT=\`expr \$COUNT + 1\`
-echo $i started build \$COUNT of 4
-[ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait
+ COUNT=\`expr \$COUNT + 1\`
+ echo \`date -u '+%H:%M:%S'\` $i started build \$COUNT of 4
+ [ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait
-./build $SIG $STD --disable-all-clocks $BUILD_ARGS &
+ ./build $SIG $STD --disable-all-clocks $BUILD_ARGS &
-COUNT=\`expr \$COUNT + 1\`
-echo $i started build \$COUNT of 4
-wait
-echo \`date -u '+%H:%M:%S'\` $i flock-build $c_d done.
-rm .buildkey-$i
+ COUNT=\`expr \$COUNT + 1\`
+ echo \`date -u '+%H:%M:%S'\` $i started build \$COUNT of 4
+ wait
+ esac
+ echo \`date -u '+%H:%M:%S'\` $i flock-build $c_d done.
+ rm .buildkey-$i
ENDQUOT
- chmod +x .flockbuild-$i-$SIG
- ssh -tt $i "$c_d/.flockbuild-$i-$SIG ; \
- rm $c_d/.flockbuild-$i-$SIG" 2>/dev/null &
- esac
+ chmod +x .flockbuild-$i-$SIG
+ ssh -tt $i "$c_d/.flockbuild-$i-$SIG ; \
+ rm $c_d/.flockbuild-$i-$SIG" 2>/dev/null &
+ esac
esac
done
echo `date -u '+%H:%M:%S'` flock-build launched