Gentoo Archives: gentoo-commits

From: Matt Thode <prometheanfire@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-auth/nss-pam-ldapd/
Date: Sat, 01 Sep 2018 17:46:31
Message-Id: 1535823962.e09ca15e3fabaaa5b07781b466ef06dcfdd6bb46.prometheanfire@gentoo
1 commit: e09ca15e3fabaaa5b07781b466ef06dcfdd6bb46
2 Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 1 17:46:02 2018 +0000
4 Commit: Matt Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 1 17:46:02 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e09ca15e
7
8 sys-auth/nss-pam-ldapd: 0.9.10 bump
9
10 Package-Manager: Portage-2.3.48, Repoman-2.3.10
11
12 sys-auth/nss-pam-ldapd/Manifest | 1 +
13 sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.10.ebuild | 163 +++++++++++++++++++++
14 2 files changed, 164 insertions(+)
15
16 diff --git a/sys-auth/nss-pam-ldapd/Manifest b/sys-auth/nss-pam-ldapd/Manifest
17 index 245b9264ea5..a46c9a22370 100644
18 --- a/sys-auth/nss-pam-ldapd/Manifest
19 +++ b/sys-auth/nss-pam-ldapd/Manifest
20 @@ -1,3 +1,4 @@
21 DIST nss-pam-ldapd-0.8.14.tar.gz 508949 BLAKE2B ad8532bf86ef93c62394b91b7c3c035dc1090a70b60ab190ed8af012d533e61fe067b4383388af0d3a53142dbc96da3468d2aa09c2a30f92b9cf56434160c6d6 SHA512 70abb1836b5b3304e583fd3b71f11fee7586e181b26f4630779ec1d90b856da6e4fcc76327c51b20a158aa36708dd12ceb5f543a33c826881f2ad3e092f542c9
22 +DIST nss-pam-ldapd-0.9.10.tar.gz 749302 BLAKE2B 38cdc0e2a5b971d18412d7a583a265cdc87249342139dd4af9cddc61d17bc3d4d19b43c6705fdabc9dccc5ad4f7dad5ea473f75cde2915e485252fdf9116a1c6 SHA512 be559bc0d60bcf25af94919d456922bee4abb2c0417a8d2daf954d9aa9af2d41cb06a20cef04d9afd61c1316a744331753ee1cb25ef4a9c5411c508193231218
23 DIST nss-pam-ldapd-0.9.8.tar.gz 771247 BLAKE2B bef3e5ede2b4747277ee400dfa8be620281e4e2a596acff236008e1f0bf6b79d6e309a4ca4bad852f6b0a8f79888cffcfffe09ddea8fde8e53b8450a894598eb SHA512 f0d24afd4cb5cea8155aa719b598448d3d81a896f7bc431f7d73e0617a7b2aa7e0ceb6de0b50163848c5554d96a3c415226e32a92e64ed91772fec4c64ad135b
24 DIST nss-pam-ldapd-0.9.9.tar.gz 772059 BLAKE2B 0c1da79d58f19f0c310c0589ca9f286a73ada025028d1a00df938d40dd1211f4dd5ba694de94a37a3596b64b5f8a511127c359a86a60271eb091082dec69e6bb SHA512 8148467523003da397d03b70bb01e52dbc63b0528540aea1d85f6af2ee8af69300e107617b69608397b210e825a2351cfd61b88c4fa146d2e8e9fb9c5cd358e3
25
26 diff --git a/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.10.ebuild b/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.10.ebuild
27 new file mode 100644
28 index 00000000000..397ac40543d
29 --- /dev/null
30 +++ b/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.10.ebuild
31 @@ -0,0 +1,163 @@
32 +# Copyright 1999-2018 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=6
36 +
37 +PYTHON_COMPAT=(python2_7)
38 +inherit eutils prefix user python-r1 multilib multilib-minimal systemd s6
39 +
40 +DESCRIPTION="NSS module for name lookups using LDAP"
41 +HOMEPAGE="https://arthurdejong.org/nss-pam-ldapd/"
42 +SRC_URI="https://arthurdejong.org/${PN}/${P}.tar.gz"
43 +
44 +LICENSE="LGPL-2.1"
45 +SLOT="0"
46 +KEYWORDS="~amd64 ~x86"
47 +IUSE="debug kerberos +pam pynslcd sasl test +utils"
48 +
49 +COMMON_DEP="
50 + net-nds/openldap[${MULTILIB_USEDEP}]
51 + sasl? ( dev-libs/cyrus-sasl[${MULTILIB_USEDEP}] )
52 + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
53 + virtual/pam[${MULTILIB_USEDEP}]
54 + utils? ( ${PYTHON_DEPS} )
55 + pynslcd? (
56 + dev-python/python-ldap[${PYTHON_USEDEP}]
57 + dev-python/python-daemon[${PYTHON_USEDEP}]
58 + )
59 + !sys-auth/nss_ldap
60 + !sys-auth/pam_ldap"
61 +RDEPEND="${COMMON_DEP}"
62 +DEPEND="${COMMON_DEP}
63 + test? (
64 + ${PYTHON_DEPS}
65 + dev-python/pylint[${PYTHON_USEDEP}]
66 + )
67 + sys-devel/automake"
68 +
69 +REQUIRED_USE="
70 + utils? ( ${PYTHON_REQUIRED_USE} )
71 + test? ( ${PYTHON_REQUIRED_USE} pynslcd )"
72 +
73 +PATCHES=(
74 + "${FILESDIR}"/${PN}-0.9.4-disable-py3-only-linters.patch
75 + "${FILESDIR}"/${PN}-0.9.8-pynslcd-module-paths.patch
76 +)
77 +
78 +pkg_setup() {
79 + enewgroup nslcd
80 + enewuser nslcd -1 -1 -1 nslcd
81 +}
82 +
83 +src_prepare() {
84 + cp pynslcd/pynslcd.py "${S}" || die "Copying pynslcd failed"
85 +
86 + default
87 + use utils && python_setup
88 + touch pynslcd/__init__.py || die "Could not create __init__.py for pynslcd"
89 +}
90 +
91 +multilib_src_configure() {
92 + local -a myconf
93 +
94 + myconf=(
95 + --disable-utils
96 + --enable-warnings
97 + --with-ldap-lib=openldap
98 + --with-ldap-conf-file=/etc/nslcd.conf
99 + --with-nslcd-pidfile=/run/nslcd/nslcd.pid
100 + --with-nslcd-socket=/run/nslcd/socket
101 + $(usex x86-fbsd '--with-nss-flavour=' '--with-nss-flavour=' 'freebsd' 'glibc')
102 + $(use_enable pynslcd)
103 + $(use_enable debug)
104 + $(use_enable kerberos)
105 + $(use_enable pam)
106 + $(use_enable sasl)
107 + )
108 +
109 + # nss libraries always go in /lib on Gentoo
110 + if multilib_is_native_abi ; then
111 + myconf+=("--with-pam-seclib-dir=${EPREFIX}/$(get_libdir)/security")
112 + myconf+=("--libdir=${EPREFIX}/$(get_libdir)")
113 + else
114 + myconf+=("--with-pam-seclib-dir=/$(get_libdir)/security")
115 + myconf+=("--libdir=/$(get_libdir)")
116 + fi
117 +
118 + ECONF_SOURCE="${S}" econf "${myconf[@]}"
119 +}
120 +
121 +multilib_src_install_all() {
122 + local script
123 +
124 + newinitd "${FILESDIR}"/nslcd-init-r1 nslcd
125 + newinitd "${FILESDIR}"/nslcd-init-r2 nslcd
126 + s6_install_service nslcd "${FILESDIR}"/nslcd-run-s6
127 +
128 + insinto /usr/share/nss-pam-ldapd
129 + doins "${WORKDIR}/${P}/nslcd.conf"
130 +
131 + fperms o-r /etc/nslcd.conf
132 +
133 + if use utils; then
134 + python_moduleinto nslcd
135 + python_foreach_impl python_domodule utils/*.py
136 +
137 + for script in chsh getent; do
138 + python_foreach_impl python_newscript utils/${script}.py ${script}.ldap
139 + done
140 + fi
141 + if use pynslcd; then
142 + rm -rf "${D}"/usr/share/pynslcd
143 + python_moduleinto pynslcd
144 + python_foreach_impl python_domodule pynslcd/*.py
145 + python_scriptinto /usr/sbin
146 + python_newscript pynslcd.py pynslcd
147 + newinitd "${FILESDIR}"/pynslcd.initd pynslcd
148 + fi
149 +
150 + systemd_newtmpfilesd "${FILESDIR}"/nslcd-tmpfiles.conf nslcd.conf
151 + systemd_dounit "${FILESDIR}"/nslcd.service
152 +}
153 +
154 +multilib_src_install() {
155 + emake DESTDIR="${D}" install
156 +
157 + if use pynslcd; then
158 + python_moduleinto pynslcd
159 + python_foreach_impl python_domodule pynslcd/*.py
160 + fi
161 +}
162 +
163 +python_test() {
164 + PYTHONPATH="${S}" emake check
165 +}
166 +
167 +multilib_src_test() {
168 + pushd "${BUILD_DIR}"
169 + ln -s ../pynslcd/constants.py utils/constants.py
170 + python_foreach_impl python_test
171 + popd
172 +}
173 +
174 +pkg_postinst() {
175 + echo
176 + elog "For this to work you must configure /etc/nslcd.conf"
177 + elog "This configuration is similar to pam_ldap's /etc/ldap.conf"
178 + echo
179 + elog "In order to use nss-pam-ldapd, nslcd needs to be running. You can"
180 + elog "start it like this:"
181 + elog " # /etc/init.d/nslcd start"
182 + echo
183 + elog "You can add it to the default runlevel like so:"
184 + elog " # rc-update add nslcd default"
185 + elog
186 + elog "If you have >=sys-apps/openrc-0.16.3, you can also use s6"
187 + elog "to supervise this service."
188 + elog "To do this, emerge sys-apps/s6 then add nslcd-s6"
189 + elog "default runlevel instead of nslcd."
190 + elog
191 + elog "If you are upgrading, keep in mind that /etc/nss-ldapd.conf"
192 + elog " is now named /etc/nslcd.conf"
193 + echo
194 +}