From 289a89801afaeee0522777078258ce103d0452e8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Apr 2017 14:23:23 +0200 Subject: gnu: nss-pam-ldapd: Look for nslcd.conf in global /etc/ directory. * gnu/packages/openldap.scm (nss-pam-ldapd)[arguments]: Set "--with-ldap-conf-file" to look for global configuration file; add build phase to install example configuration file in the package output directory. --- gnu/packages/openldap.scm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index b67510647d..61f7a9469f 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -94,8 +94,23 @@ `(#:configure-flags (list (string-append "--with-pam-seclib-dir=" (assoc-ref %outputs "out") "/lib/security/") - (string-append "--with-ldap-conf-file=" - (assoc-ref %outputs "out") "/etc/nslcd.conf")))) + ;; nslcd cannot be convinced to look at run-time for its + ;; configuration file at a location that differs from the + ;; configured location. + "--with-ldap-conf-file=/etc/nslcd.conf") + #:phases + (modify-phases %standard-phases + ;; This is necessary because we tell nslcd with configure flags that + ;; it should look for its configuration file at /etc/nslcd.conf. The + ;; build system tries to install a default configuration to that very + ;; location. + (add-after 'unpack 'override-nslcd.conf-install-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.in" + (("\\$\\(DESTDIR\\)\\$\\(NSLCD_CONF_PATH\\)") + (string-append (assoc-ref outputs "out") + "/etc/nslcd.conf.example"))) + #t))))) (inputs `(("linux-pam" ,linux-pam) ("openldap" ,openldap) -- cgit 1.4.1