#!/bin/sh -xe # # Script for generating a release # PACKAGE=tftp-hpa if [ -z "$1" ]; then echo "Usage: $0 release-id" 1>&2 exit 1 fi release="$1" releasetag=$PACKAGE-$release releasedir=$PACKAGE-$release GIT_DIR=`cd "${GIT_DIR-.git}" && pwd` export GIT_DIR if [ `git diff --cached | wc -l` -ne 0 ]; then echo "$0: index not clean" 1>&2 exit 1 fi if [ x"$release" = x'test' ]; then release=`cat version` releasetag=HEAD releasedir=$PACKAGE-$release else echo $release > version if [ `git diff version | wc -l` -ne 0 ]; then git add version git commit -m "Update version for release $release" version else git checkout version fi rm -f "$GIT_DIR"/refs/tags/$releasetag git tag -a -m "$releasetag" -f "$releasetag" fi here=`pwd` tmpdir=/var/tmp/release.$$ rm -rf $tmpdir mkdir -p $tmpdir cd $tmpdir mkdir -p $releasedir git archive --format=tar $releasetag | tar -xf - -C $releasedir cd $releasedir make release rm -f release.sh cd .. tar cvvf $releasedir.tar $releasedir gzip -9 $releasedir.tar mv -f $releasedir.tar.gz $here/.. cd .. rm -rf $tmpdir