xref: /iperf/make_release (revision a844d3ba)
1bb0677cdSJon Dugan#!/bin/sh
2bb0677cdSJon Dugan
3bb0677cdSJon Duganproj="iperf"
4bb0677cdSJon Dugan
5*a844d3baSBruce A. Mahif [ "x$2" != "x" ]; then
6*a844d3baSBruce A. Mahtag=$2
7*a844d3baSBruce A. Mahelse
88c6e09a1SJon M. Dugantag=`awk '/IPERF_VERSION / {
9bb0677cdSJon Dugan  gsub(/"/, "", $3);
10bb0677cdSJon Dugan  print $3 }' src/version.h`
11*a844d3baSBruce A. Mahfi
12bb0677cdSJon Dugan
138c6e09a1SJon M. Dugandirname=`echo $tag $proj | awk '{
14bb0677cdSJon Dugan  gsub(/-ALPHA/, "a", $1);
15bb0677cdSJon Dugan  gsub(/-BETA/, "b", $1);
16bb0677cdSJon Dugan  gsub(/-RELEASE/, "", $1);
17bb0677cdSJon Dugan  print $2"-"$1 }'`
18bb0677cdSJon Dugan
19*a844d3baSBruce A. Mah# echo tag $tag
20*a844d3baSBruce A. Mah# echo dirname $dirname
21bb0677cdSJon Dugan
22bb0677cdSJon Dugando_tag ()
23bb0677cdSJon Dugan{
248c6e09a1SJon M. Dugan    hg tag -m "tagging $tag" $tag
25bb0677cdSJon Dugan}
26bb0677cdSJon Dugan
27bb0677cdSJon Dugando_tar ()
28bb0677cdSJon Dugan{
295bafe6e6SJon M. Dugan    tarball=${dirname}.tar.gz
30*a844d3baSBruce A. Mah    rm -f ${tarball}
31*a844d3baSBruce A. Mah    hg archive -t tgz -p ${dirname} -X .hg\* -r ${tag} ${tarball}
32*a844d3baSBruce A. Mah
33*a844d3baSBruce A. Mah    # Compute SHA256 hash
34*a844d3baSBruce A. Mah    case `uname -s` in
35*a844d3baSBruce A. Mah	FreeBSD) sha=sha256 ;;
36*a844d3baSBruce A. Mah	Linux) sha=sha256sum ;;
37*a844d3baSBruce A. Mah	Darwin) sha="shasum -a 256" ;;
38*a844d3baSBruce A. Mah	*) sha=echo ;;
39*a844d3baSBruce A. Mah    esac
40*a844d3baSBruce A. Mah    ${sha} ${tarball}
415bafe6e6SJon M. Dugan}
425bafe6e6SJon M. Dugan
435bafe6e6SJon M. Duganusage ()
445bafe6e6SJon M. Dugan{
455bafe6e6SJon M. Dugan    cat <<EOF
465bafe6e6SJon M. Dugan$0: tag|tar
475bafe6e6SJon M. Dugan
48*a844d3baSBruce A. Mah   tag  -- create a tag
49*a844d3baSBruce A. Mah   tar  -- create a tarball from a tag
505bafe6e6SJon M. Dugan
515bafe6e6SJon M. DuganGeneral use is to do:
525bafe6e6SJon M. Dugan
535bafe6e6SJon M. Dugan./$0 tag
545bafe6e6SJon M. Dugan./$0 tar
55*a844d3baSBruce A. Mah
56*a844d3baSBruce A. MahAn optional argument may be specified to both the tag and tar
57*a844d3baSBruce A. Mahsubcommands to explicitly specify a tag string.  If not specified, the
58*a844d3baSBruce A. Mahcontents of src/version.h are used.
59*a844d3baSBruce A. Mah
605bafe6e6SJon M. DuganEOF
61bb0677cdSJon Dugan}
62bb0677cdSJon Dugan
63bb0677cdSJon Dugancase $1 in
64bb0677cdSJon Dugan    tag) do_tag ;;
65bb0677cdSJon Dugan    tar) do_tar ;;
665bafe6e6SJon M. Dugan    *) echo "unknown command: $1"; usage ;;
67bb0677cdSJon Duganesac
68bb0677cdSJon Dugan
69bb0677cdSJon Duganexit
70