added helper script to prepare releases

pull/20/head
John Tsiombikas 2020-02-01 02:00:08 +02:00
rodzic 081182f167
commit d16ef85b7e
1 zmienionych plików z 40 dodań i 0 usunięć

40
mkrel 100755
Wyświetl plik

@ -0,0 +1,40 @@
#!/bin/sh
# helper script to prepare a release
if [ -z "$1" ]; then
echo 'pass the release version number' >&2
exit 1
fi
if echo $1 | grep -v '[0-9\.]' >/dev/null; then
echo 'invalid release number, try something like "1.2"' >&2
exit 1
fi
ver=$1
name=$(pwd | xargs basename)
fullname=$name-$ver
if git tag | grep "^v$ver$" >/dev/null; then
echo "release tag v$ver already exists" >&2
exit 1
fi
echo "tagging v$ver ..."
git tag v$ver
echo "preparing tarball: $fullname.tar.gz ..."
git archive -o $fullname.tar.gz --prefix=$fullname/ v$ver
# fixup VER in the configure script
echo "fixing up version in configure script to not rely on git ..."
orig_pwd=`pwd`
mkdir -p /tmp/mkrelfix
cd /tmp/mkrelfix
tar xzvf $orig_pwd/$fullname.tar.gz
sed -i "s/^VER=.*/VER=$ver/" $fullname/configure
# also while we're at it, remove this script too
rm -f $fullname/`basename $0`
tar czvf $orig_pwd/$fullname.tar.gz $fullname
echo
echo "Done. If there was some mistake delete the tag with: git tag -d v$ver"
echo 'Otherwise, push the new tag with: git push --tags, and upload the tarball.'