services: nscd: Adjust activation snippet for /etc/resolv.conf symlinks.

Fixes <http://bugs.gnu.org/26809>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/services/base.scm (nscd-activation): Use 'lstat' instead of
'file-exists?'.
This commit is contained in:
Ludovic Courtès 2017-05-08 15:07:52 +02:00
parent ddce2d3aae
commit c298fb133a
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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))))))