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