summary refs log tree commit diff
path: root/gnu/services/base.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-11-18 10:58:58 +0100
committerLudovic Courtès <ludo@gnu.org>2020-11-18 11:13:49 +0100
commit37b98e8cca3244067071bc6e382b06861457a459 (patch)
treec85c955f098254a2770372f0471b4f2a1c88f3cf /gnu/services/base.scm
parent5bc19300ee82093f9e20760dc5e305e12df12dd0 (diff)
downloadguix-37b98e8cca3244067071bc6e382b06861457a459.tar.gz
services: shepherd: Map all the invalid store characters to dash.
Fixes a regression introduced in
977eb5d023cfdf8e336f1896480eea9cef5c04e9 whereby file system services
would now have a different name.

* gnu/services/base.scm (file-system->shepherd-service-name): Revert
changes introduced in 977eb5d023cfdf8e336f1896480eea9cef5c04e9.
* gnu/services/shepherd.scm (%store-characters): New variable
(shepherd-service-file-name): Map all the characters outside
%STORE-CHARACTERS to #\-.
Diffstat (limited to 'gnu/services/base.scm')
-rw-r--r--gnu/services/base.scm15
1 files changed, 2 insertions, 13 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 55d8c91cb5..e1892f3e48 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -291,19 +291,8 @@ 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."
-  (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)))
+  (symbol-append 'file-system-
+                 (string->symbol (file-system-mount-point file-system))))
 
 (define (mapped-device->shepherd-service-name md)
   "Return the symbol that denotes the shepherd service of MD, a <mapped-device>."