1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
#!/bin/bash
if [ ! -f Lib/yubico/yubikey.py ]; then
echo "$0: Must be executed from top python-yubico dir."
exit 1
fi
do_test="true"
do_sign="true"
if [ "x$1" == "x--no-test" ]; then
do_test="false"
shift
fi
if [ "x$1" == "x--no-sign" ]; then
do_sign="false"
shift
fi
gitref="$1"
if [ "x$gitref" = "x" ]; then
echo "Syntax: $0 [--no-test] [--no-sign] gitref"
exit 1
fi
tmpdir=$(mktemp -d /tmp/python-yubico_make-release.XXXXXX)
if [ ! -d "$tmpdir" ]; then
echo "$0: Failed creating tmpdir ($tmpdir)"
exit 1
fi
set -e
gitdesc=$(git describe $gitref)
setup_ver=$(grep version setup.py | awk -F \' '{print $2}')
if [ "x$setup_ver" != "x$gitdesc" ]; then
echo ""
echo "setup.py version mismatch! ($setup_ver != $gitdesc) Press enter to ignore."
read foo
fi
init_ver=$(grep __version__ Lib/yubico/__init__.py | awk -F \' '{print $2}')
if [ "x$init_ver" != "x$gitdesc" ]; then
echo ""
echo "Lib/yubico/__init__.py version mismatch! ($init_ver != $gitdesc) Press enter to ignore."
read foo
fi
releasedir="python-yubico-$gitdesc"
tarfile="$tmpdir/$releasedir.tar"
git archive --format=tar --prefix=${releasedir}/ ${gitref} | (cd $tmpdir && tar xf -)
git2cl > $tmpdir/$releasedir/ChangeLog
echo "path : $tmpdir/$releasedir"
ls -l $tmpdir/$releasedir
# tar it up to not accidentally get junk in there while running tests etc.
(cd ${tmpdir} && tar zcf python-yubico-${gitdesc}.tar.gz ${releasedir})
if [ "x$do_test" != "xfalse" ]; then
# run all unit tests
(cd $tmpdir/$releasedir && PYTHONPATH="Lib" ./Tests/run.sh)
fi
mkdir -p ../releases
cp ${tmpdir}/python-yubico-${gitdesc}.tar.gz ../releases
if [ "x$do_sign" != "xfalse" ]; then
# sign the release
gpg --detach-sign ../releases/python-yubico-${gitdesc}.tar.gz
gpg --verify ../releases/python-yubico-${gitdesc}.tar.gz.sig
fi
echo ""
echo "Finished"
echo ""
ls -l ../releases/python-yubico-${gitdesc}.tar.gz*
|