File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / iperf / make_release
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Sep 27 11:14:54 2023 UTC (7 months, 3 weeks ago) by misho
Branches: iperf, MAIN
CVS tags: v3_15, HEAD
Version 3.15

#!/bin/sh

proj="iperf"

if [ "x$2" != "x" ]; then
tag=$2
else
tag=`awk '/IPERF_VERSION / {
  gsub(/"/, "", $3);
  print $3 }' src/version.h`
fi

dirname=`echo "$tag $proj" | awk '{
  gsub(/-ALPHA/, "a", $1);
  gsub(/-BETA/, "b", $1);
  gsub(/-RELEASE/, "", $1);
  print $2"-"$1 }'`

echo tag $tag
echo dirname $dirname

do_tag ()
{
    git tag -s -m "tagging $tag" "$tag"
}

do_tar ()
{
    tarball=${dirname}.tar.gz
    rm -f "${tarball}"
    git archive --format=tar --prefix "${dirname}/" "${tag}" | gzip -9 > "${tarball}"

    # Compute SHA256 hash
    case `uname -s` in
	FreeBSD) sha=sha256 ;;
	Linux) sha=sha256sum ;;
	Darwin) sha="shasum -a 256" ;;
	*) sha=echo ;;
    esac
    ${sha} "${tarball}" | tee "${tarball}.sha256"
}

usage ()
{
    cat <<EOF
$0: tag|tar

   tag  -- create a tag
   tar  -- create a tarball from a tag

General use is to do:

./$0 tag
./$0 tar

An optional argument may be specified to both the tag and tar
subcommands to explicitly specify a tag string.  If not specified, the
contents of src/version.h are used.

EOF
}

case $1 in
    tag) do_tag ;;
    tar) do_tar ;;
    *) echo "unknown command: $1"; usage ;;
esac

exit

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>