From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: bug#27231: regression?: grub-configuration for grub-efi does not return a bootloader-configuration Date: Sun, 04 Jun 2017 16:38:11 +0300 Message-ID: <87shjfq3ek.fsf@gmail.com> References: <20170604104701.GA4279@floriannotebook> 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]:45799) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dHVkI-0002gn-QE for bug-guix@gnu.org; Sun, 04 Jun 2017 09:39:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dHVkF-0007rs-Nl for bug-guix@gnu.org; Sun, 04 Jun 2017 09:39:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:52111) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dHVkF-0007rY-Ig for bug-guix@gnu.org; Sun, 04 Jun 2017 09:39:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dHVkE-0008IM-GX for bug-guix@gnu.org; Sun, 04 Jun 2017 09:39:03 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20170604104701.GA4279@floriannotebook> (pelzflorian@pelzflorian.de's message of "Sun, 4 Jun 2017 12:47:02 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: "pelzflorian (Florian Pelz)" Cc: 27231@debbugs.gnu.org pelzflorian (Florian Pelz) (2017-06-04 12:47 +0200) wrote: > Hello, > > My GuixSD configuration (see attachment) for UEFI got broken some > three weeks ago but I=E2=80=99ve only now caught up with my e-mail and = =E2=80=9Cfixed=E2=80=9D > it. > > root@floriannotebook ~# guix system reconfigure /home/florian/keep/guixsd= -asus.scm > Backtrace: > 9 (apply-smob/1 #) > In ice-9/boot-9.scm: > 713:2 8 (call-with-prompt _ _ #) > In ice-9/eval.scm: > 619:8 7 (_ #(#(#))) > In ice-9/boot-9.scm: > 2316:4 6 (save-module-excursion _) > 3823:12 5 (_) > In guix/ui.scm: > 1311:8 4 (run-guix-command _ . _) > In ice-9/boot-9.scm: > 837:9 3 (catch _ _ # =E2=80=A6) > 837:9 2 (catch _ _ # =E2=80=A6) > In guix/scripts/system.scm: > 1006:8 1 (_) > 885:27 0 (process-action _ _ _) > > guix/scripts/system.scm:885:27: In procedure process-action: > guix/scripts/system.scm:885:27: In procedure bootloader-configuration-dev= ice: Wrong type argument: #< grub: # device: "/dev/sda" menu-entri= es: () default-entry: 0 timeout: 5 theme: #< images: (#< aspect-ratio: 4/3 file: #< base: # url: "git://git.savannah.gnu.org/guix/guix-artwork.git" commit: "6998d3= 0" recursive?: #f> gjomvsacge5nz76kqiyzbpiin32l7nn672voskuo7ahz3za56jga () = 3a4d300> suffix: ("/grub/GuixSD-fully-black-4-3.svg")>>) color-normal: ((fg= . light-gray) (bg . black)) color-highlight: ((fg . yellow) (bg . black))>> Oops, Guix breaks backward compatibility sometimes :-) This is a limitation of 'grub-configuration' macro: that backtrace happened because you have 'grub' field *not* in the first place of your 'grub-configuration'. > I =E2=80=98guix pull=E2=80=99ed before reconfiguring. > > I used this: > > (bootloader (grub-configuration (device "/dev/sda") > (grub grub-efi))) Note that this will work if you put (grub grub-efi) in the first place: (grub-configuration (grub grub-efi) (device "/dev/sda")) > Then =E2=80=98guix system reconfigure /home/florian/keep/guixsd-asus.scm= =E2=80=99 kept > failing. Debugging by (load)ing .guix-real in the Guile REPL and using > breakpoints showed me that this was not a valid > (bootloader-configuration?). > > Replacing the above by > > (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) > (device "/dev/sda"))) > > fixed it today and I can =E2=80=98guix system reconfigure=E2=80=99 again. You figured it out! I would stick to this variant instead of using 'grub-configuration' wrapper, but that's me :-) > I don=E2=80=99t know why this broke and if it breaks for others too > (apparently noone has filed a bug yet), which is why I=E2=80=99m filing a= bug > here. I was affected as well, but I didn't consider it a bug, just a change in the API. In the past, I had: (grub-configuration (grub my-grub) (device "/dev/sda") (theme (grub-theme)))) And I replaced it with: (bootloader-configuration (bootloader (bootloader (inherit grub-bootloader) (name 'fake-grub) (package my-grub))) (device "/dev/sda") (theme (grub-theme))) --=20 Alex