File: make-release.sh

package info (click to toggle)
python-yubico 1.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 288 kB
  • ctags: 434
  • sloc: python: 1,893; ansic: 128; sh: 67; makefile: 4
file content (83 lines) | stat: -rwxr-xr-x 1,957 bytes parent folder | download
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*