Subject: bug#30021: system build: unable to parse multi-line device-mapping

From: Vagrant Cascadian <[email-masked]>
Date: Sun, 07 Jan 2018 19:24:27 -0800

After several weeks of not using a machine, and updating guix to

guix (GNU Guix) c04ffadbed7412545555b8be6b78f23eed150d26

Running "guix build system /etc/config.scm" resulted in:

  guix system: error: failed to load '/etc/config.scm':
  /etc/config.scm:23:9: /etc/config.scm:23:9: In procedure allocate-struct: Wrong type argument in\
  position 2: 3

This roughly corresponded to my mapped device section in
/etc/config.scm:

  (mapped-devices
   (list (mapped-device
          (source (uuid "c106e43e-0479-4135-a1a8-b5221312bf74"))
          (target "cryptic")
          (type luks-device-mapping))))

Moving it all into a single line worked around the issue, but is a good
deal harder to read:

  (mapped-devices (list (mapped-device (source (uuid "c106e43e-0479-4135-a1a8-b5221312bf74")) (target "cryptic") (type luks-device-mapping))))

My guess is it has something to do with some commits relating to
validating mapped devices:

  42ff7d3be642d66ba567f64882a1f2301b1a7bd9
  mapped-devices: 'luks-device-mapping' checks its source device.

  4ca90ff5976434a2b6e758df38df54387ae70c1b 
  mapped-devices: Add 'location' and 'check' fields.

Hope that helps!

live well,
  vagrant