]> Cypherpunks.ru repositories - gogost.git/blob - makedist
Download link for 5.12.0 release
[gogost.git] / makedist
1 #!/bin/sh -ex
2
3 PATH=$HOME/work/meta4ra/contrib:$PATH
4 cur=$(pwd)
5 tmp=$(mktemp -d)
6 release=$1
7 [ -n "$release" ]
8
9 [ -x streebog256 ] || go build -o streebog256 ./cmd/streebog256
10 git clone . $tmp/gogost-$release
11 cd $tmp/gogost-$release
12 git checkout v$release
13 ./version > VERSION
14 go mod vendor
15
16 cat > download.texi <<EOF
17 You can obtain releases source code prepared tarballs on
18 @url{http://www.gogost.cypherpunks.ru/}.
19 EOF
20
21 mkinfo() {
22     ${MAKEINFO:-makeinfo} --plaintext \
23         --set-customization-variable ASCII_PUNCTUATION=1 \
24         -D "VERSION `cat VERSION`" $@
25 }
26
27 texi=$(mktemp)
28 cat > $texi <<EOF
29 \input texinfo
30 @documentencoding UTF-8
31 @settitle INSTALL
32 @include install.texi
33 @bye
34 EOF
35 mkinfo --output INSTALL $texi
36
37 cat > $texi <<EOF
38 \input texinfo
39 @documentencoding UTF-8
40 @settitle NEWS
41 @include news.texi
42 @bye
43 EOF
44 mkinfo --output NEWS $texi
45
46 cat > $texi <<EOF
47 \input texinfo
48 @documentencoding UTF-8
49 @settitle FAQ
50 @include faq.texi
51 @bye
52 EOF
53 mkinfo --output FAQ $texi
54
55 rm -rf .git
56 redo-cleanup full
57 rm -f $texi *.texi makedist version www.do
58
59 perl -i -npe "s/test/test -mod=vendor/" bench
60
61 find . -type d -exec chmod 755 {} +
62 find . -type f -exec chmod 644 {} +
63 chmod +x bench
64
65 cd ..
66 tar cvf gogost-"$release".tar --uid=0 --gid=0 --numeric-owner gogost-"$release"
67 zstd -19 -v gogost-"$release".tar
68 tarball=gogost-"$release".tar.zst
69 gpg --armor --detach-sign --sign --local-user 82343436696FC85A $tarball
70 meta4-create -fn "$tarball" -mtime "$tarball" -sig "$tarball".asc \
71     http://www.gogost.cypherpunks.ru/"$tarball" \
72     http://y.www.gogost.cypherpunks.ru/"$tarball" < "$tarball" > "$tarball".meta4
73
74 size=$(( $(stat -f %z $tarball) / 1024 ))
75 release_date=$(date "+%Y-%m-%d")
76
77 cat <<EOF
78 An entry for documentation:
79 @item @ref{Release $release, $release} @tab $release_date @tab $size KiB @tab
80 @url{$tarball.meta4, meta4}
81 @url{$tarball, tar}
82 @url{$tarball.asc, sig}
83 EOF
84
85 cat <<EOF
86 Subject: [EN] GoGOST $release release announcement
87
88 I am pleased to announce GoGOST $release release availability!
89
90 GoGOST is free software pure Go GOST cryptographic functions library.
91 GOST is GOvernment STandard of Russian Federation (and Soviet Union).
92
93 ------------------------ >8 ------------------------
94
95 The main improvements for that release are:
96
97
98 ------------------------ >8 ------------------------
99
100 GoGOST'es home page is: http://www.gogost.cypherpunks.ru/
101
102 Source code and its signature for that version can be found here:
103
104     http://www.gogost.cypherpunks.ru/gogost-${release}.tar.zst ($size KiB)
105     http://www.gogost.cypherpunks.ru/gogost-${release}.tar.zst.asc
106
107 GPG key: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
108          GoGOST releases <gogost at cypherpunks dot ru>
109
110 Please send questions regarding the use of GoGOST, bug reports and patches
111 to mailing list: http://lists.cypherpunks.ru/gost.html
112 EOF
113
114 cat <<EOF
115 Subject: [RU] Состоялся релиз GoGOST $release
116
117 Я рад сообщить о выходе релиза GoGOST $release!
118
119 GoGOST это свободное программное обеспечение реализующее
120 криптографические функции ГОСТ на чистом Go. ГОСТ -- ГОсударственный
121 СТандарт Российской Федерации (а также Советского Союза).
122
123 ------------------------ >8 ------------------------
124
125 Основные усовершенствования в этом релизе:
126
127
128 ------------------------ >8 ------------------------
129
130 Домашняя страница GoGOST: http://www.gogost.cypherpunks.ru/
131
132 Исходный код и его подпись для этой версии могут быть найдены здесь:
133
134     http://www.gogost.cypherpunks.ru/gogost-${release}.tar.zst ($size KiB)
135     http://www.gogost.cypherpunks.ru/gogost-${release}.tar.zst.asc
136
137 GPG ключ: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
138           GoGOST releases <gogost at cypherpunks dot ru>
139
140 Пожалуйста, все вопросы касающиеся использования GoGOST, отчёты об
141 ошибках и патчи отправляйте в gost почтовую рассылку:
142 http://lists.cypherpunks.ru/gost.html
143 EOF
144
145 mv $tmp/$tarball $tmp/"$tarball".asc $tmp/"$tarball".meta4 $cur/gogost.html/
146 rm -fr $tmp