summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2017-02-23 08:20:57 +0000
committerLudovic Courtès <ludo@gnu.org>2017-03-10 14:48:06 +0100
commitfe2b6434f02c8abb26aebb59c4e0d0ccacb4fc90 (patch)
tree1c70c0ce38394a6f8c13ded6d03d6a64afc5a118
parent82ccc499f7262982beb2da9827d5706967a334f0 (diff)
downloadguix-fe2b6434f02c8abb26aebb59c4e0d0ccacb4fc90.tar.gz
services: Create /var/log upon activation.
When launching a container created with guix system container, the
attempt to create /var/log/wtmp would fail, as /var/log did not exist.

* gnu/services.scm (activation-script): Create /var/log

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/services.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/gnu/services.scm b/gnu/services.scm
index 6ac4f1322d..6c88f2621b 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -334,9 +334,11 @@ ACTIVATION-SCRIPT-TYPE."
   (mlet* %store-monad ((actions (service-activations)))
     (gexp->file "activate"
                 (with-imported-modules (source-module-closure
-                                        '((gnu build activation)))
+                                        '((gnu build activation)
+                                          (guix build utils)))
                   #~(begin
-                      (use-modules (gnu build activation))
+                      (use-modules (gnu build activation)
+                                   (guix build utils))
 
                       ;; Make sure the user accounting database exists.  If it
                       ;; does not exist, 'setutxent' does not create it and
@@ -345,6 +347,7 @@ ACTIVATION-SCRIPT-TYPE."
 
                       ;; Same for 'wtmp', which is populated by mingetty et
                       ;; al.
+                      (mkdir-p "/var/log")
                       (close-port (open-file "/var/log/wtmp" "a0"))
 
                       ;; Set up /run/current-system.  Among other things this