]> Cypherpunks.ru repositories - pygost.git/commitdiff
Use Metalink and Zstandard
authorSergey Matveev <stargrave@stargrave.org>
Thu, 25 Nov 2021 18:21:55 +0000 (21:21 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 26 Nov 2021 07:57:47 +0000 (10:57 +0300)
download.texi
install.texi
makedist.sh

index 2201f07c6e3c25e85369a8591960d8fd571b8553..5df5f1f999b0af296aedb00b51941036bc632d0c 100644 (file)
 @headitem Version @tab Date @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
 
 @item @ref{Release 5.6, 5.6} @tab 2021-04-22 @tab 86 KiB
-@tab @url{pygost-5.6.tar.xz, link} @url{pygost-5.6.tar.xz.sig, sign}
+@tab
+    @url{pygost-5.6.tar.xz.meta4, meta4}
+    @url{pygost-5.6.tar.xz, link}
+    @url{pygost-5.6.tar.xz.sig, sig}
 @tab @code{4B3A14D6 4EB8FD4B 5542753C 057E428C DEA8D78E 7AFA570D 08B1AE34 05D34A6E}
 @tab @code{4457f0919cf9f66d8ed1ce6ce326d7e18cc3445a9be862f5c9629742822366f1}
 
 @item @ref{Release 5.5, 5.5} @tab 2021-04-22 @tab 86 KiB
-@tab @url{pygost-5.5.tar.xz, link} @url{pygost-5.5.tar.xz.sig, sign}
+@tab
+    @url{pygost-5.5.tar.xz.meta4, meta4}
+    @url{pygost-5.5.tar.xz, link}
+    @url{pygost-5.5.tar.xz.sig, sig}
 @tab @code{BE51EC32 37507756 6CFE5451 A95C4591 46EFEFD9 D50A737C 508A570A 81621A29}
 @tab @code{f81fd4ab1fe90717f10b1c98fc5b93b01f553678b967706c81e55ddd0761a2e7}
 
 @item @ref{Release 5.4, 5.4} @tab 2021-01-26 @tab 80 KiB
-@tab @url{pygost-5.4.tar.xz, link} @url{pygost-5.4.tar.xz.sig, sign}
+@tab
+    @url{pygost-5.4.tar.xz.meta4, meta4}
+    @url{pygost-5.4.tar.xz, link}
+    @url{pygost-5.4.tar.xz.sig, sig}
 @tab @code{0073E48E D6BECA78 982C5B22 6FC3BFA4 0A116C55 A0C8CF33 F5743D2A E0B45D44}
 @tab @code{1bcb60ed7e9d73d381ebdab2f1dde8d3d623c01817943ecca8414ceb300ba45e}
 
 @item @ref{Release 5.3, 5.3} @tab 2021-01-22 @tab 79 KiB
-@tab @url{pygost-5.3.tar.xz, link} @url{pygost-5.3.tar.xz.sig, sign}
+@tab
+    @url{pygost-5.3.tar.xz.meta4, meta4}
+    @url{pygost-5.3.tar.xz, link}
+    @url{pygost-5.3.tar.xz.sig, sig}
 @tab @code{E2E43CE2 A53A5CBF BFDE8847 8A9617D3 A112D139 16278723 2309B1B8 950CDBE4}
 @tab @code{b3051a46f208c0ecfcee3a5b38bc8c65626e5e1e580f798aacbc67ccee68a0c0}
 
 @item @ref{Release 5.2, 5.2} @tab 2020-10-19 @tab 78 KiB
-@tab @url{pygost-5.2.tar.xz, link} @url{pygost-5.2.tar.xz.sig, sign}
+@tab
+    @url{pygost-5.2.tar.xz.meta4, meta4}
+    @url{pygost-5.2.tar.xz, link}
+    @url{pygost-5.2.tar.xz.sig, sig}
 @tab @code{85CC7AC1 56B531C1 2B035158 EB5E3929 7BDC9F77 B8C5A41D FEBB55B6 8F1BE738}
 @tab @code{1950ada7a6a4527932990c8a6171315cf7c5151187a4ea1d793a1835898b3efa}
 
 @item @ref{Release 5.1, 5.1} @tab 2020-09-24 @tab 79 KiB
-@tab @url{pygost-5.1.tar.xz, link} @url{pygost-5.1.tar.xz.sig, sign}
+@tab
+    @url{pygost-5.1.tar.xz.meta4, meta4}
+    @url{pygost-5.1.tar.xz, link}
+    @url{pygost-5.1.tar.xz.sig, sig}
 @tab @code{775C05CD 4E9D618C C13482B7 F9C3935E 397881E3 C146DA90 FEA2828D 3596E0FF}
 @tab @code{2688edf5a8f8339dec24c8313e52fb875d98168fcb1577b7646b4c372222874f}
 
 @item @ref{Release 5.0, 5.0} @tab 2020-09-04 @tab 78 KiB
-@tab @url{pygost-5.0.tar.xz, link} @url{pygost-5.0.tar.xz.sig, sign}
+@tab
+    @url{pygost-5.0.tar.xz.meta4, meta4}
+    @url{pygost-5.0.tar.xz, link}
+    @url{pygost-5.0.tar.xz.sig, sig}
 @tab @code{D5321979 12558C5A 543CCD67 EAA34674 604457BB BF16EB0A 740C8487 C7574C87}
 @tab @code{ec813d16f6c7de42ccce61dfbc1a9cfd6523588e414e6e0aa9768371d405fd78}
 
 @item @ref{Release 4.9, 4.9} @tab 2020-07-30 @tab 78 KiB
-@tab @url{pygost-4.9.tar.xz, link} @url{pygost-4.9.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.9.tar.xz.meta4, meta4}
+    @url{pygost-4.9.tar.xz, link}
+    @url{pygost-4.9.tar.xz.sig, sig}
 @tab @code{D7745B10 0FD11203 DC13BEDA D3E8E4F7 6D6CE0DF 7A496B1A D2EA35BB 4FED586F}
 @tab @code{15a11268c4bb9e108d5c60b85f52afb804a020e38d9665e747a2536284af6b32}
 
 @item @ref{Release 4.8, 4.8} @tab 2020-07-24 @tab 69 KiB
-@tab @url{pygost-4.8.tar.xz, link} @url{pygost-4.8.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.8.tar.xz.meta4, meta4}
+    @url{pygost-4.8.tar.xz, link}
+    @url{pygost-4.8.tar.xz.sig, sig}
 @tab @code{E24FFDA0 9CABE9FE 11FF505A 1AEC7343 830ADCC5 A87AB348 2BFE0D1C 897A360F}
 @tab @code{528f4e319678d24c19f4a09a9e8dc9263055b798ad0b8a9a94cdfd33563cca9a}
 
 @item @ref{Release 4.7, 4.7} @tab 2020-07-23 @tab 67 KiB
-@tab @url{pygost-4.7.tar.xz, link} @url{pygost-4.7.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.7.tar.xz.meta4, meta4}
+    @url{pygost-4.7.tar.xz, link}
+    @url{pygost-4.7.tar.xz.sig, sig}
 @tab @code{7C3C403B 83B890F6 E3448169 A32D5BB4 5E5F18EE 72E50BEF E37E091D F591D256}
 @tab @code{469246983eb7f8149a2e309b85b3f673d56aab65e3a8f5a20c03a8f4002985de}
 
 @item @ref{Release 4.6, 4.6} @tab 2020-07-07 @tab 67 KiB
-@tab @url{pygost-4.6.tar.xz, link} @url{pygost-4.6.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.6.tar.xz.meta4, meta4}
+    @url{pygost-4.6.tar.xz, link}
+    @url{pygost-4.6.tar.xz.sig, sig}
 @tab @code{6AECDC32 66FFD395 B5E9E643 E92EC1CB 7C5A6B31 B56B7261 5DA33537 7E03DC47}
 @tab @code{6fae5da84a48acec173091fe5a51991b593a0e51a6de62a8ba950da8164728c3}
 
 @item @ref{Release 4.5, 4.5} @tab 2020-05-14 @tab 67 KiB
-@tab @url{pygost-4.5.tar.xz, link} @url{pygost-4.5.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.5.tar.xz.meta4, meta4}
+    @url{pygost-4.5.tar.xz, link}
+    @url{pygost-4.5.tar.xz.sig, sig}
 @tab @code{CC97B201 8CCC2BCF E71BDA14 81138AB7 F17DCFAD 0FA8C43B 58106338 C20CB144}
 @tab @code{d5d37e4d21160f28c582e3dfc7184cd0cc693cb42dedbcf0f260f66e4153b69d}
 
 @item @ref{Release 4.4, 4.4} @tab 2020-02-04 @tab 67 KiB
-@tab @url{pygost-4.4.tar.xz, link} @url{pygost-4.4.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.4.tar.xz.meta4, meta4}
+    @url{pygost-4.4.tar.xz, link}
+    @url{pygost-4.4.tar.xz.sig, sig}
 @tab @code{0AAA6CA6 1E886296 DF1D45E7 4D037BA5 DCA6CB08 0DAB1CAD EBB959E5 57A2624C}
 @tab @code{68a25f2ea4a9e5dccc1445c37cea17a5c23337bb5fac66601e183f4050e43f27}
 
 @item @ref{Release 4.3, 4.3} @tab 2019-12-27 @tab 61 KiB
-@tab @url{pygost-4.3.tar.xz, link} @url{pygost-4.3.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.3.tar.xz.meta4, meta4}
+    @url{pygost-4.3.tar.xz, link}
+    @url{pygost-4.3.tar.xz.sig, sig}
 @tab @code{37D2CA54 4565B53B CDAC5175 E6411DDB 765D187E D67D8188 7060EC4D 9D93BD73}
 @tab @code{47d5831a43ae786b64462ad84be6f78c4d7b9412d5c0e1c87addb08819f5a829}
 
 @item @ref{Release 4.2, 4.2} @tab 2019-12-27 @tab 62 KiB
-@tab @url{pygost-4.2.tar.xz, link} @url{pygost-4.2.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.2.tar.xz.meta4, meta4}
+    @url{pygost-4.2.tar.xz, link}
+    @url{pygost-4.2.tar.xz.sig, sig}
 @tab @code{70BA61D8 7A59FD1A 952E2485 7F3472F1 8BDF61EA C10FBC13 86DEB01D A7828700}
 @tab @code{f41702e5fbea79b384a9f29d4121826f06d948f548092b1ce916fda3f22eac25}
 
 @item @ref{Release 4.1, 4.1} @tab 2019-12-17 @tab 60 KiB
-@tab @url{pygost-4.1.tar.xz, link} @url{pygost-4.1.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.1.tar.xz.meta4, meta4}
+    @url{pygost-4.1.tar.xz, link}
+    @url{pygost-4.1.tar.xz.sig, sig}
 @tab @code{CF029E30 8207DF45 884DD118 843A9E5A 33C5D979 F1D05FEA 17B81628 41257A64}
 @tab @code{5ac0ab2989f5dd5ed3f941f40db5e6e0eba7d84708b376b95eb7396427b2511e}
 
 @item @ref{Release 4.0, 4.0} @tab 2019-07-19 @tab 61 KiB
-@tab @url{pygost-4.0.tar.xz, link} @url{pygost-4.0.tar.xz.sig, sign}
+@tab
+    @url{pygost-4.0.tar.xz.meta4, meta4}
+    @url{pygost-4.0.tar.xz, link}
+    @url{pygost-4.0.tar.xz.sig, sig}
 @tab @code{E4A329A9 AB0A781A 254AF940 10237D4C 9EEB37CB F849BA1C EA7BAF60 E3BB98B3}
 @tab @code{d2646d1815338bb5e2b41388e34f2f445828d10c3253e1996fc5d8d865cdf94f}
 
 @item @ref{Release 3.15, 3.15} @tab 2018-12-09 @tab 54 KiB
-@tab @url{pygost-3.15.tar.xz, link} @url{pygost-3.15.tar.xz.sig, sign}
+@tab
+    @url{pygost-3.15.tar.xz.meta4, meta4}
+    @url{pygost-3.15.tar.xz, link}
+    @url{pygost-3.15.tar.xz.sig, sig}
 @tab @code{930C4DAB 580F43A6 D2D32560 A77B877D 0C88F4F6 421307AA 36B7132F 04F8EA89}
 @tab @code{2d0742c70d76fceb20ac7db750dea5337b7584a0ae938a289c46ee9945439eb1}
 
 @tab unavailable @tab @tab
 
 @item @ref{Release 3.3, 3.3} @tab 2017-06-11 @tab 41 KiB
-@tab @url{pygost-3.3.tar.xz, link} @url{pygost-3.3.tar.xz.sig, sign}
+@tab
+    @url{pygost-3.3.tar.xz.meta4, meta4}
+    @url{pygost-3.3.tar.xz, link}
+    @url{pygost-3.3.tar.xz.sig, sig}
 @tab @code{D118F539 537CCD5D 9CCE850E DD8EFD8E ACDA9D6E 0C113A0F C575574A F4BD452A}
 @tab @code{8400a3714b70dddfef03f6fe96325e73ac25db814d052a44dbd8f2ce5ddb05bb}
 
 @item @ref{Release 3.2, 3.2} @tab 2017-06-04 @tab 41 KiB
-@tab @url{pygost-3.2.tar.xz, link} @url{pygost-3.2.tar.xz.sig, sign}
+@tab
+    @url{pygost-3.2.tar.xz.meta4, meta4}
+    @url{pygost-3.2.tar.xz, link}
+    @url{pygost-3.2.tar.xz.sig, sig}
 @tab @code{6779D1B1 A4E2B1C3 49CA39F8 425FC962 AF2ED133 BB495343 0F83764B E2624087}
 @tab @code{0a39880ad00ca11d112fef096b81a42a85ce4e5b25c48d1f643858b1e0c520d6}
 
 @item @ref{Release 3.1, 3.1} @tab 2016-11-28 @tab 39 KiB
-@tab @url{pygost-3.1.tar.xz, link} @url{pygost-3.1.tar.xz.sig, sign}
+@tab
+    @url{pygost-3.1.tar.xz.meta4, meta4}
+    @url{pygost-3.1.tar.xz, link}
+    @url{pygost-3.1.tar.xz.sig, sig}
 @tab @code{ACCCF1A9 F4B345FF 01595248 5B793DAC FCF71D1F 32A6ABCF 32042DDB 20897BC5}
 @tab @code{823961b6c2a1abe83f6d828397002e68d711a08ce115f21ddff81a294882cd46}
 
 @item @ref{Release 3.0, 3.0} @tab 2016-11-21 @tab 39 KiB
-@tab @url{pygost-3.0.tar.xz, link} @url{pygost-3.0.tar.xz.sig, sign}
+@tab
+    @url{pygost-3.0.tar.xz.meta4, meta4}
+    @url{pygost-3.0.tar.xz, link}
+    @url{pygost-3.0.tar.xz.sig, sig}
 @tab @code{0AB10703 6960962D 30BD1646 ACC8D44B E9CBD8A8 4F25DF25 91F26383 DE28875F}
 @tab @code{ef4729df62b4f615a154a9c35ccffaf6bb614a23067f4dd49d2993ec93bb6665}
 
 @item @ref{Release 2.4, 2.4} @tab 2016-10-13 @tab 37 KiB
-@tab @url{pygost-2.4.tar.xz, link} @url{pygost-2.4.tar.xz.sig, sign}
+@tab
+    @url{pygost-2.4.tar.xz.meta4, meta4}
+    @url{pygost-2.4.tar.xz, link}
+    @url{pygost-2.4.tar.xz.sig, sig}
 @tab @code{94D14E99 3CF63973 6C8E78D0 5EBD0838 09A47624 C05A9878 11136301 C0A07264}
 @tab @code{b107b5ba043a2e4c30d9348e222b92218b8dff9d672964ffd04259c5261bc5a7}
 
 @item @ref{Release 2.3, 2.3} @tab 2016-10-04 @tab 37 KiB
-@tab @url{pygost-2.3.tar.xz, link} @url{pygost-2.3.tar.xz.sig, sign}
+@tab
+    @url{pygost-2.3.tar.xz.meta4, meta4}
+    @url{pygost-2.3.tar.xz, link}
+    @url{pygost-2.3.tar.xz.sig, sig}
 @tab @code{FF2C7E78 F3677B45 EB472DC6 1837C72C 0BD72387 AB0A9DC7 AD88AD11 59589732}
 @tab @code{42cfd0cdf357997a909a9114ca14391b4c5e8b62e298675f899b80a8a26d690f}
 
index 1f6beb1c1a9c0fcf623f8b0b2908206f9c9af92a..706c248ebd1e674872fb351048163be705d87b72 100644 (file)
@@ -6,10 +6,10 @@ No additional dependencies except Python 2.7/3.x interpreter are required.
 Preferable way is to download tarball with the signature:
 
 @example
-$ [fetch|wget] http://www.pygost.cypherpunks.ru/pygost-@value{VERSION}.tar.xz
-$ [fetch|wget] http://www.pygost.cypherpunks.ru/pygost-@value{VERSION}.tar.xz.sig
-$ gpg --verify pygost-@value{VERSION}.tar.xz.sig pygost-@value{VERSION}.tar.xz
-$ xz --decompress --stdout pygost-@value{VERSION}.tar.xz | tar xf -
+$ [fetch|wget] http://www.pygost.cypherpunks.ru/pygost-@value{VERSION}.tar.zst
+$ [fetch|wget] http://www.pygost.cypherpunks.ru/pygost-@value{VERSION}.tar.zst.sig
+$ gpg --verify pygost-@value{VERSION}.tar.zst.sig pygost-@value{VERSION}.tar.zst
+$ zstd -d < pygost-@value{VERSION}.tar.zst | tar xf -
 $ cd pygost-@value{VERSION}
 $ python setup.py install
 @end example
index 1b8899fa33f74324af367dbbc5b513c78e3ecba4..44b2586fdf61d0e8e8239182334401cc83f7ec05 100755 (executable)
@@ -9,10 +9,14 @@ pip_hash=$(pip hash dist/pygost-"$release".tar.gz | sed -n '$p')
 cp dist/pygost-"$release".tar.gz $tmp
 cd $tmp
 gunzip pygost-"$release".tar.gz
-xz -9 pygost-"$release".tar
-gpg --detach-sign --sign --local-user pygost@cypherpunks.ru pygost-"$release".tar.xz
+zstd -19 -v pygost-"$release".tar
+tarball=pygost-"$release".tar.zst
+gpg --detach-sign --sign --local-user pygost@cypherpunks.ru "$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.pygost.cypherpunks.ru/"$tarball" > "$tarball".meta4
 
-tarball=pygost-"$release".tar.xz
 size=$(( $(stat -f %z $tarball) / 1024 ))
 hash=$(gpg --print-md SHA256 < $tarball)
 hashsb=$($HOME/work/gogost/streebog256 < $tarball)
@@ -21,7 +25,10 @@ release_date=$(date "+%Y-%m-%d")
 cat <<EOF
 An entry for documentation:
 @item @ref{Release $release, $release} @tab $release_date @tab $size KiB
-@tab @url{pygost-${release}.tar.xz, link} @url{pygost-${release}.tar.xz.sig, sign}
+@tab
+    @url{pygost-${release}.tar.zst.meta4, meta4}
+    @url{pygost-${release}.tar.zst, link}
+    @url{pygost-${release}.tar.zst.sig, sig}
 @tab @code{$hash}
 @tab @code{$hashsb}
 EOF
@@ -45,8 +52,8 @@ PyGOST'es home page is: http://www.pygost.cypherpunks.ru/
 
 Source code and its signature for that version can be found here:
 
-    http://www.pygost.cypherpunks.ru/pygost-${release}.tar.xz ($size KiB)
-    http://www.pygost.cypherpunks.ru/pygost-${release}.tar.xz.sig
+    http://www.pygost.cypherpunks.ru/pygost-${release}.tar.zst ($size KiB)
+    http://www.pygost.cypherpunks.ru/pygost-${release}.tar.zst.sig
 
 Streebog-256 hash: $hashsb
 SHA256 hash: $hash
@@ -77,8 +84,8 @@ PyGOST это свободное программное обеспечение 
 
 Исходный код и его подпись для этой версии могут быть найдены здесь:
 
-    http://www.pygost.cypherpunks.ru/pygost-${release}.tar.xz ($size KiB)
-    http://www.pygost.cypherpunks.ru/pygost-${release}.tar.xz.sig
+    http://www.pygost.cypherpunks.ru/pygost-${release}.tar.zst ($size KiB)
+    http://www.pygost.cypherpunks.ru/pygost-${release}.tar.zst.sig
 
 Streebog-256 хэш: $hashsb
 SHA256 хэш: $hash
@@ -90,4 +97,4 @@ GPG ключ: F55A 7619 3A0C 323A A031  0E6B E6FD 1269 CD0C 009E
 http://lists.cypherpunks.ru/gost.html
 EOF
 
-mv $tmp/$tarball $tmp/"$tarball".sig $cur/pygost.html/
+mv $tmp/$tarball $tmp/"$tarball".sig $tmp/"$tarball".meta4 $cur/pygost.html/