blob: 09c9374fd7ee4515f2b0d985f5576093b8478916 [file] [log] [blame]
Jon Duganbb0677c2010-07-23 23:50:02 +00001#!/bin/sh
2
3proj="iperf"
4
Bruce A. Maha844d3b2014-01-09 13:26:32 -08005if [ "x$2" != "x" ]; then
6tag=$2
7else
Jon M. Dugan8c6e09a2013-03-28 12:09:34 -05008tag=`awk '/IPERF_VERSION / {
Jon Duganbb0677c2010-07-23 23:50:02 +00009 gsub(/"/, "", $3);
10 print $3 }' src/version.h`
Bruce A. Maha844d3b2014-01-09 13:26:32 -080011fi
Jon Duganbb0677c2010-07-23 23:50:02 +000012
Jon M. Dugan8c6e09a2013-03-28 12:09:34 -050013dirname=`echo $tag $proj | awk '{
Jon Duganbb0677c2010-07-23 23:50:02 +000014 gsub(/-ALPHA/, "a", $1);
15 gsub(/-BETA/, "b", $1);
16 gsub(/-RELEASE/, "", $1);
17 print $2"-"$1 }'`
18
Bruce A. Maha844d3b2014-01-09 13:26:32 -080019# echo tag $tag
20# echo dirname $dirname
Jon Duganbb0677c2010-07-23 23:50:02 +000021
22do_tag ()
23{
Bruce A. Mahb4791822014-03-26 11:05:40 -070024 git tag -s -m "tagging $tag" $tag
Jon Duganbb0677c2010-07-23 23:50:02 +000025}
26
27do_tar ()
28{
Jon M. Dugan5bafe6e2013-03-28 12:51:08 -050029 tarball=${dirname}.tar.gz
Bruce A. Maha844d3b2014-01-09 13:26:32 -080030 rm -f ${tarball}
Bruce A. Mah49a345c2014-03-10 13:30:20 -070031 git archive --format=tar --prefix ${dirname}/ ${tag} | gzip -9 > ${tarball}
Bruce A. Maha844d3b2014-01-09 13:26:32 -080032
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. Mah20bd2a62015-01-09 10:53:03 -080040 ${sha} ${tarball} | tee ${tarball}.sha256
Jon M. Dugan5bafe6e2013-03-28 12:51:08 -050041}
42
43usage ()
44{
45 cat <<EOF
46$0: tag|tar
47
Bruce A. Maha844d3b2014-01-09 13:26:32 -080048 tag -- create a tag
49 tar -- create a tarball from a tag
Jon M. Dugan5bafe6e2013-03-28 12:51:08 -050050
51General use is to do:
52
53./$0 tag
54./$0 tar
Bruce A. Maha844d3b2014-01-09 13:26:32 -080055
56An optional argument may be specified to both the tag and tar
57subcommands to explicitly specify a tag string. If not specified, the
58contents of src/version.h are used.
59
Jon M. Dugan5bafe6e2013-03-28 12:51:08 -050060EOF
Jon Duganbb0677c2010-07-23 23:50:02 +000061}
62
63case $1 in
64 tag) do_tag ;;
65 tar) do_tar ;;
Jon M. Dugan5bafe6e2013-03-28 12:51:08 -050066 *) echo "unknown command: $1"; usage ;;
Jon Duganbb0677c2010-07-23 23:50:02 +000067esac
68
69exit