summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-08-02 12:25:03 +0200
committerLudovic Courtès <ludo@gnu.org>2016-08-02 13:53:25 +0200
commitdfe06f6e7f486eb42a2b71e9d0ae52dfe8e3bb26 (patch)
treef4eb8106829411fdc426b2cd8a109c0af2788916 /gnu
parentd26e2b9f306a1170d46f7c860c81840d9d600161 (diff)
downloadguix-dfe06f6e7f486eb42a2b71e9d0ae52dfe8e3bb26.tar.gz
mapped-devices: Do not always use (gnu build file-systems).
Fixes <http://bugs.gnu.org/24129>.
Reported by myglc2 <myglc2@gmail.com>.

* gnu/system/mapped-devices.scm (device-mapping-service-type): Remove
'modules' field from 'shepherd-service' form.
(open-luks-device): Add 'use-modules' form.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/system/mapped-devices.scm14
1 files changed, 6 insertions, 8 deletions
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index d0a9f0288f..1cfd649278 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -81,14 +81,7 @@
        (documentation "Map a device node using Linux's device mapper.")
        (start #~(lambda () #$(open source target)))
        (stop #~(lambda _ (not #$(close source target))))
-       (respawn? #f)
-
-       ;; Add the modules needed by LUKS-DEVICE-MAPPING.
-       ;; FIXME: This info should be propagated via gexps.
-       (modules `((rnrs bytevectors)              ;bytevector?
-                  ((gnu build file-systems)
-                   #:select (find-partition-by-luks-uuid))
-                  ,@%default-modules)))))))
+       (respawn? #f))))))
 
 (define (device-mapping-service mapped-device)
   "Return a service that sets up @var{mapped-device}."
@@ -105,6 +98,11 @@
   (with-imported-modules '((gnu build file-systems)
                            (guix build bournish))
     #~(let ((source #$source))
+        ;; XXX: 'use-modules' should be at the top level.
+        (use-modules (rnrs bytevectors)           ;bytevector?
+                     ((gnu build file-systems)
+                      #:select (find-partition-by-luks-uuid)))
+
         (zero? (system* (string-append #$cryptsetup "/sbin/cryptsetup")
                         "open" "--type" "luks"