diff options
Diffstat (limited to 'tools/sfsnapshot')
| -rwxr-xr-x | tools/sfsnapshot | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/tools/sfsnapshot b/tools/sfsnapshot deleted file mode 100755 index 3b71219a..00000000 --- a/tools/sfsnapshot +++ /dev/null | |||
| @@ -1,119 +0,0 @@ | |||
| 1 | #! /bin/bash | ||
| 2 | |||
| 3 | # Butchered version of snapshot | ||
| 4 | # Can only run on the shell compile farm server | ||
| 5 | # Will always create a snapshot of HEAD | ||
| 6 | # If want multiple snapshots, just run with "sfsnapshot [branch ...]" | ||
| 7 | # Assumes: | ||
| 8 | # ssh setup to send to shell.sf.net and $CF without password prompt | ||
| 9 | # the compile server has all the prerequisites stated at http://nagiosplug.sourceforge.net/developer-guidelines.html | ||
| 10 | # Install in cron with something like: | ||
| 11 | # 47 * * * * $HOME/bin/mail_error -o $HOME/sfsnapshot.out -m tonvoon@users.sf.net sfsnapshot r1_3_0 | ||
| 12 | |||
| 13 | function die { echo $1; exit 1; } | ||
| 14 | |||
| 15 | # This makes the distribution. Expects $1 as branches/name, otherwise uses trunk | ||
| 16 | function make_dist { | ||
| 17 | if [[ -n $1 ]] ; then | ||
| 18 | svn_url_suffix=$1 | ||
| 19 | name=${1##*/} | ||
| 20 | else | ||
| 21 | svn_url_suffix="trunk" | ||
| 22 | name="trunk" | ||
| 23 | fi | ||
| 24 | v="$name-" | ||
| 25 | |||
| 26 | # Get compile server to do the work | ||
| 27 | # Variables will be expanded locally before being run on $CF | ||
| 28 | ssh $CF <<EOF | ||
| 29 | set -x | ||
| 30 | PATH=$PATH:/usr/local/bin | ||
| 31 | [[ ! -d $COMPILE_DIR/$name ]] && mkdir -p $COMPILE_DIR/$name | ||
| 32 | cd $COMPILE_DIR/$name | ||
| 33 | |||
| 34 | # Cannot use cvs export due to conflicts on second run - think this is better for cvs server | ||
| 35 | svn export https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/$svn_url_suffix $PROJECT | ||
| 36 | |||
| 37 | cd $PROJECT | ||
| 38 | |||
| 39 | tools/setup | ||
| 40 | |||
| 41 | ./configure | ||
| 42 | |||
| 43 | # Make the Nagiosplug dist tarball | ||
| 44 | make dist VERSION=$v$DS RELEASE=snapshot | ||
| 45 | |||
| 46 | # May fail if file not generated - do not trap | ||
| 47 | mv *.gz $IN | ||
| 48 | |||
| 49 | rm -rf $COMPILE_DIR | ||
| 50 | # End ssh | ||
| 51 | EOF | ||
| 52 | } | ||
| 53 | |||
| 54 | # Set working variables | ||
| 55 | PROJECT=nagiosplug | ||
| 56 | |||
| 57 | # This is local to the compile server for faster compile | ||
| 58 | COMPILE_DIR=/tmp/tonvoon/tmp_snapshot | ||
| 59 | |||
| 60 | # Needs to be on NFS so gz file can be read on the compile shell server | ||
| 61 | IN=${HOME}/tmp_snapshot | ||
| 62 | |||
| 63 | # Where to place the generated files | ||
| 64 | OUT_SERVER="tonvoon@web.sourceforge.net" | ||
| 65 | OUT="/home/groups/n/na/nagiosplug/htdocs/snapshot" | ||
| 66 | |||
| 67 | # Make sure prereqs are satisfied on server! | ||
| 68 | CF="localhost" | ||
| 69 | DS=`date -u +%Y%m%d%H%M` | ||
| 70 | |||
| 71 | # Setup home directory area | ||
| 72 | [[ ! -d $IN ]] && mkdir -p $IN | ||
| 73 | |||
| 74 | # Make dists for HEAD and any others in command parameters | ||
| 75 | make_dist | ||
| 76 | for i in $* ; do | ||
| 77 | make_dist $i | ||
| 78 | done | ||
| 79 | |||
| 80 | # Create MD5 sum | ||
| 81 | cd $IN | ||
| 82 | cat <<-END_README > README | ||
| 83 | This is the daily SVN snapshot of nagiosplug, consisting of the SVN trunk | ||
| 84 | and any other branches. | ||
| 85 | |||
| 86 | The nagios-plugins-HEAD.tar.gz link will always go to the latest trunk snapshot | ||
| 87 | (name kept for existing tinderbox scripts to link correctly). | ||
| 88 | |||
| 89 | The MD5SUM is: | ||
| 90 | END_README | ||
| 91 | md5sum *.gz | tee -a README > MD5SUM | ||
| 92 | |||
| 93 | |||
| 94 | # Check for *.gz files locally (expect NFS between cf shell server and $CF) | ||
| 95 | set -x | ||
| 96 | cd $IN | ||
| 97 | files=$(ls *.gz 2>/dev/null) | ||
| 98 | [[ -z $files ]] && die "No files created" | ||
| 99 | head_file=$(cd $IN && ls -rt *-trunk-*.gz | head -1 2>/dev/null) | ||
| 100 | cat <<-EOF > /tmp/batchfile.$$ | ||
| 101 | cd $OUT | ||
| 102 | rm *.gz | ||
| 103 | put *.gz | ||
| 104 | ln $head_file nagios-plugins-HEAD.tar.gz | ||
| 105 | put MD5SUM | ||
| 106 | put README readme | ||
| 107 | EOF | ||
| 108 | |||
| 109 | # Do the actual transfer | ||
| 110 | # Have to put README down as readme because SF's apache server appears to block README files | ||
| 111 | sftp -b /tmp/batchfile.$$ $OUT_SERVER | ||
| 112 | |||
| 113 | rm -f $files /tmp/batchfile.$$ | ||
| 114 | |||
| 115 | # Work out success or failure | ||
| 116 | expected=$(($# + 1)) | ||
| 117 | set -- $files | ||
| 118 | [[ $# -ne $expected ]] && die "Expected $expected, got $#" | ||
| 119 | exit 0 | ||
