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-----
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 {} +
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
-language = None
exclude_patterns = ["_build"]
pygments_style = "sphinx"
todo_include_todos = False
signature from `official website <http://www.pyderasn.cypherpunks.ru/>`__::
$ [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
* ``urwid`` is an optional dependency used for :ref:`interactive browser <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 <https://www.gnupg.org/>`__ is used for that purpose.
uid PyDERASN releases <pyderasn@cypherpunks.ru>
$ 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
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
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 {} +
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
-meta4-create -file "$tarball" -mtime "$tarball" -sig "$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".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 <<EOF
- $release_date
- $size KiB
- \`meta4 <download/pyderasn-${release}.tar.zst.meta4>\`__
- \`link <download/pyderasn-${release}.tar.zst>\`__
- \`sig <download/pyderasn-${release}.tar.zst.sig>\`__
- - \`\`$hash\`\`
-
-pyderasn==$release $pip_hash
+ \`tar <download/pyderasn-${release}.tar.zst>\`__
+ \`sig <download/pyderasn-${release}.tar.zst.asc>\`__
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 <<EOF
Subject: PyDERASN $release release announcement
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
+ http://www.pyderasn.cypherpunks.ru/download/pyderasn-${release}.tar.zst.asc
-SHA256 hash: $hash
GPG key: 2ED6 C846 3051 02DF 5B4E 0383 04A9 33D1 BA20 327A
PyDERASN releases <pyderasn at cypherpunks dot ru>
-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
# 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 <stargrave@stargrave.org>
+# Copyright (C) 2017-2024 Sergey Matveev <stargrave@stargrave.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# coding: utf-8
# PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures
-# Copyright (C) 2017-2022 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2017-2024 Sergey Matveev <stargrave@stargrave.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# coding: utf-8
# PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures
-# Copyright (C) 2017-2022 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2017-2024 Sergey Matveev <stargrave@stargrave.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# coding: utf-8
# PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures
-# Copyright (C) 2017-2022 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2017-2024 Sergey Matveev <stargrave@stargrave.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# coding: utf-8
# PyDERASN -- Python ASN.1 DER/CER/BER codec with abstract structures
-# Copyright (C) 2017-2022 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2017-2024 Sergey Matveev <stargrave@stargrave.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as