summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2021-06-02 17:20:10 +0200
committerThomas Deutschmann <whissi@gentoo.org>2021-06-02 18:15:00 +0200
commit4e071c4943bc0240977d7499caac736bf209aa3c (patch)
tree208f5d45bec95724854c5772d27a4741e035cf74 /sys-auth/ssh-ldap-pubkey
parentdev-python/keyring: Enable py3.10 (diff)
downloadgentoo-4e071c4943bc0240977d7499caac736bf209aa3c.tar.gz
gentoo-4e071c4943bc0240977d7499caac736bf209aa3c.tar.bz2
gentoo-4e071c4943bc0240977d7499caac736bf209aa3c.zip
sys-auth/ssh-ldap-pubkey: bump to v1.3.3
Package-Manager: Portage-3.0.19, Repoman-3.0.3 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'sys-auth/ssh-ldap-pubkey')
-rw-r--r--sys-auth/ssh-ldap-pubkey/Manifest1
-rw-r--r--sys-auth/ssh-ldap-pubkey/files/ssh-ldap-pubkey-1.3.3-python3.9.patch34
-rw-r--r--sys-auth/ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.3.ebuild73
3 files changed, 108 insertions, 0 deletions
diff --git a/sys-auth/ssh-ldap-pubkey/Manifest b/sys-auth/ssh-ldap-pubkey/Manifest
index d9319450c0c7..e7fba3981367 100644
--- a/sys-auth/ssh-ldap-pubkey/Manifest
+++ b/sys-auth/ssh-ldap-pubkey/Manifest
@@ -1 +1,2 @@
DIST ssh-ldap-pubkey-1.3.2.tar.gz 15311 BLAKE2B a8119b9808de556184c7f88c86b657d5d342e476b27cf53d92f37b8e9d3db69182b55c62a636bec6624c5d1aa2a90e3a04a22ce5ee8020ada27582b1ac6eefa3 SHA512 8475715151f331017850c094a50bd285574533fa6266341effc83f758ca30af9b9c24b54fce8c3eac5441c5cf18b0d7aa91bb04829b71efc4b8dcacba3642415
+DIST ssh-ldap-pubkey-1.3.3.tar.gz 15389 BLAKE2B 24c741646e33cf7af400053eff17efa35b96ec418d1c2b8c370a371dde51fdbbb3af3423f0cc4374f61b302f9836601444ee72613388fa2d4445957f918d64f9 SHA512 b52d4de3e0704817e8ea0fb316c21646da1bac74ed226812c03f9ee5ae449a86e5ef4c679633d212db05382e216b254a185e29d4a2244318ad5de288b909254a
diff --git a/sys-auth/ssh-ldap-pubkey/files/ssh-ldap-pubkey-1.3.3-python3.9.patch b/sys-auth/ssh-ldap-pubkey/files/ssh-ldap-pubkey-1.3.3-python3.9.patch
new file mode 100644
index 000000000000..b646603a134a
--- /dev/null
+++ b/sys-auth/ssh-ldap-pubkey/files/ssh-ldap-pubkey-1.3.3-python3.9.patch
@@ -0,0 +1,34 @@
+commit 56b4b77bfa2b063b3f3686b54d8e39f6bce1d2a0
+Author: Thomas Deutschmann <whissi@whissi.de>
+AuthorDate: Wed Jun 2 17:40:06 2021 +0200
+Commit: Thomas Deutschmann <whissi@whissi.de>
+CommitDate: Wed Jun 2 18:01:16 2021 +0200
+
+ Use decodebytes instead of decodestring in Python 3.9
+
+ base64.decodestring(), alias deprecated since Python 3.1, has been removed
+ in Python 3.9 in favor of new base64.decodebytes() function [Link 1].
+
+ Link 1: https://docs.python.org/3.9/whatsnew/3.9.html#removed
+ Closes: https://github.com/jirutka/ssh-ldap-pubkey/issues/49
+
+diff --git a/ssh_ldap_pubkey/__init__.py b/ssh_ldap_pubkey/__init__.py
+index 5da2ade..d80b335 100644
+--- a/ssh_ldap_pubkey/__init__.py
++++ b/ssh_ldap_pubkey/__init__.py
+@@ -39,8 +39,14 @@ def is_valid_openssh_pubkey(pubkey):
+ key_type, data64 = map(_encode, pubkey.split()[0:2])
+ except (ValueError, AttributeError):
+ return False
++
++ if hasattr(base64, "decodebytes"):
++ decodebytes = base64.decodebytes
++ else:
++ decodebytes = base64.decodestring
++
+ try:
+- data = base64.decodestring(data64)
++ data = decodebytes(data64)
+ except base64.binascii.Error:
+ return False
+
diff --git a/sys-auth/ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.3.ebuild b/sys-auth/ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.3.ebuild
new file mode 100644
index 000000000000..c34e4af8ac90
--- /dev/null
+++ b/sys-auth/ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit distutils-r1
+
+DESCRIPTION="Utility to manage SSH public keys stored in LDAP"
+HOMEPAGE="https://github.com/jirutka/ssh-ldap-pubkey"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/jirutka/${PN}/${PN}.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/jirutka/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="schema test"
+RESTRICT="!test? ( test )"
+
+MY_CDEPEND="
+ dev-python/docopt[${PYTHON_USEDEP}]
+ >=dev-python/python-ldap-3.0[${PYTHON_USEDEP}]
+ virtual/logger"
+
+DEPEND="
+ ${MY_CDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-describe[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )"
+
+# We need to block previous net-misc/openssh packages
+# to avoid file collision on "/etc/openldap/schema/openssh-lpk.schema"
+RDEPEND="${MY_CDEPEND}
+ schema? ( !net-misc/openssh[ldap(-)] )"
+
+DOCS=( README.md CHANGELOG.adoc )
+
+PATCHES=( "${FILESDIR}"/${P}-python3.9.patch )
+
+src_prepare() {
+ sed -i -e 's/pyldap/python-ldap >= 3.0/' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ pytest -vv || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use schema; then
+ insinto /etc/openldap/schema
+ doins etc/openssh-lpk.schema
+ fi
+
+ local MY_DOCDIR="/usr/share/doc/${PF}/examples"
+ insinto "${MY_DOCDIR}"
+ doins etc/ldap.conf
+
+ # We don't want to compress this small file to allow user
+ # to diff configuration against upstream's default
+ docompress -x "${MY_DOCDIR}"
+}