Ludovic Courtès (2016-01-12 23:25 +0300) wrote:

> Alex Kost <alez...@gmail.com> skribis:
>
>> * guix/scripts/system.scm (read-boot-parameters, boot-parameters)
>> (boot-parameters?, boot-parameters-label, boot-parameters-root-device)
>> (boot-parameters-kernel, boot-parameters-kernel-arguments): Export.
>
> LGTM.
>
> Eventually (as a replacement of this patch or as a subsequent patch, as
> you prefer) we should move these to (gnu system) since this is where we
> create the ‘boot-parameters’ sexp.

Great, I would like to make a replacement.  OK for the attached patch?

(I exported <boot-parameters> because it is used by (guix scripts system))

>From ac344e3f17741c439aa15a642f1872fd2c7bfd9f Mon Sep 17 00:00:00 2001
From: Alex Kost <alez...@gmail.com>
Date: Fri, 8 Jan 2016 02:48:17 +0300
Subject: [PATCH] Move <boot-parameters> to (gnu system).

* guix/scripts/system.scm (<boot-parameters>, boot-parameters)
  (boot-parameters?, boot-parameters-label, boot-parameters-root-device)
  (boot-parameters-kernel, boot-parameters-kernel-arguments):
  (read-boot-parameters) Move to...
* gnu/system.scm: ... here. Export them.
---
 gnu/system.scm          | 42 ++++++++++++++++++++++++++++++++++++++++++
 guix/scripts/system.scm | 33 ---------------------------------
 2 files changed, 42 insertions(+), 33 deletions(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index 4aedb7e..2600224 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -88,6 +88,15 @@
             operating-system-locale-directory
             operating-system-boot-script
 
+            <boot-parameters>
+            boot-parameters
+            boot-parameters?
+            boot-parameters-label
+            boot-parameters-root-device
+            boot-parameters-kernel
+            boot-parameters-kernel-arguments
+            read-boot-parameters
+
             local-host-aliases
             %setuid-programs
             %base-packages
@@ -709,4 +718,37 @@ this file is the reconstruction of GRUB menu entries for old configurations."
                                     #$(operating-system-kernel-arguments os))
                                    (initrd #$initrd)))))
 
+
+;;;
+;;; Boot parameters
+;;;
+
+(define-record-type* <boot-parameters>
+  boot-parameters make-boot-parameters boot-parameters?
+  (label            boot-parameters-label)
+  (root-device      boot-parameters-root-device)
+  (kernel           boot-parameters-kernel)
+  (kernel-arguments boot-parameters-kernel-arguments))
+
+(define (read-boot-parameters port)
+  "Read boot parameters from PORT and return the corresponding
+<boot-parameters> object or #f if the format is unrecognized."
+  (match (read port)
+    (('boot-parameters ('version 0)
+                       ('label label) ('root-device root)
+                       ('kernel linux)
+                       rest ...)
+     (boot-parameters
+      (label label)
+      (root-device root)
+      (kernel linux)
+      (kernel-arguments
+       (match (assq 'kernel-arguments rest)
+         ((_ args) args)
+         (#f       '())))))                       ;the old format
+    (x                                            ;unsupported format
+     (warning (_ "unrecognized boot parameters for '~a'~%")
+              system)
+     #f)))
+
 ;;; system.scm ends here
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 1407dc7..a45f07e 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -191,39 +191,6 @@ the ownership of '~a' may be incorrect!~%")
 
 
 ;;;
-;;; Boot parameters
-;;;
-
-(define-record-type* <boot-parameters>
-  boot-parameters make-boot-parameters boot-parameters?
-  (label            boot-parameters-label)
-  (root-device      boot-parameters-root-device)
-  (kernel           boot-parameters-kernel)
-  (kernel-arguments boot-parameters-kernel-arguments))
-
-(define (read-boot-parameters port)
-  "Read boot parameters from PORT and return the corresponding
-<boot-parameters> object or #f if the format is unrecognized."
-  (match (read port)
-    (('boot-parameters ('version 0)
-                       ('label label) ('root-device root)
-                       ('kernel linux)
-                       rest ...)
-     (boot-parameters
-      (label label)
-      (root-device root)
-      (kernel linux)
-      (kernel-arguments
-       (match (assq 'kernel-arguments rest)
-         ((_ args) args)
-         (#f       '())))))                       ;the old format
-    (x                                            ;unsupported format
-     (warning (_ "unrecognized boot parameters for '~a'~%")
-              system)
-     #f)))
-
-
-;;;
 ;;; Reconfiguration.
 ;;;
 
-- 
2.6.3

Reply via email to