From f4913d56005a14b1488320217259dc5788cb2c8a Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 24 Mar 2022 14:53:42 +0300 Subject: [PATCH 01/12] Keep mtime to be friendly with rsync --- doc/build.log.do | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build.log.do b/doc/build.log.do index 76ab32d..be6a370 100644 --- a/doc/build.log.do +++ b/doc/build.log.do @@ -1,7 +1,7 @@ rm -fr _build html=_build/html PYTHONPATH=.. ${PYTHON:=python} -msphinx . $html -[ -d download ] && cp -r download $html || echo No download directory, skipping +[ -d download ] && cp -a download $html || echo No download directory, skipping rm -r $html/.doctrees $html/.buildinfo find $html -type d -exec chmod 755 {} + find $html -type f -exec chmod 644 {} + -- 2.44.0 From 9593abc5c5cb776cee1b33f760c3b37e099f5f20 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 3 Aug 2022 12:13:19 +0300 Subject: [PATCH 02/12] Additional signature with my new main key --- PUBKEY.asc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PUBKEY.asc b/PUBKEY.asc index efe5113..0332845 100644 --- a/PUBKEY.asc +++ b/PUBKEY.asc @@ -16,6 +16,8 @@ y8RmHsszF3sJ5wLuGk1vpSh1jgq61RUquQYJa1iE2B8fxpL6Qr+T8IR2Jan4TFIn vzGeBXtCD2yUIeJgSeF/3VoEq8lxJ+rwHwcsIqHF7QdqJCc7S0wviHUEEBEIAB0W IQTPYOiaWSMeduJjZCKuGoEJ5JhX7wUCWcLAIAAKCRCuGoEJ5JhX7+lbAP9+WNA4 Uk0pNH5BAASabuT+zllnHZ5SqZoKWbs7bzWfogD+NWmjTfSJCr7GSZ4Suy3Vw4nn -hUu3L6dceWUU+hAEOBw= -=Qodb +hUu3L6dceWUU+hAEOByIdQQQFgoAHRYhBBKtMmicZg1CaWf9dcuCBWMhB62KBQJi +6jwUAAoJEMuCBWMhB62KYHMBAOQ6VHkVXpBrQAWCNYUEo9LZAvM2CokI6HVpJps1 +7mZNAP0RI3s/4v8N7a4b+ghbaEtxBIWWlXxqlBgDj/Rbnke0Dg== +=0AVp -----END PGP PUBLIC KEY BLOCK----- -- 2.44.0 From 15902ab3a2d6ce16ae0176c153de7e245ebb51c3 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 3 Aug 2022 12:12:29 +0300 Subject: [PATCH 03/12] Trivial alignment --- doc/install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/install.rst b/doc/install.rst index 64edda0..13ddee5 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -36,6 +36,6 @@ resources. uid PyDERASN releases $ gpg --auto-key-locate dane --locate-keys pyderasn at cypherpunks dot ru - $ gpg --auto-key-locate wkd --locate-keys pyderasn at cypherpunks dot ru + $ gpg --auto-key-locate wkd --locate-keys pyderasn at cypherpunks dot ru .. literalinclude:: ../PUBKEY.asc -- 2.44.0 From 6d97fd1476e2271a9408f03351613c515defb49f Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 7 Dec 2022 17:48:37 +0300 Subject: [PATCH 04/12] tar's T option is portable --- makedist.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/makedist.sh b/makedist.sh index 413b15e..0120968 100755 --- a/makedist.sh +++ b/makedist.sh @@ -10,7 +10,7 @@ mkdir $tmp/pyderasn-"$release" echo pyderasn.py echo setup.py find $(perl -lane 'print $F[1]' MANIFEST.in) -} | tar cfI - - | tar xfC - $tmp/pyderasn-"$release" +} | tar cfT - - | tar xfC - $tmp/pyderasn-"$release" PYTHONPATH="$tmp/pyderasn-$release" redo $tmp/pyderasn-"$release"/doc/build.log rm -r $tmp/pyderasn-"$release"/doc/.redo $tmp/pyderasn-"$release"/doc/build.log -- 2.44.0 From 6a6b1eda46287cb2bff3bc572a6e0a0f6c9f540b Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 27 Dec 2022 17:37:49 +0300 Subject: [PATCH 05/12] Raise copyright years --- doc/conf.py | 2 +- pyderasn.py | 2 +- tests/test_cms.py | 2 +- tests/test_crl.py | 2 +- tests/test_crts.py | 2 +- tests/test_pyderasn.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index b422577..382436b 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -5,7 +5,7 @@ templates_path = ["_templates"] source_suffix = ".rst" master_doc = "index" project = "pyderasn" -copyright = "2017-2022, Sergey Matveev" +copyright = "2017-2023, Sergey Matveev" author = "Sergey Matveev" version = version release = version diff --git a/pyderasn.py b/pyderasn.py index 99c771c..458491d 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -4,7 +4,7 @@ # pylint: disable=line-too-long,superfluous-parens,protected-access,too-many-lines # pylint: disable=too-many-return-statements,too-many-branches,too-many-statements # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2022 Sergey Matveev +# Copyright (C) 2017-2023 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/tests/test_cms.py b/tests/test_cms.py index 9ebb195..c92e529 100644 --- a/tests/test_cms.py +++ b/tests/test_cms.py @@ -1,6 +1,6 @@ # coding: utf-8 # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2022 Sergey Matveev +# Copyright (C) 2017-2023 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/tests/test_crl.py b/tests/test_crl.py index 2779fd8..f9ec4c1 100644 --- a/tests/test_crl.py +++ b/tests/test_crl.py @@ -1,6 +1,6 @@ # coding: utf-8 # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2022 Sergey Matveev +# Copyright (C) 2017-2023 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/tests/test_crts.py b/tests/test_crts.py index 8ceeb08..13366db 100644 --- a/tests/test_crts.py +++ b/tests/test_crts.py @@ -1,6 +1,6 @@ # coding: utf-8 # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2022 Sergey Matveev +# Copyright (C) 2017-2023 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/tests/test_pyderasn.py b/tests/test_pyderasn.py index ae7b4ef..dbb5f4d 100644 --- a/tests/test_pyderasn.py +++ b/tests/test_pyderasn.py @@ -1,6 +1,6 @@ # coding: utf-8 # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2022 Sergey Matveev +# Copyright (C) 2017-2023 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as -- 2.44.0 From f9dd5090e9eb8b7852f137ff26b6963a8fae2f1b Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 14 Mar 2023 19:47:40 +0300 Subject: [PATCH 06/12] No PyPI anymore --- doc/install.rst | 5 ----- 1 file changed, 5 deletions(-) diff --git a/doc/install.rst b/doc/install.rst index 13ddee5..1164126 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -16,11 +16,6 @@ signature from `official website `__:: * ``urwid`` is an optional dependency used for :ref:`interactive browser `. * ``dateutil`` is an optional dependency used for ``.totzdatetime()`` method. -You could use pip (**no** OpenPGP authentication is performed!) with PyPI:: - - $ echo pyderasn==9.3 --hash=sha256:TO-BE-FILLED > requirements.txt - $ pip install --requirement requirements.txt - You have to verify downloaded tarballs integrity and authenticity to be sure that you retrieved trusted and untampered software. `GNU Privacy Guard `__ is used for that purpose. -- 2.44.0 From 42d4a2ffb0e869fe35a2f3eb7d1abc6c4ae816fa Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 14 Mar 2023 19:48:21 +0300 Subject: [PATCH 07/12] Unnecessary .sh extension --- makedist.sh => makedist | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename makedist.sh => makedist (100%) diff --git a/makedist.sh b/makedist similarity index 100% rename from makedist.sh rename to makedist -- 2.44.0 From 096d73081d80681b049b09f59908dc1daa4ff38e Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 14 Mar 2023 19:54:36 +0300 Subject: [PATCH 08/12] No mention of pip's hash, as signature is anyway here --- makedist | 8 -------- 1 file changed, 8 deletions(-) diff --git a/makedist b/makedist index 0120968..12c10f0 100755 --- a/makedist +++ b/makedist @@ -18,8 +18,6 @@ rm -r $tmp/pyderasn-"$release"/doc/.redo $tmp/pyderasn-"$release"/doc/build.log tar xvfC doc/download/termcolor-1.1.0.tar.gz $tmp --include "*/termcolor.py" mv -v $tmp/termcolor-*/termcolor.py $tmp/pyderasn-"$release" -pip_hash=$(pip hash dist/pyderasn-"$release".tar.gz | sed -n '$p') - cd $tmp find . -type d -exec chmod 755 {} + find . -type f -exec chmod 644 {} + @@ -47,8 +45,6 @@ An entry for documentation: \`link \`__ \`sig \`__ - \`\`$hash\`\` - -pyderasn==$release $pip_hash EOF mv $tmp/$tarball $tmp/"$tarball".sig $tmp/"$tarball".meta4 $cur/doc/download @@ -78,10 +74,6 @@ SHA256 hash: $hash GPG key: 2ED6 C846 3051 02DF 5B4E 0383 04A9 33D1 BA20 327A PyDERASN releases -pip'es requirements file: - - pyderasn==$release $pip_hash - Please send questions regarding the use of PyDERASN, bug reports and patches to mailing list: http://lists.cypherpunks.ru/pyderasn_002ddevel.html EOF -- 2.44.0 From 239cddaf3fe37dafea777597af202092496c2d46 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 13 Apr 2023 18:32:55 +0300 Subject: [PATCH 09/12] Hashes are redundantly present in .meta4 --- makedist | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/makedist b/makedist index 12c10f0..84a0a28 100755 --- a/makedist +++ b/makedist @@ -28,12 +28,11 @@ tarball=pyderasn-"$release".tar.zst gpg --detach-sign --sign --local-user pyderasn@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 \ +meta4-create -fn "$tarball" -mtime "$tarball" -sig "$tarball".asc \ http://www.pyderasn.cypherpunks.ru/download/"$tarball" \ - http://y.www.pyderasn.cypherpunks.ru/download/"$tarball" > "$tarball".meta4 + http://y.www.pyderasn.cypherpunks.ru/download/"$tarball" < "$tarball" > "$tarball".meta4 size=$(( $(stat -f %z $tarball) / 1024 )) -hash=$(gpg --print-md SHA256 < $tarball) release_date=$(date "+%Y-%m-%d") cat <\`__ - \`link \`__ + \`tar \`__ \`sig \`__ - - \`\`$hash\`\` EOF mv $tmp/$tarball $tmp/"$tarball".sig $tmp/"$tarball".meta4 $cur/doc/download @@ -70,7 +68,6 @@ Source code and its signature for that version can be found here: http://www.pyderasn.cypherpunks.ru/download/pyderasn-${release}.tar.zst ($size KiB) http://www.pyderasn.cypherpunks.ru/download/pyderasn-${release}.tar.zst.sig -SHA256 hash: $hash GPG key: 2ED6 C846 3051 02DF 5B4E 0383 04A9 33D1 BA20 327A PyDERASN releases -- 2.44.0 From f36c78c271f51a5e12442186aaea3383b4653bbe Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 3 Aug 2023 17:51:11 +0300 Subject: [PATCH 10/12] Armored signature --- doc/install.rst | 4 ++-- makedist | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/doc/install.rst b/doc/install.rst index 1164126..057f47d 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -5,8 +5,8 @@ Preferable way is to :ref:`download ` tarball with the signature from `official website `__:: $ [fetch|wget] http://www.pyderasn.cypherpunks.ru/download/pyderasn-9.3.tar.zst - $ [fetch|wget] http://www.pyderasn.cypherpunks.ru/download/pyderasn-9.3.tar.zst.sig - $ gpg --verify pyderasn-9.3.tar.zst.sig pyderasn-9.3.tar.zst + $ [fetch|wget] http://www.pyderasn.cypherpunks.ru/download/pyderasn-9.3.tar.zst.asc + $ gpg --verify pyderasn-9.3.tar.zst.asc pyderasn-9.3.tar.zst $ zstd -d < pyderasn-9.3.tar.zst | tar xf - $ cd pyderasn-9.3 $ python setup.py install diff --git a/makedist b/makedist index 84a0a28..3aafd67 100755 --- a/makedist +++ b/makedist @@ -25,9 +25,7 @@ chmod 755 pyderasn-"$release"/pyderasn.py tar cvf pyderasn-"$release".tar --uid=0 --gid=0 --numeric-owner pyderasn-"$release" zstd -19 -v pyderasn-"$release".tar tarball=pyderasn-"$release".tar.zst -gpg --detach-sign --sign --local-user pyderasn@cypherpunks.ru $tarball -gpg --enarmor < "$tarball".sig | - sed "/^Comment:/d ; s/ARMORED FILE/SIGNATURE/" > "$tarball".asc +gpg --armor --detach-sign --sign --local-user pyderasn@cypherpunks.ru $tarball meta4-create -fn "$tarball" -mtime "$tarball" -sig "$tarball".asc \ http://www.pyderasn.cypherpunks.ru/download/"$tarball" \ http://y.www.pyderasn.cypherpunks.ru/download/"$tarball" < "$tarball" > "$tarball".meta4 @@ -42,10 +40,10 @@ An entry for documentation: - $size KiB - \`meta4 \`__ \`tar \`__ - \`sig \`__ + \`sig \`__ EOF -mv $tmp/$tarball $tmp/"$tarball".sig $tmp/"$tarball".meta4 $cur/doc/download +mv $tmp/$tarball $tmp/"$tarball".asc $tmp/"$tarball".meta4 $cur/doc/download cat < -- 2.44.0 From 1b83f0b65aef3fcc044f1e26630a35dea857c1ad Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 3 Aug 2023 17:52:46 +0300 Subject: [PATCH 11/12] Excess option --- doc/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 382436b..a82a7b5 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -9,7 +9,6 @@ copyright = "2017-2023, Sergey Matveev" author = "Sergey Matveev" version = version release = version -language = None exclude_patterns = ["_build"] pygments_style = "sphinx" todo_include_todos = False -- 2.44.0 From 6ed69cded6cde24263d13dd1bdb14aa86641c921 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 7 Jan 2024 11:56:45 +0300 Subject: [PATCH 12/12] Raise copyright years --- pyderasn.py | 2 +- tests/test_cms.py | 2 +- tests/test_crl.py | 2 +- tests/test_crts.py | 2 +- tests/test_pyderasn.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyderasn.py b/pyderasn.py index 458491d..54242a3 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -4,7 +4,7 @@ # pylint: disable=line-too-long,superfluous-parens,protected-access,too-many-lines # pylint: disable=too-many-return-statements,too-many-branches,too-many-statements # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2023 Sergey Matveev +# Copyright (C) 2017-2024 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/tests/test_cms.py b/tests/test_cms.py index c92e529..fb45580 100644 --- a/tests/test_cms.py +++ b/tests/test_cms.py @@ -1,6 +1,6 @@ # coding: utf-8 # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2023 Sergey Matveev +# Copyright (C) 2017-2024 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/tests/test_crl.py b/tests/test_crl.py index f9ec4c1..9174e2f 100644 --- a/tests/test_crl.py +++ b/tests/test_crl.py @@ -1,6 +1,6 @@ # coding: utf-8 # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2023 Sergey Matveev +# Copyright (C) 2017-2024 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/tests/test_crts.py b/tests/test_crts.py index 13366db..e43b4c2 100644 --- a/tests/test_crts.py +++ b/tests/test_crts.py @@ -1,6 +1,6 @@ # coding: utf-8 # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2023 Sergey Matveev +# Copyright (C) 2017-2024 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/tests/test_pyderasn.py b/tests/test_pyderasn.py index dbb5f4d..e8f8bdf 100644 --- a/tests/test_pyderasn.py +++ b/tests/test_pyderasn.py @@ -1,6 +1,6 @@ # coding: utf-8 # PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures -# Copyright (C) 2017-2023 Sergey Matveev +# Copyright (C) 2017-2024 Sergey Matveev # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as -- 2.44.0