| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #! /bin/bash
- # Butchered version of snapshot
- # Can only run on the shell compile farm server
- # Will always create a snapshot of HEAD
- # If want multiple snapshots, just run with "sfsnapshot {branch} [branch2 ...]"
- # Assumes:
- # ssh setup to send to shell.sf.net and $CF without password prompt
- # autconf and automake installed on shell cf at v 2.57 & 1.72 and in PATH
- function die { echo $1; exit 1; }
- # This makes the distribution. Expects $1 as CVS tag, otherwise uses HEAD
- function make_dist {
- if [[ -n $1 ]] ; then
- cvs_rel=$1
- v="$1-"
- else
- cvs_rel="HEAD"
- v=""
- fi
-
- # Get compile server to do the work
- # Variables will be expanded locally before being run on $CF
- ssh $CF <<-EOF
- set -x
- PATH=$PATH
- [[ ! -d $IN/$cvs_rel ]] && mkdir -p $IN/$cvs_rel
- cd $IN/$cvs_rel
- if [[ -d $PROJECT ]] ; then
- cd $PROJECT
- rm configure.in
- cvs update -r $cvs_rel
- else
- cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/nagiosplug co -r $cvs_rel nagiosplug
- cd $PROJECT
- fi
- sed 's/^VER=.*/VER=$v$DS/;s/^REL=.*/REL=snapshot/' configure.in > configure.tmp
- mv configure.tmp configure.in
- aclocal -I lib
- autoheader
- autoconf
- automake --add-missing --copy
- autoreconf
- ./configure
- # Make the Nagiosplug dist tarball
- make dist
- # End ssh
- EOF
- }
- # Set working variables
- PROJECT=nagiosplug
- IN=${HOME}/tmp_snapshot
- OUT_SERVER="shell.sf.net"
- OUT="/home/groups/n/na/nagiosplug/htdocs/snapshot"
- CF="usf-cf-x86-linux-2"
- DS=`date -u +%Y%m%d%H%M`
- # Make dists for HEAD and any others in command parameters
- make_dist
- for i in $* ; do
- make_dist $i
- done
- # Check for *.gz files locally (expect NFS between cf shell server and $CF)
- set -x
- files=$(ls $IN/*/$PROJECT/*.gz 2>/dev/null)
- [[ -z $files ]] && die "No files created"
- ssh $OUT_SERVER "rm -f $OUT/*.gz"
- scp $files $OUT_SERVER:$OUT
- # Create MD5 sum
- ssh $OUT_SERVER << EOF
- cd $OUT
- md5sum *.gz > MD5SUM
- EOF
- rm -f $files
|