]> Cypherpunks.ru repositories - govpn.git/blob - utils/makedist.sh
Raise copyright years
[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 --uid=0 --gid=0 --numeric-owner 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=$(( $(stat -f %z $tarball) / 1024 ))
73 hash=$(gpg --print-md SHA256 < $tarball)
74 release_date=$(date "+%Y-%m-%d")
75
76 cat <<EOF
77 An entry for documentation:
78 @item @ref{Release $release, $release} @tab $release_date @tab $size KiB
79 @tab @url{download/govpn-${release}.tar.xz, link} @url{download/govpn-${release}.tar.xz.sig, sign}
80 @tab @code{$hash}
81 EOF
82
83 cd $cur
84
85 cat <<EOF
86 Subject: [EN] GoVPN $release release announcement
87
88 I am pleased to announce GoVPN $release release availability!
89
90 GoVPN is simple free software virtual private network daemon, aimed to
91 be reviewable, secure, DPI/censorship-resistant, written on Go.
92
93 It uses fast strong passphrase authenticated key agreement protocol with
94 augmented zero-knowledge mutual peers authentication (PAKE DH A-EKE).
95 Encrypted, authenticated data transport that hides message's length and
96 timestamps. Optional encryptionless mode, that still preserves data
97 confidentiality. Perfect forward secrecy property. Resistance to:
98 offline dictionary attacks, replay attacks, client's passphrases
99 compromising and dictionary attacks on the server side. Built-in
100 heartbeating, rehandshaking, real-time statistics. Ability to work
101 through UDP, TCP and HTTP proxies. IPv4/IPv6-compatibility.
102 GNU/Linux and FreeBSD support.
103
104 ------------------------ >8 ------------------------
105
106 The main improvements for that release are:
107
108 $(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
109
110 ------------------------ >8 ------------------------
111
112 GoVPN's home page is: http://www.govpn.info/
113
114 Source code and its signature for that version can be found here:
115
116     http://www.govpn.info/download/govpn-${release}.tar.xz ($size KiB)
117     http://www.govpn.info/download/govpn-${release}.tar.xz.sig
118
119 SHA256 hash: $hash
120 GPG key ID: 0xF2F59045FFE2F4A1 GoVPN releases <releases@govpn.info>
121 Fingerprint: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
122
123 Please send questions regarding the use of GoVPN, bug reports and patches
124 to mailing list: https://lists.cypherpunks.ru/pipermail/govpn-devel/
125 EOF
126
127 cat <<EOF
128 Subject: [RU] Состоялся релиз GoVPN $release
129
130 Я рад сообщить о выходе релиза GoVPN $release!
131
132 GoVPN это простой демон виртуальных частных сетей, код которого нацелен
133 на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре,
134 написан на Go и является свободным программным обеспечением.
135
136 Он использует быстрый сильный аутентифицируемый по парольной фразе
137 несбалансированный протокол согласования ключей с двусторонней
138 аутентификацией сторон (PAKE DH A-EKE). Зашифрованный, аутентифицируемый
139 транспортный протокол передачи данных, скрывающий длины сообщений и их
140 временные характеристики. Опциональный нешифрованный режим, который
141 всё равно обеспечивает конфиденциальность и аутентичность данных.
142 Свойство совершенной прямой секретности. Устойчивость к: внесетевым
143 (offline) атакам по словарю, атакам повторного воспроизведения (replay),
144 компрометации клиентских парольных фраз на стороне сервера. Встроенные
145 функции сердцебиения (heartbeat), пересогласования ключей, статистика
146 реального времени. Возможность работы поверх UDP, TCP и HTTP прокси.
147 Совместимость с IPv4 и IPv6. Поддержка GNU/Linux и FreeBSD.
148
149 ------------------------ >8 ------------------------
150
151 Основные усовершенствования в этом релизе:
152
153 $(git cat-file -p $release | sed -n '6,/^.*BEGIN/p' | sed '$d')
154
155 ------------------------ >8 ------------------------
156
157 Домашняя страница GoVPN: http://www.govpn.info/
158 Коротко о демоне: http://www.govpn.info/O-demone.html
159
160 Исходный код и его подпись для этой версии находятся здесь:
161
162     http://www.govpn.info/download/govpn-${release}.tar.xz ($size KiB)
163     http://www.govpn.info/download/govpn-${release}.tar.xz.sig
164
165 SHA256 хэш: $hash
166 Идентификатор GPG ключа: 0xF2F59045FFE2F4A1 GoVPN releases <releases@govpn.info>
167 Отпечаток: D269 9B73 3C41 2068 D8DA  656E F2F5 9045 FFE2 F4A1
168
169 Пожалуйста, все вопросы касающиеся использования GoVPN, отчёты об ошибках
170 и патчи отправляйте в govpn-devel почтовую рассылку:
171 https://lists.cypherpunks.ru/pipermail/govpn-devel/
172 EOF