xref: /iperf/make_release (revision 76bd67f6)
1bb0677cdSJon Dugan#!/bin/sh
2bb0677cdSJon Dugan
3bb0677cdSJon Duganproj="iperf"
4bb0677cdSJon Dugan
5a844d3baSBruce A. Mahif [ "x$2" != "x" ]; then
6a844d3baSBruce A. Mahtag=$2
7a844d3baSBruce A. Mahelse
88c6e09a1SJon M. Dugantag=`awk '/IPERF_VERSION / {
9bb0677cdSJon Dugan  gsub(/"/, "", $3);
10bb0677cdSJon Dugan  print $3 }' src/version.h`
11a844d3baSBruce A. Mahfi
12bb0677cdSJon Dugan
13ae2fac39Sa1346054dirname=`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*76bd67f6SSarah Larsenecho tag $tag
20*76bd67f6SSarah Larsenecho dirname $dirname
21bb0677cdSJon Dugan
22bb0677cdSJon Dugando_tag ()
23bb0677cdSJon Dugan{
24ae2fac39Sa1346054    git tag -s -m "tagging $tag" "$tag"
25bb0677cdSJon Dugan}
26bb0677cdSJon Dugan
27bb0677cdSJon Dugando_tar ()
28bb0677cdSJon Dugan{
295bafe6e6SJon M. Dugan    tarball=${dirname}.tar.gz
30ae2fac39Sa1346054    rm -f "${tarball}"
31ae2fac39Sa1346054    git archive --format=tar --prefix "${dirname}/" "${tag}" | gzip -9 > "${tarball}"
32a844d3baSBruce A. Mah
33a844d3baSBruce A. Mah    # Compute SHA256 hash
34a844d3baSBruce A. Mah    case `uname -s` in
35a844d3baSBruce A. Mah	FreeBSD) sha=sha256 ;;
36a844d3baSBruce A. Mah	Linux) sha=sha256sum ;;
37a844d3baSBruce A. Mah	Darwin) sha="shasum -a 256" ;;
38a844d3baSBruce A. Mah	*) sha=echo ;;
39a844d3baSBruce A. Mah    esac
40ae2fac39Sa1346054    ${sha} "${tarball}" | tee "${tarball}.sha256"
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
48a844d3baSBruce A. Mah   tag  -- create a tag
49a844d3baSBruce 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
55a844d3baSBruce A. Mah
56a844d3baSBruce A. MahAn optional argument may be specified to both the tag and tar
57a844d3baSBruce A. Mahsubcommands to explicitly specify a tag string.  If not specified, the
58a844d3baSBruce A. Mahcontents of src/version.h are used.
59a844d3baSBruce 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