]> Cypherpunks.ru repositories - pyderasn.git/blob - makedist.sh
f394883d2585d21dbe09e460f37a07d9f3ef18dc
[pyderasn.git] / makedist.sh
1 #!/bin/sh -ex
2
3 cur=$(pwd)
4 tmp=$(mktemp -d)
5 release=$1
6 [ -n "$release" ]
7
8 mkdir $tmp/pyderasn-"$release"
9 cut -d" " -f2 < MANIFEST.in | while read path; do
10     find $path >> $tmp/includes
11 done
12 echo pyderasn.py >> $tmp/includes
13 echo setup.py >> $tmp/includes
14 tar cfI - $tmp/includes | tar xfC - $tmp/pyderasn-"$release"
15
16 PYTHONPATH="$tmp/pyderasn-$release" redo $tmp/pyderasn-"$release"/doc/build.log
17 rm -r $tmp/pyderasn-"$release"/doc/.redo $tmp/pyderasn-"$release"/doc/build.log
18
19 tar xvfC doc/download/six-1.15.0.tar.gz $tmp --include "*/*six.py"
20 mv -v $tmp/six-*/six.py $tmp/pyderasn-"$release"
21 mv -v $tmp/six-*/test_six.py $tmp/pyderasn-"$release"/tests
22
23 tar xvfC doc/download/termcolor-1.1.0.tar.gz $tmp --include "*/termcolor.py"
24 mv -v $tmp/termcolor-*/termcolor.py $tmp/pyderasn-"$release"
25
26 pip_hash=$(pip hash dist/pyderasn-"$release".tar.gz | sed -n '$p')
27 six_requirement="six==1.15.0 --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"
28
29 cd $tmp
30 find . -type d -exec chmod 755 {} \;
31 find . -type f -exec chmod 644 {} \;
32 chmod 755 pyderasn-"$release"/pyderasn.py
33 tar cvf pyderasn-"$release".tar --uid=0 --gid=0 --numeric-owner pyderasn-"$release"
34 xz -9v pyderasn-"$release".tar
35 gpg --detach-sign --sign --local-user 04A933D1BA20327A pyderasn-"$release".tar.xz
36
37 tarball=pyderasn-"$release".tar.xz
38 size=$(( $(stat -f %z $tarball) / 1024 ))
39 hash=$(gpg --print-md SHA256 < $tarball)
40 release_date=$(date "+%Y-%m-%d")
41
42 cat <<EOF
43 An entry for documentation:
44    * - \`\`pyderasn\`\` :ref:\`$release <release$release>\`
45      - $release_date
46      - $size KiB
47      - \`link <download/pyderasn-${release}.tar.xz>\`__
48        \`sign <download/pyderasn-${release}.tar.xz.sig>\`__
49      - \`\`$hash\`\`
50
51 pyderasn==$release $pip_hash
52 $six_requirement
53 EOF
54
55 mv $tmp/$tarball $tmp/"$tarball".sig $cur/doc/download
56
57 cat <<EOF
58 Subject: PyDERASN $release release announcement
59
60 I am pleased to announce PyDERASN $release release availability!
61
62 PyDERASN is free software pure Python ASN.1 DER/CER/BER library.
63
64 ------------------------ >8 ------------------------
65
66 The main improvements for that release are:
67
68
69 ------------------------ >8 ------------------------
70
71 PyDERASN'es home page is: http://www.pyderasn.cypherpunks.ru/
72
73 Source code and its signature for that version can be found here:
74
75     http://www.pyderasn.cypherpunks.ru/download/pyderasn-${release}.tar.xz ($size KiB)
76     http://www.pyderasn.cypherpunks.ru/download/pyderasn-${release}.tar.xz.sig
77
78 SHA256 hash: $hash
79 GPG key: 2ED6 C846 3051 02DF 5B4E  0383 04A9 33D1 BA20 327A
80          PyDERASN releases <pyderasn at cypherpunks dot ru>
81
82 pip'es requirements file:
83
84     pyderasn==$release $pip_hash
85     $six_requirement
86
87 Please send questions regarding the use of PyDERASN, bug reports and patches
88 to mailing list: https://lists.cypherpunks.ru/mailman/listinfo/pyderasn-devel
89 EOF