summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuis Martinez2022-03-16 01:19:36 -0500
committerLuis Martinez2022-03-16 01:19:36 -0500
commit2b63242faacd996edbb47af099590b228750d742 (patch)
tree636c1cc4a7bce1b86160e908ea210a2976f52fd2
parentdfa4c27ac946e03dd8f90b4fd8731a3337e54c73 (diff)
downloadaur-2b63242faacd996edbb47af099590b228750d742.tar.gz
package cleanup
-rw-r--r--.SRCINFO19
-rw-r--r--CHANGELOG.rst350
-rw-r--r--PKGBUILD49
3 files changed, 397 insertions, 21 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5a1a258ea9e2..7fdb60c7390f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,13 +1,24 @@
pkgbase = python-pem
- pkgdesc = Parsing and splitting of PEM files
+ pkgdesc = Parsing and splitting PEM files
pkgver = 21.2.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/hynek/pem
+ changelog = CHANGELOG.rst
arch = any
license = MIT
+ checkdepends = python-pytest
+ checkdepends = python-certifi
+ checkdepends = python-pretend
+ checkdepends = python-pyopenssl
makedepends = python-setuptools
+ makedepends = python-build
+ makedepends = python-installer
+ makedepends = python-wheel
depends = python
- source = https://github.com/hynek/pem/archive/21.2.0.tar.gz
- sha512sums = 7e6f6d46bd1c8ab5c84b0edee182fbec7ae3c37e2005854ff1bc6f43cb47490a1f3bb0ac97cbc9e8c0ff830d4f22fcddd52f68206452a16ba862354a75491b18
+ source = python-pem-21.2.0.tar.gz::https://files.pythonhosted.org/packages/source/p/pem/pem-21.2.0.tar.gz
+ source = python-pem-21.2.0.tar.gz.asc::https://files.pythonhosted.org/packages/source/p/pem/pem-21.2.0.tar.gz.asc
+ validpgpkeys = C2A04F86ACE28ADCF817DBB7AE2536227F69F181
+ sha256sums = c491833b092662626fd58a87375d450637d4ee94996ad9bbbd42593428e93e5a
+ sha256sums = SKIP
pkgname = python-pem
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
new file mode 100644
index 000000000000..910d97f3e74c
--- /dev/null
+++ b/CHANGELOG.rst
@@ -0,0 +1,350 @@
+.. :changelog:
+
+Changelog
+=========
+
+Versions are year-based with a strict backward compatibility policy.
+The third digit is only for regressions.
+
+
+21.2.0 (2021-04-07)
+-------------------
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*none*
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- Added support for ``pem.OpenSSLTrustedCertificate`` (``-----BEGIN TRUSTED CERTIFICATE-----``), as defined in `openssl x509 manual <https://www.openssl.org/docs/man1.1.1/man1/x509.html>`_.
+ `#28 <https://github.com/hynek/pem/issues/28>`_
+
+
+----
+
+
+21.1.0 (2021-01-22)
+-------------------
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*none*
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- Added support for DSA private keys (``BEGIN DSA PRIVATE``).
+ This is also the OpenSSH legacy PEM format.
+ `#49 <https://github.com/hynek/pem/issues/49>`_
+- Added support for ``pem.SSHPublicKey`` (``---- BEGIN SSH2 PUBLIC KEY ----``), as defined in `RFC 4716 <https://tools.ietf.org/html/rfc4716>`_.
+ `#46 <https://github.com/hynek/pem/pull/46>`_
+- Added support for ``pem.SSHCOMPrivateKey`` (``---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----``), the SSH.com / Tectia private key format (plain or encrypted).
+ `#46 <https://github.com/hynek/pem/pull/46>`_
+
+
+----
+
+
+20.1.0 (2020-01-06)
+-------------------
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*none*
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- Carriage returns (``\r``) are now stripped before hashing *pem* objects to provide consistent hashes across platforms.
+ `#40 <https://github.com/hynek/pem/issues/40>`_
+
+
+----
+
+
+19.3.0 (2019-10-16)
+-------------------
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Python 3.4 is not supported anymore.
+ It has been unsupported by the Python core team for a while now and its PyPI downloads are negligible.
+
+ It's very unlikely that *pem* will break under 3.4 anytime soon, but we don't test it anymore.
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- Added support for ``pem.OpenSSHPrivateKey`` (``OPENSSH PRIVATE KEY``).
+ OpenSSH added a new ``BEGIN`` label when it switched to a proprietary key encoding.
+ `#39 <https://github.com/hynek/pem/pull/39>`_
+
+
+----
+
+
+19.2.0 (2019-08-06)
+-------------------
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*none*
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- Added support for ``pem.ECPrivateKey`` (``EC PRIVATE KEY``).
+
+
+----
+
+
+19.1.0 (2019-03-19)
+-------------------
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*none*
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- You can now load encrypted PKCS#8 PEM key as ``pem.Key``.
+- Added support for ``pem.PublicKey`` (``PUBLIC KEY``).
+- Added support for ``pem.RSAPublicKey`` (``RSA PUBLIC KEY``).
+
+
+----
+
+
+18.2.0 (2018-10-09)
+-------------------
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*none*
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- Added ``pem.CertificateRevocationList`` for certificate revocation lists (CRLs).
+ `#32 <https://github.com/hynek/pem/pull/32>`_
+
+
+----
+
+
+18.1.0 (2018-06-23)
+-------------------
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- ``pem.certificateOptionsFromFiles()`` and ``pem.certificateOptionsFromPEMs()`` have been removed after three years of deprecation.
+ Please use ``pem.twisted.certificateOptionsFromFiles()`` ``pem.twisted.certificateOptionsFromPEMs()`` instead.
+- Diffie-Hellman support for Twisted older than 14.0 has been removed.
+
+
+Deprecations:
+^^^^^^^^^^^^^
+
+*none*
+
+
+Changes:
+^^^^^^^^
+
+- *pem* now ships with typing information that can be used by type checkers like `mypy <http://mypy-lang.org>`_.
+- PEM objects now have an ``obj.sha1_hexdigest`` property with the SHA-1 digest of the stored bytes as a native string.
+ This is the same digest as the one that is used by the PEM objects' ``__repr__``\ s.
+- PEM objects now have an ``obj.as_text()`` method that returns the PEM-encoded content as unicode, always.
+
+
+----
+
+
+17.1.0 (2017-08-10)
+-------------------
+
+
+Changes:
+^^^^^^^^
+
+- Added ``pem.CertificateRequest`` for `certificate signing requests <https://en.wikipedia.org/wiki/Certificate_signing_request>`_.
+ `#29 <https://github.com/hynek/pem/pull/29>`_
+
+
+----
+
+
+16.1.0 (2016-04-08)
+-------------------
+
+Deprecations:
+^^^^^^^^^^^^^
+
+- Passing ``dhParameters`` to ``pem.twisted.certifateOptionsFromPEMs`` and ``certificateOptionsFromFiles`` is now deprecated;
+ instead, include the DH parameters in the PEM objects or files.
+
+
+Backward-incompatible changes:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Python 3.3 and 2.6 aren't supported anymore.
+ They may work by chance but any effort to keep them working has ceased.
+
+ The last Python 2.6 release was on October 29, 2013 and isn't supported by the CPython core team anymore.
+ Major Python packages like Django and Twisted dropped Python 2.6 a while ago already.
+
+ Python 3.3 never had a significant user base and wasn't part of any distribution's LTS release.
+
+
+Changes:
+^^^^^^^^
+
+- ``pem.twisted.certificateOptionsFromPEMs`` and ``certificateOptionsFromFiles`` will now load Ephemeral Diffie-Hellman parameters if found.
+ `#21 <https://github.com/hynek/pem/pull/21>`_
+- PEM objects now correctly handle being constructed with unicode and bytes on both Python 2 and 3.
+ `#24 <https://github.com/hynek/pem/pull/24>`_
+- PEM objects now have an ``as_bytes`` method that returns the PEM-encoded content as bytes, always.
+ `#24 <https://github.com/hynek/pem/pull/24>`_
+- PEM objects are now hashable and comparable for equality.
+ `#25 <https://github.com/hynek/pem/pull/25>`_
+
+
+
+----
+
+
+16.0.0 (2016-02-05)
+-------------------
+
+Changes:
+^^^^^^^^
+
+- PKCS #8 keys are now supported.
+ `#14 <https://github.com/hynek/pem/pull/14>`_
+- *pem* is now fully functional without installing Twisted.
+ `#16 <https://github.com/hynek/pem/pull/16>`_
+
+
+----
+
+
+15.0.0 (2015-07-10)
+-------------------
+
+Deprecations:
+^^^^^^^^^^^^^
+
+- The usage of Twisted helpers from the pem module is deprecated.
+ Use their pendants from the ``pem.twisted`` module now.
+- The usage of the backport of ephemeral Diffie-Hellman support is hereby deprecated.
+ Nobody should use a Twisted release that is older than 14.0.0 because it contains essential SSL/TLS fixes.
+
+
+Changes:
+^^^^^^^^
+
+- Support PEM strings that do not end with a new line.
+ `#12 <https://github.com/hynek/pem/pull/12>`_
+- Support PEM strings that end with ``\r\n``.
+- The Twisted-related helpers have been moved to ``pem.twisted``.
+
+
+----
+
+
+0.3.0 (2014-04-15)
+------------------
+
+Changes:
+^^^^^^^^
+
+- Load PEM files as UTF-8 to allow for non-ASCII comments (like in certifi).
+- Allow keys, primary certificates, and chain certificates to occur in any order.
+
+
+----
+
+
+0.2.0 (2014-03-13)
+------------------
+
+Changes:
+^^^^^^^^
+
+- Add forward-compatible support for DHE.
+
+
+----
+
+
+0.1.0 (2013-07-18)
+------------------
+
+Initial release.
diff --git a/PKGBUILD b/PKGBUILD
index a2033e6f993d..50202b7d795d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,25 +1,40 @@
+# Maintainer: Luis Martinez <luis dot martinez at disroot dot org>
# Contributor: pfm <vorticity at mail dot ru>
-_base=pem
-pkgname=python-${_base}
+
+pkgname=python-pem
pkgver=21.2.0
-pkgrel=1
-pkgdesc="Parsing and splitting of PEM files"
-arch=(any)
-url="https://github.com/hynek/${_base}"
-license=(MIT)
-depends=(python)
-makedepends=(python-setuptools)
-source=(${url}/archive/${pkgver}.tar.gz)
-sha512sums=('7e6f6d46bd1c8ab5c84b0edee182fbec7ae3c37e2005854ff1bc6f43cb47490a1f3bb0ac97cbc9e8c0ff830d4f22fcddd52f68206452a16ba862354a75491b18')
+pkgrel=2
+pkgdesc="Parsing and splitting PEM files"
+arch=('any')
+url="https://github.com/hynek/pem"
+license=('MIT')
+depends=('python')
+makedepends=('python-setuptools' 'python-build' 'python-installer' 'python-wheel')
+checkdepends=('python-pytest' 'python-certifi' 'python-pretend' 'python-pyopenssl')
+changelog=CHANGELOG.rst
+source=(
+ "$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/p/pem/pem-$pkgver.tar.gz"
+ "$pkgname-$pkgver.tar.gz.asc::https://files.pythonhosted.org/packages/source/p/pem/pem-$pkgver.tar.gz.asc")
+sha256sums=('c491833b092662626fd58a87375d450637d4ee94996ad9bbbd42593428e93e5a'
+ 'SKIP')
+validpgpkeys=('C2A04F86ACE28ADCF817DBB7AE2536227F69F181') ## Hynek Schlawack
build() {
- cd ${_base}-${pkgver}
- export PYTHONHASHSEED=0
- python setup.py build
+ cd "pem-$pkgver"
+ python -m build --wheel --no-isolation
+}
+
+check() {
+ cd "pem-$pkgver"
+ PYTHONPATH=./src pytest -x --disable-warnings
}
package() {
- cd ${_base}-${pkgver}
- PYTHONPYCACHEPREFIX="${PWD}/.cache/cpython/" python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
- install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ export PYTHONHASHSEED=0
+ cd "pem-$pkgver"
+ python -m installer --destdir="$pkgdir/" dist/*.whl
+
+ local _site="$(python -c 'import site; print(site.getsitepackages()[0])')"
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ ln -s "$_site/pem-$pkgver.dist-info/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/"
}