[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#69343] [PATCH v4 10/11] Split generation->boot-parameters out of pr
From: |
Lilah Tascheter |
Subject: |
[bug#69343] [PATCH v4 10/11] Split generation->boot-parameters out of profile->boot-alternatives. |
Date: |
Thu, 19 Sep 2024 23:16:04 -0500 |
From: Felix Lechner <felix.lechner@lease-up.com>
* guix/scripts/system.scm
(profile->boot-alternatives)[generation->boot-parameters]: Move to...
(generation->boot-parameters): ...here.
(reinstall-bootloader): Use procedure above.
Change-Id: I51ef1a4fa8fd18104d28a6a845707d7dedde3782
---
guix/scripts/system.scm | 28 ++++++++++++++++------------
1 file changed, 16 insertions(+), 12 deletions(-)
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index a4dd7a8054..0c69f6d90b 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -328,22 +328,27 @@ (define-syntax-rule (unless-file-not-found exp)
#f
(apply throw args)))))
+(define (generation->boot-parameters profile number)
+ "Return the 'boot-parameters' for the generation of PROFILE specified
+by NUMBER."
+ (unless-file-not-found
+ (let* ((system (generation-file-name profile number))
+ (params (read-boot-parameters-file system))
+ (epoch (stat:mtime (lstat system)))
+ (text (boot-parameters-label params)))
+ (boot-parameters
+ (inherit params)
+ (label (decorated-boot-label text number epoch))))))
+
(define* (profile->boot-alternatives #:optional (profile %system-profile)
(numbers
(reverse (generation-numbers profile))))
"Return a list of 'boot-parameters' for the generations of PROFILE specified
by NUMBERS, which is a list of generation numbers. The list is ordered from
the most recent to the oldest profiles."
- (define (generation->boot-parameters number)
- (unless-file-not-found
- (let* ((system (generation-file-name profile number))
- (params (read-boot-parameters-file system))
- (epoch (stat:mtime (lstat system)))
- (text (boot-parameters-label params)))
- (boot-parameters
- (inherit params)
- (label (decorated-boot-label text number epoch))))))
- (filter-map generation->boot-parameters numbers))
+ (filter-map (lambda (number)
+ (generation->boot-parameters profile number))
+ numbers))
;;;
@@ -391,8 +396,7 @@ (define (reinstall-bootloader store number)
(bootloader bootloader)))
;; Make the specified system generation the default entry.
- (params (first (profile->boot-alternatives %system-profile
- (list number))))
+ (params (generation->boot-parameters %system-profile number))
(locale (boot-parameters-locale params))
(store-crypto-devices (boot-parameters-store-crypto-devices params))
(store-directory-prefix
--
2.45.2
- [bug#69343] [PATCH v4 00/11] Simplify bootloader data structures and procedures, Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 01/11] Fix bug where the extra menu entries for a bootloader were shown twice., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 04/11] Move epoch->date-string to gnu/system/boot.scm and use it elsewhere., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 11/11] Encapsulate <boot-parameters> to retain generation, system-path and epoch., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 10/11] Split generation->boot-parameters out of profile->boot-alternatives.,
Lilah Tascheter <=
- [bug#69343] [PATCH v4 03/11] Rename seconds->string procedure to epoch->date-string., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 05/11] Offer a uniform decorated-boot-label and use it., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 02/11] Move <boot-parameters> record to a separate file., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 09/11] Simplify profile->boot-alternatives., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 07/11] Rename two remote variables confusingly named 'generations'., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 08/11] Give a separate name to a commonly used expression., Lilah Tascheter, 2024/09/20
- [bug#69343] [PATCH v4 06/11] Rename boot-parameters to boot-alternatives when appropriate., Lilah Tascheter, 2024/09/20