commit: 4e071c4943bc0240977d7499caac736bf209aa3c Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> AuthorDate: Wed Jun 2 15:20:10 2021 +0000 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> CommitDate: Wed Jun 2 16:15:00 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e071c49
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 <AT> gentoo.org> sys-auth/ssh-ldap-pubkey/Manifest | 1 + .../files/ssh-ldap-pubkey-1.3.3-python3.9.patch | 34 ++++++++++ .../ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.3.ebuild | 73 ++++++++++++++++++++++ 3 files changed, 108 insertions(+) diff --git a/sys-auth/ssh-ldap-pubkey/Manifest b/sys-auth/ssh-ldap-pubkey/Manifest index d9319450c0c..e7fba398136 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 00000000000..b646603a134 --- /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 <[email protected]> +AuthorDate: Wed Jun 2 17:40:06 2021 +0200 +Commit: Thomas Deutschmann <[email protected]> +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 00000000000..c34e4af8ac9 --- /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}" +}
