]> Cypherpunks.ru repositories - gogost.git/blobdiff - makedist.sh
Trivial restyling
[gogost.git] / makedist.sh
index 09afc0f4e1d4f4522ea218b036e3da8a38537dec..0e7130267710b45b89d16e68e052b5baf2730ac4 100755 (executable)
@@ -5,38 +5,98 @@ tmp=$(mktemp -d)
 release=$1
 [ -n "$release" ]
 
+redo-ifchange streebog256
 git clone . $tmp/gogost-$release
 cd $tmp/gogost-$release
-git checkout $release
-git submodule update --init
-
-mkdir -p src/cypherpunks.ru/gogost/vendor
-cat > $tmp/includes <<EOF
-golang.org/x/crypto/AUTHORS
-golang.org/x/crypto/CONTRIBUTORS
-golang.org/x/crypto/LICENSE
-golang.org/x/crypto/PATENTS
-golang.org/x/crypto/README
-golang.org/x/crypto/pbkdf2
+git checkout v$release
+redo VERSION
+go mod vendor
+mkdir contrib
+cp ~/work/redo/minimal/do contrib/do
+
+cat > download.texi <<EOF
+You can obtain releases source code prepared tarballs on
+@url{http://www.gogost.cypherpunks.ru/}.
 EOF
-tar cfCI - src $tmp/includes | tar xfC - src/cypherpunks.ru/gogost/vendor
-find . -name .git -type d | xargs rm -fr
-rm -fr www* makedist* TODO src/golang.org $tmp/includes
 
-cd ..
-tar cvf gogost-"$release".tar gogost-"$release"
-xz -9 gogost-"$release".tar
-gpg --detach-sign --sign --local-user 82343436696FC85A gogost-"$release".tar.xz
+mkinfo() {
+    ${MAKEINFO:-makeinfo} --plaintext \
+        --set-customization-variable CLOSE_QUOTE_SYMBOL=\" \
+        --set-customization-variable OPEN_QUOTE_SYMBOL=\" \
+        -D "VERSION `cat VERSION`" $@
+}
+
+texi=$(mktemp)
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle INSTALL
+@include install.texi
+@bye
+EOF
+mkinfo --output INSTALL $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle NEWS
+@include news.texi
+@bye
+EOF
+mkinfo --output NEWS $texi
+
+cat > $texi <<EOF
+\input texinfo
+@documentencoding UTF-8
+@settitle FAQ
+@include faq.texi
+@bye
+EOF
+mkinfo --output FAQ $texi
+
+rm -rf .git
+redo-cleanup full
+rm -f \
+    $texi \
+    *.texi \
+    .gitignore \
+    clean.do \
+    makedist.sh \
+    style.css \
+    TODO \
+    VERSION.do \
+    www.do
+
+perl -i -npe "s/build/build -mod=vendor/" default.do
+perl -i -npe "s/test/test -mod=vendor/" bench.do
+
+find . -type d -exec chmod 755 {} +
+find . -type f -exec chmod 644 {} +
+chmod +x contrib/do
 
-tarball=gogost-"$release".tar.xz
-size=$(( $(wc -c < $tarball) / 1024 ))
+cd ..
+tar cvf gogost-"$release".tar --uid=0 --gid=0 --numeric-owner gogost-"$release"
+zstd -19 -v gogost-"$release".tar
+tarball=gogost-"$release".tar.zst
+gpg --detach-sign --sign --local-user 82343436696FC85A $tarball
+gpg --enarmor < "$tarball".sig |
+    sed "/^Comment:/d ; s/ARMORED FILE/SIGNATURE/" > "$tarball".asc
+meta4-create -file "$tarball" -mtime "$tarball" -sig "$tarball".asc \
+    http://www.gogost.cypherpunks.ru/"$tarball" \
+    http://y.www.gogost.cypherpunks.ru/"$tarball" > "$tarball".meta4
+
+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
-@tab @url{gogost-${release}.tar.xz, link} @url{gogost-${release}.tar.xz.sig, sign}
+@item @ref{Release $release, $release} @tab $release_date @tab $size KiB
+@tab
+    @url{$tarball.meta4, meta4}
+    @url{$tarball, link}
+    @url{$tarball.sig, sig}
 @tab @code{$hash}
 @tab @code{$hashsb}
 EOF
@@ -56,14 +116,12 @@ The main improvements for that release are:
 
 ------------------------ >8 ------------------------
 
-GoGOST'es home page is: http://gogost.cypherpunks.ru/
-Also available as I2P service:
-http://a5zmymxbjreuvbftgzmu64vcw2ssa3s44c2dn2jryxee6utn34qa.b32.i2p/
+GoGOST'es home page is: http://www.gogost.cypherpunks.ru/
 
 Source code and its signature for that version can be found here:
 
-    http://gogost.cypherpunks.ru/gogost-${release}.tar.xz ($size KiB)
-    http://gogost.cypherpunks.ru/gogost-${release}.tar.xz.sig
+    http://www.gogost.cypherpunks.ru/gogost-${release}.tar.zst ($size KiB)
+    http://www.gogost.cypherpunks.ru/gogost-${release}.tar.zst.sig
 
 Streebog-256 hash: $hashsb
 SHA256 hash: $hash
@@ -71,7 +129,7 @@ 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
+to mailing list: http://lists.cypherpunks.ru/gost.html
 EOF
 
 cat <<EOF
@@ -90,14 +148,12 @@ GoGOST это свободное программное обеспечение 
 
 ------------------------ >8 ------------------------
 
-Домашняя страница GoGOST: http://gogost.cypherpunks.ru/
-Также доступная как I2P сервис:
-http://a5zmymxbjreuvbftgzmu64vcw2ssa3s44c2dn2jryxee6utn34qa.b32.i2p/
+Домашняя страница GoGOST: http://www.gogost.cypherpunks.ru/
 
 Исходный код и его подпись для этой версии могут быть найдены здесь:
 
-    http://gogost.cypherpunks.ru/gogost-${release}.tar.xz ($size KiB)
-    http://gogost.cypherpunks.ru/gogost-${release}.tar.xz.sig
+    http://www.gogost.cypherpunks.ru/gogost-${release}.tar.zst ($size KiB)
+    http://www.gogost.cypherpunks.ru/gogost-${release}.tar.zst.sig
 
 Streebog-256 хэш: $hashsb
 SHA256 хэш: $hash
@@ -106,7 +162,8 @@ GPG ключ: CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
 
 Пожалуйста, все вопросы касающиеся использования GoGOST, отчёты об
 ошибках и патчи отправляйте в gost почтовую рассылку:
-https://lists.cypherpunks.ru/mailman/listinfo/gost
+http://lists.cypherpunks.ru/gost.html
 EOF
 
-mv $tmp/$tarball $tmp/"$tarball".sig $cur/gogost.html/
+mv $tmp/$tarball $tmp/"$tarball".sig $tmp/"$tarball".meta4 $cur/gogost.html/
+rm -fr $tmp