1*7ab6e6acSAndroid Build Coastguard Worker#!/bin/sh 2*7ab6e6acSAndroid Build Coastguard Worker 3*7ab6e6acSAndroid Build Coastguard Workerproj="iperf" 4*7ab6e6acSAndroid Build Coastguard Worker 5*7ab6e6acSAndroid Build Coastguard Workerif [ "x$2" != "x" ]; then 6*7ab6e6acSAndroid Build Coastguard Workertag=$2 7*7ab6e6acSAndroid Build Coastguard Workerelse 8*7ab6e6acSAndroid Build Coastguard Workertag=`awk '/IPERF_VERSION / { 9*7ab6e6acSAndroid Build Coastguard Worker gsub(/"/, "", $3); 10*7ab6e6acSAndroid Build Coastguard Worker print $3 }' src/version.h` 11*7ab6e6acSAndroid Build Coastguard Workerfi 12*7ab6e6acSAndroid Build Coastguard Worker 13*7ab6e6acSAndroid Build Coastguard Workerdirname=`echo $tag $proj | awk '{ 14*7ab6e6acSAndroid Build Coastguard Worker gsub(/-ALPHA/, "a", $1); 15*7ab6e6acSAndroid Build Coastguard Worker gsub(/-BETA/, "b", $1); 16*7ab6e6acSAndroid Build Coastguard Worker gsub(/-RELEASE/, "", $1); 17*7ab6e6acSAndroid Build Coastguard Worker print $2"-"$1 }'` 18*7ab6e6acSAndroid Build Coastguard Worker 19*7ab6e6acSAndroid Build Coastguard Worker# echo tag $tag 20*7ab6e6acSAndroid Build Coastguard Worker# echo dirname $dirname 21*7ab6e6acSAndroid Build Coastguard Worker 22*7ab6e6acSAndroid Build Coastguard Workerdo_tag () 23*7ab6e6acSAndroid Build Coastguard Worker{ 24*7ab6e6acSAndroid Build Coastguard Worker git tag -s -m "tagging $tag" $tag 25*7ab6e6acSAndroid Build Coastguard Worker} 26*7ab6e6acSAndroid Build Coastguard Worker 27*7ab6e6acSAndroid Build Coastguard Workerdo_tar () 28*7ab6e6acSAndroid Build Coastguard Worker{ 29*7ab6e6acSAndroid Build Coastguard Worker tarball=${dirname}.tar.gz 30*7ab6e6acSAndroid Build Coastguard Worker rm -f ${tarball} 31*7ab6e6acSAndroid Build Coastguard Worker git archive --format=tar --prefix ${dirname}/ ${tag} | gzip -9 > ${tarball} 32*7ab6e6acSAndroid Build Coastguard Worker 33*7ab6e6acSAndroid Build Coastguard Worker # Compute SHA256 hash 34*7ab6e6acSAndroid Build Coastguard Worker case `uname -s` in 35*7ab6e6acSAndroid Build Coastguard Worker FreeBSD) sha=sha256 ;; 36*7ab6e6acSAndroid Build Coastguard Worker Linux) sha=sha256sum ;; 37*7ab6e6acSAndroid Build Coastguard Worker Darwin) sha="shasum -a 256" ;; 38*7ab6e6acSAndroid Build Coastguard Worker *) sha=echo ;; 39*7ab6e6acSAndroid Build Coastguard Worker esac 40*7ab6e6acSAndroid Build Coastguard Worker ${sha} ${tarball} | tee ${tarball}.sha256 41*7ab6e6acSAndroid Build Coastguard Worker} 42*7ab6e6acSAndroid Build Coastguard Worker 43*7ab6e6acSAndroid Build Coastguard Workerusage () 44*7ab6e6acSAndroid Build Coastguard Worker{ 45*7ab6e6acSAndroid Build Coastguard Worker cat <<EOF 46*7ab6e6acSAndroid Build Coastguard Worker$0: tag|tar 47*7ab6e6acSAndroid Build Coastguard Worker 48*7ab6e6acSAndroid Build Coastguard Worker tag -- create a tag 49*7ab6e6acSAndroid Build Coastguard Worker tar -- create a tarball from a tag 50*7ab6e6acSAndroid Build Coastguard Worker 51*7ab6e6acSAndroid Build Coastguard WorkerGeneral use is to do: 52*7ab6e6acSAndroid Build Coastguard Worker 53*7ab6e6acSAndroid Build Coastguard Worker./$0 tag 54*7ab6e6acSAndroid Build Coastguard Worker./$0 tar 55*7ab6e6acSAndroid Build Coastguard Worker 56*7ab6e6acSAndroid Build Coastguard WorkerAn optional argument may be specified to both the tag and tar 57*7ab6e6acSAndroid Build Coastguard Workersubcommands to explicitly specify a tag string. If not specified, the 58*7ab6e6acSAndroid Build Coastguard Workercontents of src/version.h are used. 59*7ab6e6acSAndroid Build Coastguard Worker 60*7ab6e6acSAndroid Build Coastguard WorkerEOF 61*7ab6e6acSAndroid Build Coastguard Worker} 62*7ab6e6acSAndroid Build Coastguard Worker 63*7ab6e6acSAndroid Build Coastguard Workercase $1 in 64*7ab6e6acSAndroid Build Coastguard Worker tag) do_tag ;; 65*7ab6e6acSAndroid Build Coastguard Worker tar) do_tar ;; 66*7ab6e6acSAndroid Build Coastguard Worker *) echo "unknown command: $1"; usage ;; 67*7ab6e6acSAndroid Build Coastguard Workeresac 68*7ab6e6acSAndroid Build Coastguard Worker 69*7ab6e6acSAndroid Build Coastguard Workerexit 70