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