3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/upstart-jobs/nscd.nix
Eelco Dolstra 554ae9908b * Some slightly hacky LDAP support. The problem is that Glibc has to
be able to find the LDAP NSS module, which is normally installed in
  Glibc's prefix (under /lib/libnss_ldap...).  Of course, we can't do
  that; it wouldn't be pure.  As a workaround, we simply add nss_ldap
  to the LD_LIBRARY_PATH of the nscd daemon, which every other program
  uses for lookups.  So we don't have to put nss_ldap in the
  LD_LIBRARY_PATH of every program.

svn path=/nixos/trunk/; revision=7684
2007-01-15 17:19:41 +00:00

34 lines
687 B
Nix

{glibc, pwdutils, nssModulesPath}:
{
name = "nscd";
job = "
description \"Name Service Cache Daemon\"
start on startup
stop on shutdown
env LD_LIBRARY_PATH=${nssModulesPath}
start script
if ! ${glibc}/bin/getent passwd nscd > /dev/null; then
${pwdutils}/sbin/useradd -g nogroup -d /var/empty -s /noshell \\
-c 'Name service cache daemon user' nscd
fi
mkdir -m 0755 -p /var/run/nscd
mkdir -m 0755 -p /var/db/nscd
rm -f /var/db/nscd/* # for testing
end script
# !!! -d turns on debug info which probably makes nscd slower
# 2>/dev/null is to make it shut up
respawn ${glibc}/sbin/nscd -f ${./nscd.conf} -d 2> /dev/null
";
}