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