From 60991944ac0b005450a086ad11b17895b0ed13e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20F=C3=B6rster?= Date: Sat, 30 Aug 2014 23:03:17 +0200 Subject: [PATCH] [sys-auth/nss-pam-ldapd] initial multilib "conversion" --- sys-auth/nss-pam-ldapd/Manifest | 1 + sys-auth/nss-pam-ldapd/files/nslcd-init-r1 | 37 ++++++++ sys-auth/nss-pam-ldapd/files/nslcd.rc | 35 +++++++ .../nss-pam-ldapd/nss-pam-ldapd-0.9.4.ebuild | 94 +++++++++++++++++++ 4 files changed, 167 insertions(+) create mode 100644 sys-auth/nss-pam-ldapd/Manifest create mode 100644 sys-auth/nss-pam-ldapd/files/nslcd-init-r1 create mode 100644 sys-auth/nss-pam-ldapd/files/nslcd.rc create mode 100644 sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.4.ebuild diff --git a/sys-auth/nss-pam-ldapd/Manifest b/sys-auth/nss-pam-ldapd/Manifest new file mode 100644 index 0000000..d787804 --- /dev/null +++ b/sys-auth/nss-pam-ldapd/Manifest @@ -0,0 +1 @@ +DIST nss-pam-ldapd-0.9.4.tar.gz 746269 SHA256 fd2e3e0935acfd3d2b13682962f51d28d5855472e690d787e36a476fa40c88e6 SHA512 ca336d034f3a9e135cb805b4a7cfcca38db22260268f6e0da8f72e1357b4f4da186b9abca4b3a36ec046172fae92666bccd966a49e19b1e2810442b7d439ac34 WHIRLPOOL ef5937b6e4aa90fd1a1c498688af627bad47c61ba0b6c33956f3d74029ae0866a72816777b7d3371e5bc6e84ad5acd2138d7ef2338a24e84b64430180dd69eb0 diff --git a/sys-auth/nss-pam-ldapd/files/nslcd-init-r1 b/sys-auth/nss-pam-ldapd/files/nslcd-init-r1 new file mode 100644 index 0000000..14adc4e --- /dev/null +++ b/sys-auth/nss-pam-ldapd/files/nslcd-init-r1 @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss-pam-ldapd/files/nslcd-init-r1,v 1.1 2014/05/26 12:36:51 jlec Exp $ + +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() { + checkpath -q -d /run/nslcd -o nslcd:nslcd + checkconfig || return $? + + ebegin "Starting nslcd" + start-stop-daemon --start --pidfile /var/run/nslcd/nslcd.pid \ + --exec /usr/sbin/nslcd + eend $? "Failed to start nslcd" +} + +stop() { + ebegin "Stopping nslcd" + start-stop-daemon --stop --pidfile /var/run/nslcd/nslcd.pid + eend $? "Failed to stop nslcd" +} diff --git a/sys-auth/nss-pam-ldapd/files/nslcd.rc b/sys-auth/nss-pam-ldapd/files/nslcd.rc new file mode 100644 index 0000000..e02d8c0 --- /dev/null +++ b/sys-auth/nss-pam-ldapd/files/nslcd.rc @@ -0,0 +1,35 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss-pam-ldapd/files/nslcd.rc,v 1.1 2012/07/24 07:16:14 prometheanfire Exp $ + +opts="checkconfig" + +depend() { + need net + use dns logger +} + +checkconfig() { + if [ ! -f /etc/nss-ldapd.conf ] ; then + eerror "Please create /etc/nss-ldapd.conf" + eerror "Example config: /usr/share/nss-ldapd/nss-ldapd.conf" + return 1 + fi + return 0 +} + +start() { + checkconfig || return $? + + ebegin "Starting nslcd" + start-stop-daemon --start --pidfile /var/run/nslcd/nslcd.pid \ + --exec /usr/sbin/nslcd + eend $? "Failed to start nslcd" +} + +stop() { + ebegin "Stopping nslcd" + start-stop-daemon --stop --pidfile /var/run/nslcd/nslcd.pid + eend $? "Failed to stop nslcd" +} diff --git a/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.4.ebuild b/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.4.ebuild new file mode 100644 index 0000000..eede806 --- /dev/null +++ b/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.4.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss-pam-ldapd/nss-pam-ldapd-0.9.4.ebuild,v 1.1 2014/06/15 03:51:12 prometheanfire Exp $ + +EAPI=5 + +inherit eutils multilib multilib-minimal user + +DESCRIPTION="NSS module for name lookups using LDAP" +HOMEPAGE="http://arthurdejong.org/nss-pam-ldapd/" +SRC_URI="http://arthurdejong.org/nss-pam-ldapd/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="" +IUSE="debug kerberos sasl +pam" + +DEPEND=" + net-nds/openldap[${MULTILIB_USEDEP}] + sasl? ( dev-libs/cyrus-sasl[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + pam? ( virtual/pam[${MULTILIB_USEDEP}] ) + !sys-auth/nss_ldap + !sys-auth/pam_ldap" +RDEPEND="${DEPEND}" + +pkg_setup() { + enewgroup nslcd + enewuser nslcd -1 -1 -1 nslcd +} + +src_prepare() { + # support user patches + epatch_user + + multilib_copy_sources +} + +multilib_src_configure() { + # nss libraries always go in /lib on Gentoo + myconf=" + --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 + --with-pam-seclib-dir=/$(get_libdir)/security + --libdir=/$(get_libdir) + $(use_enable debug) + $(use_enable kerberos) + $(use_enable pam) + $(use_enable sasl)" + + if use x86-fbsd; then + myconf+=" --with-nss-flavour=freebsd" + else + myconf+=" --with-nss-flavour=glibc" + fi + + econf ${myconf} +} + +multilib_src_install() { + default + + # for socket and pid file (not needed bug 452992) + #keepdir /run/nslcd + + # init script + newinitd "${FILESDIR}"/nslcd-init-r1 nslcd + + # make an example copy + insinto /usr/share/nss-pam-ldapd + doins nslcd.conf + + fperms o-r /etc/nslcd.conf +} + +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 are upgrading, keep in mind that /etc/nss-ldapd.conf" + elog " is now named /etc/nslcd.conf" + echo +}