diff options
Diffstat (limited to 'sys-auth/nss-pam-ldapd')
-rw-r--r-- | sys-auth/nss-pam-ldapd/Manifest | 4 | ||||
-rw-r--r-- | sys-auth/nss-pam-ldapd/files/nslcd-2.service | 14 | ||||
-rw-r--r-- | sys-auth/nss-pam-ldapd/files/nslcd-init-r3 | 28 | ||||
-rw-r--r-- | sys-auth/nss-pam-ldapd/files/pynslcd.initd-r2 | 28 | ||||
-rw-r--r-- | sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.11-r2.ebuild | 163 |
5 files changed, 237 insertions, 0 deletions
diff --git a/sys-auth/nss-pam-ldapd/Manifest b/sys-auth/nss-pam-ldapd/Manifest index 4e2ab917cd16..1373d521235d 100644 --- a/sys-auth/nss-pam-ldapd/Manifest +++ b/sys-auth/nss-pam-ldapd/Manifest @@ -1,5 +1,7 @@ +AUX nslcd-2.service 320 BLAKE2B 18a675fcc821d2c5f7766c0739c3bada8550e5e55f7b589fd9806bd961e9d4149be4a145ac51b9aeabad49293d70c726c1a8dd6a78ff724114e3b34e2270c32b SHA512 f04b66e05bfaefd485a4251c46d2b172a193be77554595086241dcd66a7787cf7678c8e5f6be954192a85a69fd2426965e4ca82c00e610ead8c6dd93a9aa21b1 AUX nslcd-init-r1 742 BLAKE2B 974b7e1c15040dd2622414991fe1b010b605a57a476d661a6bba3c41cfdab6d17d6366ee23a320bc55276ba623158e8324c1bcbddc70273daea05ff9e3da6530 SHA512 3a3af1ab32d3af9de0fa8275c76a46c854ce1fad071aaba93b2f4d4c3de67feb7a6479546a510300696eecdb83fd6519c4eff02c6890f7614cd18b3aababc50f AUX nslcd-init-r2 520 BLAKE2B bab8303819fe3f5cc70b84b019ce767dcceac5e90c3869d346e37552479c45fa91824f43dc58d2ebaae2c1f7432f7ca52e555d757aa4d8abd9e02428e0228b01 SHA512 be04068d174747a808eceb194cea7b805cefb04809000cc022ef7a63e3d628cecd427c2f2c61ad4c8f71313db8faa8b3b13f78aef80c4bfa32e35e5e166b6f01 +AUX nslcd-init-r3 516 BLAKE2B ee8088e75ae80b1a8ba52c770799dac1cb5b85670e5f4af1b445a347458d6ced0d58e134064226d7a240263f89bd648cfdf352baef3e62fe1b5a2d6fd2f242f0 SHA512 1908fd6cff931b966d5fc97caf8f6498849ec8491c6b93dfc92483dede4869acf8db6979db06f51b5575275538e372a573a2785479605aa4550bf55e790fbb22 AUX nslcd-run-s6 44 BLAKE2B af69fd0202732721739501a65f608fb9fadfdd7e8a58052103a347bd3cfabecc84e5d5478fe689f565ee47f839c4f280d6ad8e88846339995f05fba8942dc8ac SHA512 190cd1440ab30dc32d09d7de9dee783d5d149547e491930d5f514b4bd53197e45a307906762d0e650ef802aa18ba266b40f61483569208c57709b2cbd74d3ae9 AUX nslcd-tmpfiles.conf 32 BLAKE2B 082266c3fd69fe866b9698283911e166e48e416b3fd35ab8940ad8d20a40992adf2ed25fd15efc98d6c1922f081ed37ca72ebeaa2a800ce70adc7092a0aaa106 SHA512 ccffd327cfa015ec746f4e1506c02beb514763625b0e5818455491b911d9328b19f17620926c15aaf18f5cd9268ea71f5ef35ce7a427aefab950579d5629ee5d AUX nslcd.service 324 BLAKE2B 42dd57ae631b3a7bdc041ed41acfd10c83b04c5641491feb3b1249b32830800f2c03d3b4e4dd8eb09930d7dc04a0c20637af86da2b88435a025dc35403fcb7f4 SHA512 8055407704c445b4b90046cc4f6b68544d8955bf65fc6b4a2fdf986548a353c2292de70edcf7cb2356619cb122cd3341a82156b6f71eec914471406447cb26a7 @@ -7,9 +9,11 @@ AUX nss-pam-ldapd-0.9.11-pynslcd-module-paths.patch 537 BLAKE2B 4016772474812442 AUX nss-pam-ldapd-0.9.4-disable-py3-only-linters.patch 403 BLAKE2B 2e17a92b3650ce4e6627be7ddb2f656cd9ab53e49d7e2b11d078dac0d7a00015d88d861bfdc1378eb25c1b9750ed3811023cc95b04ccf9d028ffc5899dc01cd5 SHA512 c8cccb044a641f673f12db9717bda4c0c4d91bd1933342595d8f3f540449459c5cf14263133487195b223670d450873f608e3ce5b6f1ca775ca7fe0180a9f962 AUX nss-pam-ldapd-0.9.8-pynslcd-module-paths.patch 589 BLAKE2B de9801045f452da7d026afec44e15127b73f07a70f06d2f38ab2bc75562c4e825a789a9aae27d3c2e4e635143b50ed92e2841b3dcb55812aed5410eabb5eccfb SHA512 1bec5eb2376a85b0885b47e9ae560e9fcacb67b2d7a7170777f9e74c4cc8f9e1d57267cc122312f7df8cad05568f6dfcccd1cc6a62478c4d5c90459846e07706 AUX pynslcd.initd 522 BLAKE2B 180d1ffa695a1cb6fccddfdc8719745e0d21ab082caeffbd0a071ce7afbbec6debddbabf9828c056b4aa88cb0f5cd6e84d4207cadf30e3cd8ac2e1946b9e7588 SHA512 2b737990a54b55c04de76fb295c466afbd029e44252372b0ca7a03407d059dfb200c63bfcbf55b1183d8c4f9f90a4f1130d8f5332f4fbde783d92c9ac0ce29b0 +AUX pynslcd.initd-r2 518 BLAKE2B a7b8d8be81fbb942508f40ba8c2e9950412d07e17c184888b996049c7f924b5b60b6b855d9cb868d88e64af7418b1b23e72a9a126b68950b9be2baad976ab985 SHA512 0e353f6072f4e7b659f2b4b6c35952451befa02a1c278334335ebea77d44843b7acb45206e38ede100dab497d7675751c6aa1542c1d4e6dd8c5ff48116015fa0 DIST nss-pam-ldapd-0.9.10.tar.gz 749302 BLAKE2B 38cdc0e2a5b971d18412d7a583a265cdc87249342139dd4af9cddc61d17bc3d4d19b43c6705fdabc9dccc5ad4f7dad5ea473f75cde2915e485252fdf9116a1c6 SHA512 be559bc0d60bcf25af94919d456922bee4abb2c0417a8d2daf954d9aa9af2d41cb06a20cef04d9afd61c1316a744331753ee1cb25ef4a9c5411c508193231218 DIST nss-pam-ldapd-0.9.11.tar.gz 777878 BLAKE2B c2b442786dd788dcf4373939ed52b4585d1821a7168fdd342ded3c99ef9ac8f3e4af0ac360f842b61885c1f2bc2ef85a0ce9ce0c1027bc974d0ba5242505657f SHA512 2b307805667526b85c724e113fe38899eee397e5c8673e89090d4836ce6d0ffcf18dd022d6c20a5e11d4138e736451b841a0f16ba379d524de4faaaf02906645 EBUILD nss-pam-ldapd-0.9.10.ebuild 4202 BLAKE2B f69180c0b26d8938c337e86f119a295567f096de6e1d76be14bec78bf5a8ac9267b894cbfad9453cf92332f275fe6485bbc2ad1ea61a615d90e95b904f37588f SHA512 800110dcf105c27eb4df03cf352ee22c371c3350fb670e6a45f0d09b6f2b0754e2e6de98f86648b82bc94fe34cbcdf75645226ae775c3808c50797ac982ad8a3 EBUILD nss-pam-ldapd-0.9.11-r1.ebuild 4215 BLAKE2B d0797ed09f70c7afdf6d167cef5c12885da664bca943bc3ee20fd836805536c64f9eae6f4611075088060b1684f373d745c8461f5cc7cb59c03618a4a729b059 SHA512 cb8c283e4d424be4339b3d30723e1a5b4abac60603c3155120e60f8a2417b799026378faf56fd034104f0d55267d91624ac80ca7c7dd9cb8de7432024a73ce43 +EBUILD nss-pam-ldapd-0.9.11-r2.ebuild 4191 BLAKE2B e16c10bd590bcb68a6db2f0871faa15f9b33a4041ac68babe02e09553538e84faef95499551cde4fe6324d562a1919d14c9dc2ca8f0f07386053425302b9498d SHA512 f1c155ba12581c924eafdd811523c5f539042b7cf78abfc90b0f49f68cedcf9d0542f66a38141a33601c251fb451c05bb28cfe5dd41b2e6405098a47b4d04725 EBUILD nss-pam-ldapd-0.9.11.ebuild 4203 BLAKE2B 61b0c5674acf6a3b08bb7d796ddf1bbe14b609eb7404325dac0b84f4bd5696cf07dfe8c934623ec6a3275bc4f7ab8a15fb575103a06f3b456ee0e766fb6fe645 SHA512 7f2210393c1813189bb655f9b61150fe3d90463cbbdf533cd7c68925d27c6bc5b76db2a2799f5903bb36be5962b4596c4be7740cf631250446ec1d684941e601 MISC metadata.xml 1169 BLAKE2B 22b5c9adcafb123a6af088ddfcaa1962eaf250ed153020e65afe36a0e6473b1f8c624f770634a91c3a983c74ded1d43535bb4930f13c6470fad681f5a77fcd51 SHA512 ab658f7d791db370920a4eb57da8ead2713b1cabda6f2dccd24478855043802e7c70a07c3aeaa33829b19dc94a4317d8b5ebec07d1caebe07b4fb3bc59b27b4c diff --git a/sys-auth/nss-pam-ldapd/files/nslcd-2.service b/sys-auth/nss-pam-ldapd/files/nslcd-2.service new file mode 100644 index 000000000000..b6b167aaed92 --- /dev/null +++ b/sys-auth/nss-pam-ldapd/files/nslcd-2.service @@ -0,0 +1,14 @@ +[Unit] +Description=NSS and PAM LDAP client daemon +After=network-online.target +Wants=network-online.target nss-lookup.target syslog.service +Before=nss-user-lookup.target + +[Service] +Type=forking +PIDFile=/run/nslcd/nslcd.pid +ExecStart=/usr/sbin/nslcd + +[Install] +WantedBy=multi-user.target +RequiredBy=nss-user-lookup.target diff --git a/sys-auth/nss-pam-ldapd/files/nslcd-init-r3 b/sys-auth/nss-pam-ldapd/files/nslcd-init-r3 new file mode 100644 index 000000000000..513ad9af3fe1 --- /dev/null +++ b/sys-auth/nss-pam-ldapd/files/nslcd-init-r3 @@ -0,0 +1,28 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command=/usr/sbin/nslcd +pidfile=/run/nslcd/nslcd.pid +extra_commands="checkconfig" +cfg="/etc/nslcd.conf" + +depend() { + need net + use dns logger +} + +checkconfig() { + if [ ! -f "$cfg" ] ; then + eerror "Please create $cfg" + eerror "Example config: /usr/share/nss-ldapd/nslcd.conf" + return 1 + fi + return 0 +} + +start_pre() { + checkpath -q -d /run/nslcd -o nslcd:nslcd + checkconfig + return $? +} diff --git a/sys-auth/nss-pam-ldapd/files/pynslcd.initd-r2 b/sys-auth/nss-pam-ldapd/files/pynslcd.initd-r2 new file mode 100644 index 000000000000..21762ae5fd2b --- /dev/null +++ b/sys-auth/nss-pam-ldapd/files/pynslcd.initd-r2 @@ -0,0 +1,28 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command=/usr/sbin/pynslcd +pidfile=/run/nslcd/nslcd.pid +extra_commands="checkconfig" +cfg="/etc/nslcd.conf" + +depend() { + need net + use dns logger +} + +checkconfig() { + if [ ! -f "$cfg" ] ; then + eerror "Please create $cfg" + eerror "Example config: /usr/share/nss-ldapd/nslcd.conf" + return 1 + fi + return 0 +} + +start_pre() { + checkpath -q -d /run/nslcd -o nslcd:nslcd + checkconfig + return $? +} diff --git a/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.11-r2.ebuild b/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.11-r2.ebuild new file mode 100644 index 000000000000..53e23ca1d640 --- /dev/null +++ b/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.11-r2.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=(python2_7 python3_6) +inherit eutils prefix user python-r1 multilib multilib-minimal systemd s6 + +DESCRIPTION="NSS module for name lookups using LDAP" +HOMEPAGE="https://arthurdejong.org/nss-pam-ldapd/" +SRC_URI="https://arthurdejong.org/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug kerberos +pam pynslcd sasl test +utils" +RESTRICT="!test? ( test )" + +COMMON_DEP=" + net-nds/openldap[${MULTILIB_USEDEP}] + sasl? ( dev-libs/cyrus-sasl[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + sys-libs/pam[${MULTILIB_USEDEP}] + utils? ( ${PYTHON_DEPS} ) + pynslcd? ( + dev-python/python-ldap[${PYTHON_USEDEP}] + dev-python/python-daemon[${PYTHON_USEDEP}] + ) + !sys-auth/nss_ldap + !sys-auth/pam_ldap" +RDEPEND="${COMMON_DEP}" +DEPEND="${COMMON_DEP} + test? ( + ${PYTHON_DEPS} + dev-python/pylint[${PYTHON_USEDEP}] + ) + sys-devel/automake" + +REQUIRED_USE=" + utils? ( ${PYTHON_REQUIRED_USE} ) + test? ( ${PYTHON_REQUIRED_USE} pynslcd )" + +PATCHES=( + "${FILESDIR}"/${PN}-0.9.4-disable-py3-only-linters.patch + "${FILESDIR}"/${PN}-0.9.11-pynslcd-module-paths.patch +) + +pkg_setup() { + enewgroup nslcd + enewuser nslcd -1 -1 -1 nslcd +} + +src_prepare() { + cp pynslcd/pynslcd.py "${S}" || die "Copying pynslcd failed" + + default + use utils && python_setup + touch pynslcd/__init__.py || die "Could not create __init__.py for pynslcd" +} + +multilib_src_configure() { + local -a myconf + + myconf=( + --disable-utils + --enable-warnings + --with-ldap-lib=openldap + --with-ldap-conf-file=/etc/nslcd.conf + --with-nslcd-pidfile=/run/nslcd/nslcd.pid + --with-nslcd-socket=/run/nslcd/socket + $(usex x86-fbsd '--with-nss-flavour=' '--with-nss-flavour=' 'freebsd' 'glibc') + $(use_enable pynslcd) + $(use_enable debug) + $(use_enable kerberos) + $(use_enable pam) + $(use_enable sasl) + ) + + # nss libraries always go in /lib on Gentoo + if multilib_is_native_abi ; then + myconf+=("--with-pam-seclib-dir=${EPREFIX}/$(get_libdir)/security") + myconf+=("--libdir=${EPREFIX}/$(get_libdir)") + else + myconf+=("--with-pam-seclib-dir=/$(get_libdir)/security") + myconf+=("--libdir=/$(get_libdir)") + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_install_all() { + local script + + newinitd "${FILESDIR}"/nslcd-init-r3 nslcd + s6_install_service nslcd "${FILESDIR}"/nslcd-run-s6 + + insinto /usr/share/nss-pam-ldapd + doins "${WORKDIR}/${P}/nslcd.conf" + + fperms o-r /etc/nslcd.conf + + if use utils; then + python_moduleinto nslcd + python_foreach_impl python_domodule utils/*.py + + for script in chsh getent; do + python_foreach_impl python_newscript utils/${script}.py ${script}.ldap + done + fi + if use pynslcd; then + rm -rf "${D}"/usr/share/pynslcd + python_moduleinto pynslcd + python_foreach_impl python_domodule pynslcd/*.py + python_scriptinto /usr/sbin + python_newscript pynslcd.py pynslcd + newinitd "${FILESDIR}"/pynslcd.initd-r2 pynslcd + fi + + systemd_newtmpfilesd "${FILESDIR}"/nslcd-tmpfiles.conf nslcd.conf + systemd_newunit "${FILESDIR}"/nslcd-2.service nslcd.service +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + if use pynslcd; then + python_moduleinto pynslcd + python_foreach_impl python_domodule pynslcd/*.py + fi +} + +python_test() { + PYTHONPATH="${S}" emake check +} + +multilib_src_test() { + pushd "${BUILD_DIR}" + ln -s ../pynslcd/constants.py utils/constants.py + python_foreach_impl python_test + popd +} + +pkg_postinst() { + echo + elog "For this to work you must configure /etc/nslcd.conf" + elog "This configuration is similar to pam_ldap's /etc/ldap.conf" + echo + elog "In order to use nss-pam-ldapd, nslcd needs to be running. You can" + elog "start it like this:" + elog " # /etc/init.d/nslcd start" + echo + elog "You can add it to the default runlevel like so:" + elog " # rc-update add nslcd default" + elog + elog "If you have >=sys-apps/openrc-0.16.3, you can also use s6" + elog "to supervise this service." + elog "To do this, emerge sys-apps/s6 then add nslcd-s6" + elog "default runlevel instead of nslcd." + elog + elog "If you are upgrading, keep in mind that /etc/nss-ldapd.conf" + elog " is now named /etc/nslcd.conf" + echo +} |