M gnu/system/dmd.scm => gnu/system/dmd.scm +21 -0
@@ 21,6 21,8 @@
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix records)
+ #:use-module ((gnu packages base)
+ #:select (glibc-final))
#:use-module ((gnu packages system)
#:select (mingetty inetutils))
#:use-module ((gnu packages package-management)
@@ 39,6 41,7 @@
host-name-service
syslog-service
mingetty-service
+ nscd-service
guix-service
static-networking-service
@@ 87,6 90,24 @@
(start `(make-forkexec-constructor ,mingetty-bin "--noclear" ,tty))
(inputs `(("mingetty" ,mingetty))))))
+(define* (nscd-service store
+ #:key (glibc glibc-final))
+ "Return a service that runs libc's name service cache daemon (nscd)."
+ (let ((nscd (string-append (package-output store glibc) "/sbin/nscd")))
+ (service
+ (provision '(nscd))
+ (start `(make-forkexec-constructor ,nscd "-f" "/dev/null"))
+
+ ;; XXX: Local copy of 'make-kill-destructor' because the one upstream
+ ;; uses the broken 'opt-lambda' macro.
+ (stop `(lambda* (#:optional (signal SIGTERM))
+ (lambda (pid . args)
+ (kill pid signal)
+ #f)))
+
+ (respawn? #f)
+ (inputs `(("glibc" ,glibc))))))
+
(define (syslog-service store)
"Return a service that runs 'syslogd' with reasonable default settings."
M gnu/system/vm.scm => gnu/system/vm.scm +3 -2
@@ 456,6 456,7 @@ Happy birthday, GNU! http://www.gnu.org/gnu30
(mingetty-service store "tty6")
(syslog-service store)
(guix-service store #:guix guix-0.4)
+ (nscd-service store)
;; QEMU networking settings.
(static-networking-service store "eth0" "10.0.2.10")))
@@ 517,8 518,8 @@ You can log in as 'root' with no password.
"))
(populate `((directory "/etc")
- (directory "/var/log")
- (directory "/var/run")
+ (directory "/var/log") ; for dmd
+ (directory "/var/run/nscd")
("/etc/shadow" -> ,shadow)
("/etc/passwd" -> ,passwd)
("/etc/login.defs" -> "/dev/null")