]> Cypherpunks.ru repositories - govpn.git/blob - utils/makedist.sh
Update upstream dependencies
[govpn.git] / utils / 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/govpn-$release
9 repos="
10     src/cypherpunks.ru/balloon
11     src/github.com/agl/ed25519
12     src/github.com/bigeagle/water
13     src/gopkg.in/yaml.v2
14     src/golang.org/x/crypto
15     src/golang.org/x/sys
16 "
17 for repo in $repos; do
18     git clone $repo $tmp/govpn-$release/$repo
19 done
20 cd $tmp/govpn-$release
21 git checkout $release
22 git submodule update --init
23
24 cat > $tmp/includes <<EOF
25 golang.org/x/crypto/AUTHORS
26 golang.org/x/crypto/CONTRIBUTORS
27 golang.org/x/crypto/LICENSE
28 golang.org/x/crypto/PATENTS
29 golang.org/x/crypto/README.md
30 golang.org/x/crypto/blake2b
31 golang.org/x/crypto/curve25519
32 golang.org/x/crypto/internal/chacha20
33 golang.org/x/crypto/internal/subtle
34 golang.org/x/crypto/poly1305
35 golang.org/x/crypto/ssh/terminal
36 golang.org/x/sys/AUTHORS
37 golang.org/x/sys/CONTRIBUTORS
38 golang.org/x/sys/LICENSE
39 golang.org/x/sys/PATENTS
40 golang.org/x/sys/README.md
41 golang.org/x/sys/cpu
42 golang.org/x/sys/unix
43 EOF
44 tar cfCI - src $tmp/includes | tar xfC - $tmp
45 rm -fr src/golang.org
46 mv $tmp/golang.org src/
47 rm -fr $tmp/golang.org $tmp/includes
48
49 cat > doc/download.texi <<EOF
50 @node Tarballs
51 @section Prepared tarballs
52 You can obtain releases source code prepared tarballs on
53 @url{http://www.govpn.info/}.
54 EOF
55 make -C doc
56 /bin/sh utils/news.sh
57 rm -r doc/.well-known doc/govpn.html/.well-known utils/news.sh
58
59 rm utils/makedist.sh
60 find . -name .git -type d | xargs rm -fr
61 find . -name .gitignore -delete
62 rm .gitmodules
63 rm -r ports
64
65 cd ..
66 tar cvf govpn-"$release".tar govpn-"$release"
67 xz -9 govpn-"$release".tar
68 gpg --detach-sign --sign --local-user F2F59045FFE2F4A1 govpn-"$release".tar.xz
69 mv $tmp/govpn-"$release".tar.xz $tmp/govpn-"$release".tar.xz.sig $cur/doc/govpn.html/download
70
71 tarball=$cur/doc/govpn.html/download/govpn-"$release".tar.xz
72 size=$(( $(cat $tarball | wc -c) / 1024 ))
73 hash=$(gpg --print-md SHA256 < $tarball)
74 cat <<EOF
75 An entry for documentation:
76 @item @ref{Release $release, $release} @tab $size KiB
77 @tab @url{download/govpn-${release}.tar.xz, link} @url{download/govpn-${release}.tar.xz.sig, sign}
78 @tab @code{$hash}
79 EOF
80
81 cd $cur
82
83 cat <<EOF
84 Subject: [EN] GoVPN $release release announcement
85
86 I am pleased to announce GoVPN $release release availability!
87
88 GoVPN is simple free software virtual private network daemon, aimed to
89 be reviewable, secure, DPI/censorship-resistant, written on Go.
90
91 It uses fast strong passphrase authenticated key agreement protocol with
92 augmented zero-knowledge mutual peers authentication (PAKE DH A-EKE).
93 Encrypted, authenticated data transport that hides message's length and
94 timestamps. Optional encryptionless mode, that still preserves data
95 confidentiality. Perfect forward secrecy property. Resistance to:
96 offline dictionary attacks, replay attacks, client's passphrases
97 compromising and dictionary attacks on the server side. Built-in
98 heartbeating, rehandshaking, real-time statistics. Ability to work
99 through UDP, TCP and HTTP proxies. IPv4/IPv6-compatibility.
100 GNU/Linux and FreeBSD support.
101
102 ------------------------ >8 ------------------------
103
104 The main improvements for that release are:
105
106 $(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
107
108 ------------------------ >8 ------------------------
109
110 GoVPN's home page is: http://www.govpn.info/
111
112 Source code and its signature for that version can be found here:
113
114     http://www.govpn.info/download/govpn-${release}.tar.xz ($size KiB)
115     http://www.govpn.info/download/govpn-${release}.tar.xz.sig
116
117 SHA256 hash: $hash
118 GPG key ID: 0xF2F59045FFE2F4A1 GoVPN releases <releases@govpn.info>
119 Fingerprint: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
120
121 Please send questions regarding the use of GoVPN, bug reports and patches
122 to mailing list: https://lists.cypherpunks.ru/pipermail/govpn-devel/
123 EOF
124
125 cat <<EOF
126 Subject: [RU] Состоялся релиз GoVPN $release
127
128 Я рад сообщить о выходе релиза GoVPN $release!
129
130 GoVPN это простой демон виртуальных частных сетей, код которого нацелен
131 на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре,
132 написан на Go и является свободным программным обеспечением.
133
134 Он использует быстрый сильный аутентифицируемый по парольной фразе
135 несбалансированный протокол согласования ключей с двусторонней
136 аутентификацией сторон (PAKE DH A-EKE). Зашифрованный, аутентифицируемый
137 транспортный протокол передачи данных, скрывающий длины сообщений и их
138 временные характеристики. Опциональный нешифрованный режим, который
139 всё-равно обеспечивает конфиденциальность и аутентичность данных.
140 Свойство совершенной прямой секретности. Устойчивость к: внесетевым
141 (offline) атакам по словарю, атакам повторного воспроизведения (replay),
142 компрометации клиентских парольных фраз на стороне сервера. Встроенные
143 функции сердцебиения (heartbeat), пересогласования ключей, статистика
144 реального времени. Возможность работы поверх UDP, TCP и HTTP прокси.
145 Совместимость с IPv4 и IPv6. Поддержка GNU/Linux и FreeBSD.
146
147 ------------------------ >8 ------------------------
148
149 Основные усовершенствования в этом релизе:
150
151 $(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
152
153 ------------------------ >8 ------------------------
154
155 Домашняя страница GoVPN: http://www.govpn.info/
156 Коротко о демоне: http://www.govpn.info/O-demone.html
157
158 Исходный код и его подпись для этой версии находятся здесь:
159
160     http://www.govpn.info/download/govpn-${release}.tar.xz ($size KiB)
161     http://www.govpn.info/download/govpn-${release}.tar.xz.sig
162
163 SHA256 хэш: $hash
164 Идентификатор GPG ключа: 0xF2F59045FFE2F4A1 GoVPN releases <releases@govpn.info>
165 Отпечаток: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
166
167 Пожалуйста, все вопросы касающиеся использования GoVPN, отчёты об ошибках
168 и патчи отправляйте в govpn-devel почтовую рассылку:
169 https://lists.cypherpunks.ru/pipermail/govpn-devel/
170 EOF