~ruther/guix-local

dfe06f6e7f486eb42a2b71e9d0ae52dfe8e3bb26 — Ludovic Courtès 9 years ago d26e2b9
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.
1 files changed, 6 insertions(+), 8 deletions(-)

M gnu/system/mapped-devices.scm
M gnu/system/mapped-devices.scm => gnu/system/mapped-devices.scm +6 -8
@@ 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"