From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: guixsd install questions Date: Sat, 01 Jul 2017 16:05:40 +0200 Message-ID: <87mv8odzgr.fsf@gnu.org> References: <87tw8kkisf.fsf@santanas.co.za> <878tpu22mu.fsf@gnu.org> <87d19l9p58.fsf@santanas.co.za> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dRJ1u-0000Cy-Jm for help-guix@gnu.org; Sat, 01 Jul 2017 10:05:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dRJ1r-0003Kg-CO for help-guix@gnu.org; Sat, 01 Jul 2017 10:05:46 -0400 In-Reply-To: <87d19l9p58.fsf@santanas.co.za> (Divan Santana's message of "Fri, 30 Jun 2017 22:49:55 +0200") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Divan Santana Cc: help-guix Divan Santana skribis: > Ludovic Court=C3=A8s writes: [...] >> My guess is that you=E2=80=99d need to explicitly mark one of the mapped= device >> as depending on the other; this cannot be guessed. >> >> If you run =E2=80=9Cguix system shepherd-graph=E2=80=9D on your config y= ou=E2=80=99ll probably >> see that there=E2=80=99s no such dependency. >> >> Currently dependencies among mapped devices cannot be expressed, but >> that=E2=80=99s easy to fix (by providing a =E2=80=98dependencies=E2=80= =99 field as in >> =E2=80=98file-system=E2=80=99.) > > So I've tried altering the code and asked on IRC a while back too. I > tried some of the suggestions that were given but none of them worked. > > Would you be able to "spell out" for someone clueless what the code > should look like to express the dependencies. > > Currently the code looks like this > > (bootloader (grub-configuration (device "/dev/vdb"))) > (mapped-devices (list > (mapped-device > (source (list "/dev/vdb1" "/dev/vdc1")) > (target "/dev/md0") > (type raid-device-mapping)) > (mapped-device > (source (uuid "1c0f1601-97f4-4a3d-9528-cd76130ff919")) > (target "crypt") > (type luks-device-mapping)))) > (file-systems (cons (file-system > (device "/dev/mapper/crypt") > (title 'device) > (mount-point "/") > (type "ext4")) > %base-file-systems)) You can have your file system depend on the two mapped devices like this: (file-systems (cons (file-system (device "/dev/mapper/crypt") (title 'device) (mount-point "/") (type "ext4") (dependencies mapped-devices)) %base-file-systems)) What *cannot* be expressed yet is dependencies among mapped devices. For that we need to extend the record with a =E2=80=98dependencies=E2=80=99 field like does. You=E2=80=99re welcome to start working on it if you feel like it (and I=E2= =80=99d be happy to help!) and/or submit it to bug-guix@gnu.org. I hope this is a bit clearer now! Ludo=E2=80=99.