aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-11-02 22:44:17 +0100
committerLudovic Courtès <ludo@gnu.org>2015-11-02 22:49:04 +0100
commita70436183aeb6a861cc43e297b5a33b777dfe1b3 (patch)
tree76e8f5066423cedc7ed73b984b6c4c367493da67
parentbeca0807ebd85c367eb88fdce04d826b6901c5fe (diff)
downloadguix-a70436183aeb6a861cc43e297b5a33b777dfe1b3.tar
guix-a70436183aeb6a861cc43e297b5a33b777dfe1b3.tar.gz
guix system: Always build grub.cfg for 'init' and 'reconfigure'.
Fixes <http://bugs.gnu.org/21068>. Reported by Germano Gabbianelli <tyrion.mx@gmail.com> and Mark H Weaver <mhw@netris.org>. * guix/scripts/system.scm (perform-action): Always add GRUB.CFG to DRVS for 'init' and 'reconfigure'. Co-authored-by: Mark H Weaver <mhw@netris.org>
-rw-r--r--guix/scripts/system.scm10
1 files changed, 8 insertions, 2 deletions
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 7a8a751df9..0d54d453db 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -447,8 +447,14 @@ building anything."
(if (eq? 'init action)
'()
(previous-grub-entries)))))
- (drvs -> (if (and grub? (memq action '(init reconfigure)))
- (list sys grub grub.cfg)
+
+ ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if
+ ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC
+ ;; root. See <http://bugs.gnu.org/21068>.
+ (drvs -> (if (memq action '(init reconfigure))
+ (if grub?
+ (list sys grub.cfg grub)
+ (list sys grub.cfg))
(list sys)))
(% (if derivations-only?
(return (for-each (compose println derivation-file-name)