]> Cypherpunks.ru repositories - gogost.git/blob - makedist.sh
Less hackish file size reading
[gogost.git] / makedist.sh
1 #!/bin/sh -ex
2
3 cur=$(pwd)
4 tmp=$(mktemp -d)
5 release=$1
6 [ -n "$release" ]
7
8 git clone . $tmp/gogost-$release
9 cd $tmp/gogost-$release
10 git checkout $release
11 git submodule update --init
12
13 mkdir -p src/cypherpunks.ru/gogost/vendor
14 cat > $tmp/includes <<EOF
15 golang.org/x/crypto/AUTHORS
16 golang.org/x/crypto/CONTRIBUTORS
17 golang.org/x/crypto/LICENSE
18 golang.org/x/crypto/PATENTS
19 golang.org/x/crypto/README
20 golang.org/x/crypto/pbkdf2
21 EOF
22 tar cfCI - src $tmp/includes | tar xfC - src/cypherpunks.ru/gogost/vendor
23 find . -name .git -type d | xargs rm -fr
24 rm -fr www* makedist* TODO src/golang.org $tmp/includes
25
26 cd ..
27 tar cvf gogost-"$release".tar --uid=0 --gid=0 --numeric-owner gogost-"$release"
28 xz -9 gogost-"$release".tar
29 gpg --detach-sign --sign --local-user 82343436696FC85A gogost-"$release".tar.xz
30
31 tarball=gogost-"$release".tar.xz
32 size=$(( $(stat -f %z $tarball) / 1024 ))
33 hash=$(gpg --print-md SHA256 < $tarball)
34 hashsb=$($HOME/work/gogost/streebog256 < $tarball)
35 release_date=$(date "+%Y-%m-%d")
36
37 cat <<EOF
38 An entry for documentation:
39 @item @ref{Release $release, $release} @tab $release_date @tab $size KiB
40 @tab @url{gogost-${release}.tar.xz, link} @url{gogost-${release}.tar.xz.sig, sign}
41 @tab @code{$hash}
42 @tab @code{$hashsb}
43 EOF
44
45 cat <<EOF
46 Subject: [EN] GoGOST $release release announcement
47
48 I am pleased to announce GoGOST $release release availability!
49
50 GoGOST is free software pure Go GOST cryptographic functions library.
51 GOST is GOvernment STandard of Russian Federation (and Soviet Union).
52
53 ------------------------ >8 ------------------------
54
55 The main improvements for that release are:
56
57
58 ------------------------ >8 ------------------------
59
60 GoGOST'es home page is: http://gogost.cypherpunks.ru/
61
62 Source code and its signature for that version can be found here:
63
64     http://gogost.cypherpunks.ru/gogost-${release}.tar.xz ($size KiB)
65     http://gogost.cypherpunks.ru/gogost-${release}.tar.xz.sig
66
67 Streebog-256 hash: $hashsb
68 SHA256 hash: $hash
69 GPG key: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
70          GoGOST releases <gogost at cypherpunks dot ru>
71
72 Please send questions regarding the use of GoGOST, bug reports and patches
73 to mailing list: https://lists.cypherpunks.ru/mailman/listinfo/gost
74 EOF
75
76 cat <<EOF
77 Subject: [RU] Состоялся релиз GoGOST $release
78
79 Я рад сообщить о выходе релиза GoGOST $release!
80
81 GoGOST это свободное программное обеспечение реализующее
82 криптографические функции ГОСТ на чистом Go. ГОСТ -- ГОсударственный
83 СТандарт Российской Федерации (а также Советского Союза).
84
85 ------------------------ >8 ------------------------
86
87 Основные усовершенствования в этом релизе:
88
89
90 ------------------------ >8 ------------------------
91
92 Домашняя страница GoGOST: http://gogost.cypherpunks.ru/
93
94 Исходный код и его подпись для этой версии могут быть найдены здесь:
95
96     http://gogost.cypherpunks.ru/gogost-${release}.tar.xz ($size KiB)
97     http://gogost.cypherpunks.ru/gogost-${release}.tar.xz.sig
98
99 Streebog-256 хэш: $hashsb
100 SHA256 хэш: $hash
101 GPG ключ: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
102           GoGOST releases <gogost at cypherpunks dot ru>
103
104 Пожалуйста, все вопросы касающиеся использования GoGOST, отчёты об
105 ошибках и патчи отправляйте в gost почтовую рассылку:
106 https://lists.cypherpunks.ru/mailman/listinfo/gost
107 EOF
108
109 mv $tmp/$tarball $tmp/"$tarball".sig $cur/gogost.html/