1#! /bin/sh 2 3BUILD_ARGS="$@" 4PARSE="--enable-parse-clocks" 5#PARSE= 6STD="--enable-simulator" 7
| 1#! /bin/sh 2 3BUILD_ARGS="$@" 4PARSE="--enable-parse-clocks" 5#PARSE= 6STD="--enable-simulator" 7
|
| 8case "$SIMUL" in 9 '') PARALLEL_BUILDS=1 10 ;; 11 *) PARALLEL_BUILDS=$SIMUL 12esac 13 14case "$PARALLEL_BUILDS" in 15 1) ;; 16 *) echo Launching $PARALLEL_BUILDS parallel builds on each machine 17esac 18
|
8# Backroom:
| 19# Backroom:
|
9# beauregard freebsd-6 10# o churchy alpha-dec-osf5.1
| 20# barnstable freebsd-6.1 21# beauregard freebsd-6.0 22# X churchy alpha-dec-osf5.1
|
11# deacon sparc-sun-solaris2.10
| 23# deacon sparc-sun-solaris2.10
|
12# grundoon freebsd-6.1
| 24# grundoon freebsd-6.2
|
13# howland freebsd-6.1
| 25# howland freebsd-6.1
|
14# o macabre sparc-sun-solaris2.8 15# o mort sparc-sun-solaris2.8
| 26# o macabre freebsd-6.1-STABLE 27# o mort freebsd-6.1
|
16# whimsy sparc-sun-solaris2.10 17 18# Campus: 19# * baldwin sparc-sun-solaris2.10 20# * bridgeport sparc-sun-solaris2.10 21# * cowbird freebsd-6.1 22# * malarky sparc-sun-solaris2.10 23# * pogo sparc-sun-solaris2.10 24# * rackety freebsd-6.1 25
| 28# whimsy sparc-sun-solaris2.10 29 30# Campus: 31# * baldwin sparc-sun-solaris2.10 32# * bridgeport sparc-sun-solaris2.10 33# * cowbird freebsd-6.1 34# * malarky sparc-sun-solaris2.10 35# * pogo sparc-sun-solaris2.10 36# * rackety freebsd-6.1 37
|
| 38# HMS: we need $PWD because solaris produces /deacon/backroom when 39# we are in /backroom and in general there is no /deacon/backroom.
|
26c_d=${PWD:-`pwd`} 27 28SIG=`perl -e 'print rand'`
| 40c_d=${PWD:-`pwd`} 41 42SIG=`perl -e 'print rand'`
|
29echo $SIG > .buildkey
| |
30 31case "$LIST" in 32 '') LIST="baldwin bridgeport cowbird malarky pogo rackety" ;; 33esac 34 35for i in $LIST 36do
| 43 44case "$LIST" in 45 '') LIST="baldwin bridgeport cowbird malarky pogo rackety" ;; 46esac 47 48for i in $LIST 49do
|
37 echo $i 38 case "1" in 39 0) 40 ssh $i "cd $c_d ; ./build $SIG $PARSE $STD $BUILD_ARGS" & 41 ssh $i "cd $c_d ; ./build $SIG $PARSE $STD --without-crypto $BUILD_ARGS" & 42 ssh $i "cd $c_d ; ./build $SIG $STD --disable-all-clocks $BUILD_ARGS" & 43 ;; 44 1) ssh $i "cd $c_d ; \ 45./build $SIG $PARSE $STD $BUILD_ARGS ; \ 46./build $SIG $PARSE $STD --disable-debugging $BUILD_ARGS ; \ 47./build $SIG $PARSE $STD --without-crypto $BUILD_ARGS ; \ 48./build $SIG $STD --disable-all-clocks $BUILD_ARGS" \ 49& 50 ;;
| 50 SKIPTHIS=0 51 [ -f .buildkey-$i ] && SKIPTHIS=1 52 case "$SKIPTHIS" in 53 1) 54 echo flock-build running on $i? check LIST, skipping 55 ;; 56 0) 57 echo $i 58 echo $SIG > .buildkey-$i 59 case "1" in 60 0) 61 ssh $i "cd $c_d ; ./build $SIG $PARSE $STD $BUILD_ARGS" & 62 ssh $i "cd $c_d ; ./build $SIG $PARSE $STD --without-crypto $BUILD_ARGS" & 63 ssh $i "cd $c_d ; ./build $SIG $STD --disable-all-clocks $BUILD_ARGS" & 64 ;; 65 1) 66 cat > .flockbuild-$i-$SIG <<ENDQUOT 67#!/bin/sh 68 69# depends on job control and expects to be invoked under ssh -tt 70 71cd $c_d 72COUNT=0 73 74./build $SIG $PARSE $STD $BUILD_ARGS & 75 76COUNT=\`expr \$COUNT + 1\` 77echo $i started build \$COUNT of 4 78[ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait 79 80./build $SIG $PARSE $STD --disable-debugging $BUILD_ARGS & 81 82COUNT=\`expr \$COUNT + 1\` 83echo $i started build \$COUNT of 4 84[ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait 85 86./build $SIG $PARSE $STD --without-crypto $BUILD_ARGS & 87 88COUNT=\`expr \$COUNT + 1\` 89echo $i started build \$COUNT of 4 90[ 0 -lt \`expr \$COUNT % $PARALLEL_BUILDS\` ] || wait 91 92./build $SIG $STD --disable-all-clocks $BUILD_ARGS & 93 94COUNT=\`expr \$COUNT + 1\` 95echo $i started build \$COUNT of 4 96wait 97echo \`date -u '+%H:%M:%S'\` $i flock-build $c_d done. 98rm .buildkey-$i 99ENDQUOT 100 chmod +x .flockbuild-$i-$SIG 101 ssh -tt $i "$c_d/.flockbuild-$i-$SIG ; \ 102 rm $c_d/.flockbuild-$i-$SIG" 2>/dev/null & 103 esac
|
51 esac 52done
| 104 esac 105done
|
| 106echo `date -u '+%H:%M:%S'` flock-build launched
|
| |