aboutsummaryrefslogtreecommitdiff
path: root/gnu/services.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-01-19 23:42:20 +0100
committerLudovic Courtès <ludo@gnu.org>2017-01-19 23:45:11 +0100
commitcaa7816673ba110d2192c2f4a8b985a475aa08a2 (patch)
treebd0ca671c45e34091a687610b0b2f65f48c3c7d9 /gnu/services.scm
parent150309726f221c9b982e594466d35f5b895391d5 (diff)
downloadguix-caa7816673ba110d2192c2f4a8b985a475aa08a2.tar
guix-caa7816673ba110d2192c2f4a8b985a475aa08a2.tar.gz
services: Create /var/run/utmpx upon activation.
This fixes a bug whereby /var/run/utmpx would never be created, and thus accounting information would be missing. * gnu/services.scm (activation-script): Create /var/run/utmpx. * gnu/tests/base.scm (run-basic-test)["utmpx entry"]: New test.
Diffstat (limited to 'gnu/services.scm')
-rw-r--r--gnu/services.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/gnu/services.scm b/gnu/services.scm
index 4020fd37e0..f72d4d5785 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -340,6 +340,11 @@ ACTIVATION-SCRIPT-TYPE."
(activate-/bin/sh
(string-append #$(canonical-package bash) "/bin/sh"))
+ ;; Make sure the user accounting database exists. If it
+ ;; does not exist, 'setutxent' does not create it and
+ ;; thus there is no accounting at all.
+ (close-port (open-file "/var/run/utmpx" "a0"))
+
;; Set up /run/current-system. Among other things this
;; sets up locales, which the activation snippets
;; executed below may expect.