From c298fb133acbdc17e05a79c10ab9a9e214368264 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 8 May 2017 15:07:52 +0200 Subject: services: nscd: Adjust activation snippet for /etc/resolv.conf symlinks. Fixes . Reported by Mark H Weaver . * gnu/services/base.scm (nscd-activation): Use 'lstat' instead of 'file-exists?'. --- gnu/services/base.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index a64faa0d18..c244174fd3 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1152,8 +1152,10 @@ (define nscd-activation (mkdir-p "/var/db/nscd") ;for the persistent cache ;; In libc 2.25 nscd uses inotify to watch /etc/resolv.conf, but only if - ;; that file exists when it is started. Thus create it here. - (unless (file-exists? "/etc/resolv.conf") + ;; that file exists when it is started. Thus create it here. Note: on + ;; some systems, such as when NetworkManager is used, /etc/resolv.conf + ;; is a symlink, hence 'lstat'. + (unless (false-if-exception (lstat "/etc/resolv.conf")) (call-with-output-file "/etc/resolv.conf" (lambda (port) (display "# This is a placeholder.\n" port)))))) -- cgit v1.2.3