diff options
Diffstat (limited to 'flock-build')
| -rwxr-xr-x | flock-build | 114 |
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 |
