From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37235) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gNaZh-0007Ef-Kh for guix-patches@gnu.org; Fri, 16 Nov 2018 04:38:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gNaZg-0003BZ-Bn for guix-patches@gnu.org; Fri, 16 Nov 2018 04:38:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:50512) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gNaZf-0003A7-Ol for guix-patches@gnu.org; Fri, 16 Nov 2018 04:38:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gNaZf-00016U-Lx for guix-patches@gnu.org; Fri, 16 Nov 2018 04:38:03 -0500 Subject: [bug#33405] [PATCH 10/10] guix system: Clarify 'perform-action'. Resent-Message-ID: From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Fri, 16 Nov 2018 10:36:24 +0100 Message-Id: <20181116093624.4820-10-ludo@gnu.org> In-Reply-To: <20181116093624.4820-1-ludo@gnu.org> References: <20181116093624.4820-1-ludo@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 33405@debbugs.gnu.org * guix/scripts/system.scm (perform-action): Move non-monadic local variables outside the 'mlet' form. --- guix/scripts/system.scm | 42 +++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 6f00f12509..6cf3704d88 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -833,6 +833,25 @@ static checks." (define println (cut format #t "~a~%" <>)) + (define menu-entries + (if (eq? 'init action) + '() + (map boot-parameters->menu-entry (profile-boot-parameters)))) + + (define bootloader + (bootloader-configuration-bootloader (operating-system-bootloader os))) + + (define bootcfg + (and (not (eq? 'container action)) + (operating-system-bootcfg os menu-entries))) + + (define bootloader-script + (let ((installer (bootloader-installer bootloader)) + (target (or target "/"))) + (bootloader-installer-script installer + (bootloader-package bootloader) + bootloader-target target))) + (when (eq? action 'reconfigure) (maybe-suggest-running-guix-pull)) @@ -852,23 +871,6 @@ static checks." #:image-size image-size #:full-boot? full-boot? #:mappings mappings)) - (bootloader -> (bootloader-configuration-bootloader - (operating-system-bootloader os))) - (bootcfg -> (and (not (eq? 'container action)) - (operating-system-bootcfg - os - (if (eq? 'init action) - '() - (map boot-parameters->menu-entry - (profile-boot-parameters)))))) - (bootcfg-file -> (bootloader-configuration-file bootloader)) - (bootloader-installer - -> - (let ((installer (bootloader-installer bootloader)) - (target (or target "/"))) - (bootloader-installer-script installer - (bootloader-package bootloader) - bootloader-target target))) ;; For 'init' and 'reconfigure', always build BOOTCFG, even if ;; --no-bootloader is passed, because we then use it as a GC root. @@ -876,7 +878,7 @@ static checks." (drvs (mapm %store-monad lower-object (if (memq action '(init reconfigure)) (if install-bootloader? - (list sys bootcfg bootloader-installer) + (list sys bootcfg bootloader-script) (list sys bootcfg)) (list sys)))) (% (if derivations-only? @@ -887,7 +889,7 @@ static checks." (if (or dry-run? derivations-only?) (return #f) - (begin + (let ((bootcfg-file (bootloader-configuration-file bootloader))) (for-each (compose println derivation->output-path) drvs) @@ -896,7 +898,7 @@ static checks." (mbegin %store-monad (switch-to-system os) (mwhen install-bootloader? - (install-bootloader bootloader-installer + (install-bootloader bootloader-script #:bootcfg bootcfg #:bootcfg-file bootcfg-file #:target "/")))) -- 2.19.1