summary refs log tree commit diff
path: root/gnu/services/base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services/base.scm')
-rw-r--r--gnu/services/base.scm21
1 files changed, 19 insertions, 2 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 416bc02a96..e6341e3cd9 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -106,6 +106,12 @@
             agetty-service-type
 
             mingetty-configuration
+            mingetty-configuration-tty
+            mingetty-configuration-auto-login
+            mingetty-configuration-login-program
+            mingetty-configuration-login-pause?
+            mingetty-configuration-clear-on-logout?
+            mingetty-configuration-mingetty
             mingetty-configuration?
             mingetty-service
             mingetty-service-type
@@ -285,8 +291,19 @@ This service must be the root of the service dependency graph so that its
 (define (file-system->shepherd-service-name file-system)
   "Return the symbol that denotes the service mounting and unmounting
 FILE-SYSTEM."
-  (symbol-append 'file-system-
-                 (string->symbol (file-system-mount-point file-system))))
+  (define valid-characters
+    ;; Valid store characters; see 'checkStoreName' in the daemon.
+    (string->char-set
+     "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+-._?="))
+
+  (define mount-point
+    (string-map (lambda (chr)
+                  (if (char-set-contains? valid-characters chr)
+                      chr
+                      #\-))
+                (file-system-mount-point file-system)))
+
+  (symbol-append 'file-system- (string->symbol mount-point)))
 
 (define (mapped-device->shepherd-service-name md)
   "Return the symbol that denotes the shepherd service of MD, a <mapped-device>."