Jon Dugan | bb0677c | 2010-07-23 23:50:02 +0000 | [diff] [blame] | 1 | #!/bin/sh |
2 | |||||
3 | proj="iperf" | ||||
4 | |||||
Bruce A. Mah | a844d3b | 2014-01-09 13:26:32 -0800 | [diff] [blame] | 5 | if [ "x$2" != "x" ]; then |
6 | tag=$2 | ||||
7 | else | ||||
Jon M. Dugan | 8c6e09a | 2013-03-28 12:09:34 -0500 | [diff] [blame] | 8 | tag=`awk '/IPERF_VERSION / { |
Jon Dugan | bb0677c | 2010-07-23 23:50:02 +0000 | [diff] [blame] | 9 | gsub(/"/, "", $3); |
10 | print $3 }' src/version.h` | ||||
Bruce A. Mah | a844d3b | 2014-01-09 13:26:32 -0800 | [diff] [blame] | 11 | fi |
Jon Dugan | bb0677c | 2010-07-23 23:50:02 +0000 | [diff] [blame] | 12 | |
Jon M. Dugan | 8c6e09a | 2013-03-28 12:09:34 -0500 | [diff] [blame] | 13 | dirname=`echo $tag $proj | awk '{ |
Jon Dugan | bb0677c | 2010-07-23 23:50:02 +0000 | [diff] [blame] | 14 | gsub(/-ALPHA/, "a", $1); |
15 | gsub(/-BETA/, "b", $1); | ||||
16 | gsub(/-RELEASE/, "", $1); | ||||
17 | print $2"-"$1 }'` | ||||
18 | |||||
Bruce A. Mah | a844d3b | 2014-01-09 13:26:32 -0800 | [diff] [blame] | 19 | # echo tag $tag |
20 | # echo dirname $dirname | ||||
Jon Dugan | bb0677c | 2010-07-23 23:50:02 +0000 | [diff] [blame] | 21 | |
22 | do_tag () | ||||
23 | { | ||||
Bruce A. Mah | b479182 | 2014-03-26 11:05:40 -0700 | [diff] [blame] | 24 | git tag -s -m "tagging $tag" $tag |
Jon Dugan | bb0677c | 2010-07-23 23:50:02 +0000 | [diff] [blame] | 25 | } |
26 | |||||
27 | do_tar () | ||||
28 | { | ||||
Jon M. Dugan | 5bafe6e | 2013-03-28 12:51:08 -0500 | [diff] [blame] | 29 | tarball=${dirname}.tar.gz |
Bruce A. Mah | a844d3b | 2014-01-09 13:26:32 -0800 | [diff] [blame] | 30 | rm -f ${tarball} |
Bruce A. Mah | 49a345c | 2014-03-10 13:30:20 -0700 | [diff] [blame] | 31 | git archive --format=tar --prefix ${dirname}/ ${tag} | gzip -9 > ${tarball} |
Bruce A. Mah | a844d3b | 2014-01-09 13:26:32 -0800 | [diff] [blame] | 32 | |
33 | # Compute SHA256 hash | ||||
34 | case `uname -s` in | ||||
35 | FreeBSD) sha=sha256 ;; | ||||
36 | Linux) sha=sha256sum ;; | ||||
37 | Darwin) sha="shasum -a 256" ;; | ||||
38 | *) sha=echo ;; | ||||
39 | esac | ||||
Bruce A. Mah | 20bd2a6 | 2015-01-09 10:53:03 -0800 | [diff] [blame] | 40 | ${sha} ${tarball} | tee ${tarball}.sha256 |
Jon M. Dugan | 5bafe6e | 2013-03-28 12:51:08 -0500 | [diff] [blame] | 41 | } |
42 | |||||
43 | usage () | ||||
44 | { | ||||
45 | cat <<EOF | ||||
46 | $0: tag|tar | ||||
47 | |||||
Bruce A. Mah | a844d3b | 2014-01-09 13:26:32 -0800 | [diff] [blame] | 48 | tag -- create a tag |
49 | tar -- create a tarball from a tag | ||||
Jon M. Dugan | 5bafe6e | 2013-03-28 12:51:08 -0500 | [diff] [blame] | 50 | |
51 | General use is to do: | ||||
52 | |||||
53 | ./$0 tag | ||||
54 | ./$0 tar | ||||
Bruce A. Mah | a844d3b | 2014-01-09 13:26:32 -0800 | [diff] [blame] | 55 | |
56 | An optional argument may be specified to both the tag and tar | ||||
57 | subcommands to explicitly specify a tag string. If not specified, the | ||||
58 | contents of src/version.h are used. | ||||
59 | |||||
Jon M. Dugan | 5bafe6e | 2013-03-28 12:51:08 -0500 | [diff] [blame] | 60 | EOF |
Jon Dugan | bb0677c | 2010-07-23 23:50:02 +0000 | [diff] [blame] | 61 | } |
62 | |||||
63 | case $1 in | ||||
64 | tag) do_tag ;; | ||||
65 | tar) do_tar ;; | ||||
Jon M. Dugan | 5bafe6e | 2013-03-28 12:51:08 -0500 | [diff] [blame] | 66 | *) echo "unknown command: $1"; usage ;; |
Jon Dugan | bb0677c | 2010-07-23 23:50:02 +0000 | [diff] [blame] | 67 | esac |
68 | |||||
69 | exit |