]> Cypherpunks.ru repositories - gogost.git/blobdiff - makedist.sh
Download link for 4.2.2 release
[gogost.git] / makedist.sh
index ffc4ca1a974078500f16b625f4c7e1735a0c704e..c0bda20d98175f36b5c79162e78cece367a08a1d 100755 (executable)
@@ -7,31 +7,90 @@ release=$1
 
 git clone . $tmp/gogost-$release
 cd $tmp/gogost-$release
-git checkout $release
+git checkout v$release
+
+mod_name=$(sed -n 's/^module //p' go.mod)
+crypto_mod_path=$(sed -n 's#^require \(golang.org/x/crypto\) \(.*\)$#\1@\2#p' go.mod)
+mkdir -p src/$mod_name
+mv \
+    gost28147 \
+    gost3410 \
+    gost34112012256 \
+    gost34112012512 \
+    gost341194 \
+    gost3412128 \
+    gost341264 \
+    gost3413 \
+    mgm \
+    prfplus \
+    cmd internal gogost.go go.mod go.sum src/$mod_name
+
+mkdir -p src/golang.org/x/crypto
+( cd $GOPATH/pkg/mod/$crypto_mod_path ; \
+    tar cf - AUTHORS CONTRIBUTORS LICENSE PATENTS README.md pbkdf2 hkdf ) |
+    tar xfC - src/golang.org/x/crypto
+
+cat > download.texi <<EOF
+You can obtain releases source code prepared tarballs on
+@url{http://gocheese.cypherpunks.ru/}.
+EOF
+
+texi=$(mktemp)
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle INSTALL
+@include install.texi
+@bye
+EOF
+makeinfo --plaintext -o INSTALL $texi
+rm $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle NEWS
+@include news.texi
+@bye
+EOF
+makeinfo --plaintext -o NEWS $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle FAQ
+@include faq.texi
+@bye
+EOF
+makeinfo --plaintext -o FAQ $texi
 
 find . -name .git -type d | xargs rm -fr
-rm -f www* makedist* TODO
+rm -f *.texi www.mk style.css makedist.sh TODO
+
+find . -type d -exec chmod 755 {} \;
+find . -type f -exec chmod 644 {} \;
 
 cd ..
-tar cvf gogost-"$release".tar gogost-"$release"
+tar cvf gogost-"$release".tar --uid=0 --gid=0 --numeric-owner gogost-"$release"
 xz -9 gogost-"$release".tar
 gpg --detach-sign --sign --local-user 82343436696FC85A gogost-"$release".tar.xz
 
 tarball=gogost-"$release".tar.xz
-size=$(( $(wc -c < $tarball) / 1024 ))
+size=$(( $(stat -f %z $tarball) / 1024 ))
 hash=$(gpg --print-md SHA256 < $tarball)
 hashsb=$($HOME/work/gogost/streebog256 < $tarball)
+release_date=$(date "+%Y-%m-%d")
 
 cat <<EOF
 An entry for documentation:
-@item $release @tab $size KiB
+@item @ref{Release $release, $release} @tab $release_date @tab $size KiB
 @tab @url{gogost-${release}.tar.xz, link} @url{gogost-${release}.tar.xz.sig, sign}
 @tab @code{$hash}
 @tab @code{$hashsb}
 EOF
 
 cat <<EOF
-Subject: GoGOST $release release announcement
+Subject: [EN] GoGOST $release release announcement
 
 I am pleased to announce GoGOST $release release availability!
 
@@ -45,20 +104,53 @@ The main improvements for that release are:
 
 ------------------------ >8 ------------------------
 
-GoGOST'es home page is: http://www.cypherpunks.ru/gogost/
+GoGOST'es home page is: http://gogost.cypherpunks.ru/
 
 Source code and its signature for that version can be found here:
 
-    http://www.cypherpunks.ru/gogost/gogost-${release}.tar.xz ($size KiB)
-    http://www.cypherpunks.ru/gogost/gogost-${release}.tar.xz.sig
+    http://gogost.cypherpunks.ru/gogost-${release}.tar.xz ($size KiB)
+    http://gogost.cypherpunks.ru/gogost-${release}.tar.xz.sig
 
 Streebog-256 hash: $hashsb
 SHA256 hash: $hash
-GPG key ID: 0x82343436696FC85A GoGOST releases <gogost at cypherpunks dot ru>
-Fingerprint: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
+GPG key: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
+         GoGOST releases <gogost at cypherpunks dot ru>
 
 Please send questions regarding the use of GoGOST, bug reports and patches
 to mailing list: https://lists.cypherpunks.ru/mailman/listinfo/gost
 EOF
 
+cat <<EOF
+Subject: [RU] Состоялся релиз GoGOST $release
+
+Я рад сообщить о выходе релиза GoGOST $release!
+
+GoGOST это свободное программное обеспечение реализующее
+криптографические функции ГОСТ на чистом Go. ГОСТ -- ГОсударственный
+СТандарт Российской Федерации (а также Советского Союза).
+
+------------------------ >8 ------------------------
+
+Основные усовершенствования в этом релизе:
+
+
+------------------------ >8 ------------------------
+
+Домашняя страница GoGOST: http://gogost.cypherpunks.ru/
+
+Исходный код и его подпись для этой версии могут быть найдены здесь:
+
+    http://gogost.cypherpunks.ru/gogost-${release}.tar.xz ($size KiB)
+    http://gogost.cypherpunks.ru/gogost-${release}.tar.xz.sig
+
+Streebog-256 хэш: $hashsb
+SHA256 хэш: $hash
+GPG ключ: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
+          GoGOST releases <gogost at cypherpunks dot ru>
+
+Пожалуйста, все вопросы касающиеся использования GoGOST, отчёты об
+ошибках и патчи отправляйте в gost почтовую рассылку:
+https://lists.cypherpunks.ru/mailman/listinfo/gost
+EOF
+
 mv $tmp/$tarball $tmp/"$tarball".sig $cur/gogost.html/