diff options
Diffstat (limited to 'meta-openstack/recipes-support/nss-pam-ldapd')
-rw-r--r-- | meta-openstack/recipes-support/nss-pam-ldapd/files/nslcd.init | 84 | ||||
-rw-r--r-- | meta-openstack/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.4.bb | 52 |
2 files changed, 136 insertions, 0 deletions
diff --git a/meta-openstack/recipes-support/nss-pam-ldapd/files/nslcd.init b/meta-openstack/recipes-support/nss-pam-ldapd/files/nslcd.init new file mode 100644 index 00000000..a27b6e00 --- /dev/null +++ b/meta-openstack/recipes-support/nss-pam-ldapd/files/nslcd.init @@ -0,0 +1,84 @@ +#!/bin/sh + +set -x + +NAME="nslcd" +CONFIG="/etc/nslcd.conf" +DAEMON="/usr/sbin/nslcd" +DESC="LDAP connection daemon" +STATEDIR="/var/run/$NAME" +PIDFILE="$STATEDIR/$NAME.pid" + +start() +{ + if [ -e $PIDFILE ]; then + PIDDIR=/proc/$(cat $PIDFILE) + if [ -d ${PIDDIR} ]; then + echo "$DESC already running." + exit 1 + else + echo "Removing stale PID file $PIDFILE" + rm -f $PIDFILE + fi + fi + + echo -n "Starting $DESC..." + + start-stop-daemon --start --oknodo \ + --pidfile $PIDFILE --startas $DAEMON + + if [ $? -eq 0 ]; then + echo "done." + else + echo "failed." + fi +} + +stop() +{ + echo -n "Stopping $DESC..." + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --name $NAME + if [ $? -eq 0 ]; then + echo "done." + else + echo "failed." + fi + rm -f $PIDFILE +} + +status() +{ + if [ -f $PIDFILE ]; then + if $DAEMON --check + then + echo "$DESC is running (pid `cat $PIDFILE`" + else + echo "$DESC stopped" + fi + else + echo "$DESC stopped" + fi +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|force-reload|reload) + stop + start + ;; + status) + status + ;; + *) + echo "Usage: $0 {start|stop|force-reload|restart|reload|status}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openstack/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.4.bb b/meta-openstack/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.4.bb new file mode 100644 index 00000000..d7aaaf12 --- /dev/null +++ b/meta-openstack/recipes-support/nss-pam-ldapd/nss-pam-ldapd_0.9.4.bb @@ -0,0 +1,52 @@ +SUMMARY = "NSS and PAM module for using LDAP as a naming service" +DESCRIPTION = "\ + daemon for NSS and PAM lookups using LDAP \ + This package provides a daemon for retrieving user accounts and similar \ + system information from LDAP. It is used by the libnss-ldapd and \ + libpam-ldapd packages but is not very useful by itself. \ + " + +HOMEPAGE = "http://arthurdejong.org/nss-pam-ldapd/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +SECTION = "base" + +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI = "\ + http://arthurdejong.org/nss-pam-ldapd/${PN}-${PV}.tar.gz \ + file://nslcd.init\ + " + +inherit autotools + + +SRC_URI[md5sum] = "0d74202700efdde3b6e551bfff49c132" +SRC_URI[sha256sum] = "fd2e3e0935acfd3d2b13682962f51d28d5855472e690d787e36a476fa40c88e6" + +DEPENDS += "libpam openldap" + +EXTRA_OECONF = "\ + --disable-pynslcd \ + --libdir=${base_libdir} \ + --with-pam-seclib-dir=${base_libdir}/security \ + " + +FILES_${PN} += "${base_libdir}/security ${datadir}" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" + +LDAP_DN ?= "dc=my-domain,dc=com" + +do_install_append() { + install -D -m 0755 ${WORKDIR}/nslcd.init ${D}${sysconfdir}/init.d/nslcd + + sed -i -e 's/^uid nslcd/# uid nslcd/;' ${D}${sysconfdir}/nslcd.conf + sed -i -e 's/^gid nslcd/# gid nslcd/;' ${D}${sysconfdir}/nslcd.conf + sed -i -e 's/^base dc=example,dc=com/base ${LDAP_DN}/;' ${D}${sysconfdir}/nslcd.conf +} + +inherit update-rc.d + +INITSCRIPT_NAME = "nslcd" +INITSCRIPT_PARAMS = "defaults" |