]> Cypherpunks.ru repositories - gogost.git/blob - makedist.sh
No real UID/GID in distribution tarballs
[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=$(( $(wc -c < $tarball) / 1024 ))
33 hash=$(gpg --print-md SHA256 < $tarball)
34 hashsb=$($HOME/work/gogost/streebog256 < $tarball)
35
36 cat <<EOF
37 An entry for documentation:
38 @item $release @tab $size KiB
39 @tab @url{gogost-${release}.tar.xz, link} @url{gogost-${release}.tar.xz.sig, sign}
40 @tab @code{$hash}
41 @tab @code{$hashsb}
42 EOF
43
44 cat <<EOF
45 Subject: [EN] GoGOST $release release announcement
46
47 I am pleased to announce GoGOST $release release availability!
48
49 GoGOST is free software pure Go GOST cryptographic functions library.
50 GOST is GOvernment STandard of Russian Federation (and Soviet Union).
51
52 ------------------------ >8 ------------------------
53
54 The main improvements for that release are:
55
56
57 ------------------------ >8 ------------------------
58
59 GoGOST'es home page is: http://gogost.cypherpunks.ru/
60
61 Source code and its signature for that version can be found here:
62
63     http://gogost.cypherpunks.ru/gogost-${release}.tar.xz ($size KiB)
64     http://gogost.cypherpunks.ru/gogost-${release}.tar.xz.sig
65
66 Streebog-256 hash: $hashsb
67 SHA256 hash: $hash
68 GPG key: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
69          GoGOST releases <gogost at cypherpunks dot ru>
70
71 Please send questions regarding the use of GoGOST, bug reports and patches
72 to mailing list: https://lists.cypherpunks.ru/mailman/listinfo/gost
73 EOF
74
75 cat <<EOF
76 Subject: [RU] Состоялся релиз GoGOST $release
77
78 Я рад сообщить о выходе релиза GoGOST $release!
79
80 GoGOST это свободное программное обеспечение реализующее
81 криптографические функции ГОСТ на чистом Go. ГОСТ -- ГОсударственный
82 СТандарт Российской Федерации (а также Советского Союза).
83
84 ------------------------ >8 ------------------------
85
86 Основные усовершенствования в этом релизе:
87
88
89 ------------------------ >8 ------------------------
90
91 Домашняя страница GoGOST: http://gogost.cypherpunks.ru/
92
93 Исходный код и его подпись для этой версии могут быть найдены здесь:
94
95     http://gogost.cypherpunks.ru/gogost-${release}.tar.xz ($size KiB)
96     http://gogost.cypherpunks.ru/gogost-${release}.tar.xz.sig
97
98 Streebog-256 хэш: $hashsb
99 SHA256 хэш: $hash
100 GPG ключ: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
101           GoGOST releases <gogost at cypherpunks dot ru>
102
103 Пожалуйста, все вопросы касающиеся использования GoGOST, отчёты об
104 ошибках и патчи отправляйте в gost почтовую рассылку:
105 https://lists.cypherpunks.ru/mailman/listinfo/gost
106 EOF
107
108 mv $tmp/$tarball $tmp/"$tarball".sig $cur/gogost.html/