Deleted Added
sdiff udiff text old ( 182007 ) new ( 200576 )
full compact
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
19# Backroom:
20# barnstable freebsd-6.1
21# beauregard freebsd-6.0
22# X churchy alpha-dec-osf5.1
23# deacon sparc-sun-solaris2.10
24# grundoon freebsd-6.2
25# howland freebsd-6.1
26# o macabre freebsd-6.1-STABLE
27# o mort freebsd-6.1
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.
40c_d=${PWD:-`pwd`}
41
42SIG=`perl -e 'print rand'`
43
44case "$LIST" in
45 '') LIST="baldwin bridgeport cowbird malarky pogo rackety" ;;
46esac
47
48for i in $LIST
49do
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
104 esac
105done
106echo `date -u '+%H:%M:%S'` flock-build launched