From 9e8143eb1adca61845444132a576fc50b6ff47bd Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sun, 18 Nov 2018 16:41:51 -0800 Subject: sys-auth/ssh-ldap-pubkey: fixes for complex LDAP filters Package-Manager: Portage-2.3.51, Repoman-2.3.12 Signed-off-by: Robin H. Johnson --- sys-auth/ssh-ldap-pubkey/Manifest | 2 + .../ssh-ldap-pubkey-1.3.0-r2.ebuild | 85 ++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 sys-auth/ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.0-r2.ebuild (limited to 'sys-auth/ssh-ldap-pubkey') diff --git a/sys-auth/ssh-ldap-pubkey/Manifest b/sys-auth/ssh-ldap-pubkey/Manifest index dc55673bcde3..7874cae4be7e 100644 --- a/sys-auth/ssh-ldap-pubkey/Manifest +++ b/sys-auth/ssh-ldap-pubkey/Manifest @@ -1 +1,3 @@ DIST ssh-ldap-pubkey-1.3.0.tar.gz 14530 BLAKE2B 1de6913e4abb25d441731b3c36b64361f5fa8900c289b1f4ef58776ab0018414d20b4b24716833e1e27e5dc18079ec77c283bab88879e3fb719fc9ad054267ea SHA512 0c675b0bf68ccecdabda5f4f559772fd0d34151794c2a3855e063befffe9777ceb79e99b5649f15e5bd0c4ea40c22f734d1748a8053d49bffea58077b72efe16 +DIST ssh-ldap-pubkey-130478a7532a8d3dfb0c8e3fbeac494908b8ec55.patch 1494 BLAKE2B 3fb89340d8177db79396b13615437aa921ecc2d21b8ca5c918587bb07f9fb53bc8f356c50c57269b1ffe04995033815d7632ff060485d4c29d34dc7805227533 SHA512 dfc137b6fb2bc0aea698b23ea462de2bd00503b9b21f022b77b28d51020758730ea4017b890e298616beb198816489862830d4dda7cae5114572523ad6289472 +DIST ssh-ldap-pubkey-8d718357dfa5a62f919e61cf620a862cae87e833.patch 2215 BLAKE2B abeaa5a364cd98050fd8abb1019cc203b72e96baa4c3704c7aac6cadc07d999defa2333f6ca4f6793dd0e758b08ab198135c65d100f5f91eba6273c07dd20250 SHA512 85136608352fb35ede70eff8522e09167e48eed5c99a87756ea8b3f641de0dc169bf066d0c21a28fc35c41337372803d97bd37ca8bad1dbafb92464086fe3a63 diff --git a/sys-auth/ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.0-r2.ebuild b/sys-auth/ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.0-r2.ebuild new file mode 100644 index 000000000000..2e4b4ba04411 --- /dev/null +++ b/sys-auth/ssh-ldap-pubkey/ssh-ldap-pubkey-1.3.0-r2.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) +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 ~ppc64 ~x86" +fi +PATCHES=( ) +PATCH_COMMITS=( + # https://github.com/jirutka/ssh-ldap-pubkey/pull/33/ + # config.parse_config: fix parsing of non-word characters + 130478a7532a8d3dfb0c8e3fbeac494908b8ec55 + # https://github.com/jirutka/ssh-ldap-pubkey/pull/33/ + # find_dn_by_login: handle complex filters + 8d718357dfa5a62f919e61cf620a862cae87e833 +) +for c in "${PATCH_COMMITS[@]}" ; do + d="${PN}-${c}.patch" + PATCHES+=( "${DISTDIR}/${d}" ) + SRC_URI="${SRC_URI} https://github.com/jirutka/${PN}/commit/${c}.patch -> ${d}" +done + +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 ) + +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}" +} -- cgit v1.2.3-65-gdbad