* [bug#42122] [PATCH 0/3] Support guix system describe and provenance for the Hurd
@ 2020-06-29 13:55 Jan (janneke) Nieuwenhuizen
2020-06-29 13:58 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Jan (janneke) Nieuwenhuizen
0 siblings, 1 reply; 10+ messages in thread
From: Jan (janneke) Nieuwenhuizen @ 2020-06-29 13:55 UTC (permalink / raw)
To: 42122
Hello Guix!
This series supports using "guix system describe" on a Chilhurd, showing
provenance info when the disk-image was built using --save-provenance.
Janneke
Jan (janneke) Nieuwenhuizen (3):
system: 'read-boot-parameters' fixes for multiboot.
services: system-service-type: Add entries support for the Hurd.
guix system: "describe" displays multiboot info.
gnu/system.scm | 79 ++++++++++++++++++++++++-----------------
guix/scripts/system.scm | 5 +++
2 files changed, 52 insertions(+), 32 deletions(-)
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot.
2020-06-29 13:55 [bug#42122] [PATCH 0/3] Support guix system describe and provenance for the Hurd Jan (janneke) Nieuwenhuizen
@ 2020-06-29 13:58 ` Jan (janneke) Nieuwenhuizen
2020-06-29 13:58 ` [bug#42122] [PATCH 2/3] services: system-service-type: Add entries support for the Hurd Jan (janneke) Nieuwenhuizen
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Jan (janneke) Nieuwenhuizen @ 2020-06-29 13:58 UTC (permalink / raw)
To: 42122
* gnu/system.scm (read-boot-parameters): Allow initrd to be unset. Return
only value for multiboot-modules instead of (key value).
---
gnu/system.scm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/gnu/system.scm b/gnu/system.scm
index 44baacee7b..a6a9c958e6 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -351,9 +351,13 @@ file system labels."
(('initrd ('string-append directory file)) ;the old format
(string-append directory file))
(('initrd (? string? file))
- file)))
+ file)
+ (#f #f)))
- (multiboot-modules (or (assq 'multiboot-modules rest) '()))
+ (multiboot-modules
+ (match (assq 'multiboot-modules rest)
+ ((_ args) args)
+ (#f '())))
(store-device
;; Linux device names like "/dev/sda1" are not suitable GRUB device
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#42122] [PATCH 2/3] services: system-service-type: Add entries support for the Hurd.
2020-06-29 13:58 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Jan (janneke) Nieuwenhuizen
@ 2020-06-29 13:58 ` Jan (janneke) Nieuwenhuizen
2020-07-02 21:50 ` Ludovic Courtès
2020-06-29 13:58 ` [bug#42122] [PATCH 3/3] guix system: "describe" displays multiboot info Jan (janneke) Nieuwenhuizen
2020-07-02 21:42 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Ludovic Courtès
2 siblings, 1 reply; 10+ messages in thread
From: Jan (janneke) Nieuwenhuizen @ 2020-06-29 13:58 UTC (permalink / raw)
To: 42122
When creating a disk-image using --save-provenance, "guix system describe"
now works.
* gnu/system.scm (operating-system-directory-base-entries): Add conditional
"hurd" parameter, make "initrd" parameter conditional.
(hurd-default-essential-services): Use them.
(operating-system-boot-parameters-file): Only add 'initrd' when set.
---
gnu/system.scm | 71 +++++++++++++++++++++++++++++---------------------
1 file changed, 41 insertions(+), 30 deletions(-)
diff --git a/gnu/system.scm b/gnu/system.scm
index a6a9c958e6..d4641cc9b0 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -537,22 +537,26 @@ possible (that is if there's a LINUX keyword argument in the build system)."
value of the SYSTEM-SERVICE-TYPE service."
(let* ((locale (operating-system-locale-directory os))
(kernel (operating-system-kernel os))
+ (hurd (operating-system-hurd os))
(modules (operating-system-kernel-loadable-modules os))
- (kernel (profile
- (content (packages->manifest
- (cons kernel
- (map (lambda (module)
- (if (package? module)
- (package-for-kernel kernel
- module)
- module))
- modules))))
- (hooks (list linux-module-database))))
- (initrd (operating-system-initrd-file os))
+ (kernel (if hurd
+ kernel
+ (profile
+ (content (packages->manifest
+ (cons kernel
+ (map (lambda (module)
+ (if (package? module)
+ (package-for-kernel kernel
+ module)
+ module))
+ modules))))
+ (hooks (list linux-module-database)))))
+ (initrd (and (not hurd) (operating-system-initrd-file os)))
(params (operating-system-boot-parameters-file os)))
`(("kernel" ,kernel)
+ ,@(if hurd `(("hurd" ,hurd)) '())
("parameters" ,params)
- ("initrd" ,initrd)
+ ,@(if initrd `(("initrd" ,initrd)) '())
("locale" ,locale)))) ;used by libc
(define (operating-system-default-essential-services os)
@@ -604,23 +608,24 @@ bookkeeping."
(operating-system-firmware os)))))))
(define (hurd-default-essential-services os)
- (list (service system-service-type '())
- %boot-service
- %hurd-startup-service
- %activation-service
- %shepherd-root-service
- (service user-processes-service-type)
- (account-service (append (operating-system-accounts os)
- (operating-system-groups os))
- (operating-system-skeletons os))
- (root-file-system-service)
- (service file-system-service-type '())
- (service fstab-service-type
- (filter file-system-needed-for-boot?
- (operating-system-file-systems os)))
- (pam-root-service (operating-system-pam-services os))
- (operating-system-etc-service os)
- (service profile-service-type (operating-system-packages os))))
+ (let ((entries (operating-system-directory-base-entries os)))
+ (list (service system-service-type entries)
+ %boot-service
+ %hurd-startup-service
+ %activation-service
+ %shepherd-root-service
+ (service user-processes-service-type)
+ (account-service (append (operating-system-accounts os)
+ (operating-system-groups os))
+ (operating-system-skeletons os))
+ (root-file-system-service)
+ (service file-system-service-type '())
+ (service fstab-service-type
+ (filter file-system-needed-for-boot?
+ (operating-system-file-systems os)))
+ (pam-root-service (operating-system-pam-services os))
+ (operating-system-etc-service os)
+ (service profile-service-type (operating-system-packages os)))))
(define* (operating-system-services os)
"Return all the services of OS, including \"essential\" services."
@@ -1276,7 +1281,13 @@ being stored into the \"parameters\" file)."
(kernel #$(boot-parameters-kernel params))
(kernel-arguments
#$(boot-parameters-kernel-arguments params))
- (initrd #$(boot-parameters-initrd params))
+ #$@(if (boot-parameters-initrd params)
+ #~((initrd #$(boot-parameters-initrd params)))
+ #~())
+ #$@(if (pair? (boot-parameters-multiboot-modules params))
+ #~((multiboot-modules
+ #$(boot-parameters-multiboot-modules params)))
+ #~())
(bootloader-name #$(boot-parameters-bootloader-name params))
(bootloader-menu-entries
#$(map menu-entry->sexp
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#42122] [PATCH 3/3] guix system: "describe" displays multiboot info.
2020-06-29 13:58 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Jan (janneke) Nieuwenhuizen
2020-06-29 13:58 ` [bug#42122] [PATCH 2/3] services: system-service-type: Add entries support for the Hurd Jan (janneke) Nieuwenhuizen
@ 2020-06-29 13:58 ` Jan (janneke) Nieuwenhuizen
2020-07-02 21:51 ` Ludovic Courtès
2020-07-02 21:42 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Ludovic Courtès
2 siblings, 1 reply; 10+ messages in thread
From: Jan (janneke) Nieuwenhuizen @ 2020-06-29 13:58 UTC (permalink / raw)
To: 42122
* guix/scripts/system.scm (display-system-generation): Display
multiboot-modules commands if set.
---
guix/scripts/system.scm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index d9cf45da23..7f062452ac 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -480,6 +480,7 @@ list of services."
(uuid->string root)
root))
(kernel (boot-parameters-kernel params))
+ (multiboot-modules (boot-parameters-multiboot-modules params))
(provenance (catch 'system-error
(lambda ()
(call-with-input-file
@@ -509,6 +510,10 @@ list of services."
(format #t (G_ " kernel: ~a~%") kernel)
+ (when (pair? multiboot-modules)
+ (format #t (G_ " multiboot: ~a~%")
+ (string-join (map car multiboot-modules) "\n ")))
+
(match provenance
(#f #t)
(('provenance ('version 0)
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot.
2020-06-29 13:58 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Jan (janneke) Nieuwenhuizen
2020-06-29 13:58 ` [bug#42122] [PATCH 2/3] services: system-service-type: Add entries support for the Hurd Jan (janneke) Nieuwenhuizen
2020-06-29 13:58 ` [bug#42122] [PATCH 3/3] guix system: "describe" displays multiboot info Jan (janneke) Nieuwenhuizen
@ 2020-07-02 21:42 ` Ludovic Courtès
2020-07-03 7:42 ` Jan Nieuwenhuizen
2 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2020-07-02 21:42 UTC (permalink / raw)
To: Jan (janneke) Nieuwenhuizen; +Cc: 42122
Hi!
"Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis:
> * gnu/system.scm (read-boot-parameters): Allow initrd to be unset. Return
s/unset/missing/, right?
> only value for multiboot-modules instead of (key value).
> ---
> gnu/system.scm | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/system.scm b/gnu/system.scm
> index 44baacee7b..a6a9c958e6 100644
> --- a/gnu/system.scm
> +++ b/gnu/system.scm
> @@ -351,9 +351,13 @@ file system labels."
> (('initrd ('string-append directory file)) ;the old format
> (string-append directory file))
> (('initrd (? string? file))
> - file)))
> + file)
> + (#f #f)))
OK.
> - (multiboot-modules (or (assq 'multiboot-modules rest) '()))
> + (multiboot-modules
> + (match (assq 'multiboot-modules rest)
> + ((_ args) args)
> + (#f '())))
Since this second hunk is a bug fix, I’d rather make it a separate
commit.
Otherwise LGTM!
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42122] [PATCH 2/3] services: system-service-type: Add entries support for the Hurd.
2020-06-29 13:58 ` [bug#42122] [PATCH 2/3] services: system-service-type: Add entries support for the Hurd Jan (janneke) Nieuwenhuizen
@ 2020-07-02 21:50 ` Ludovic Courtès
2020-07-03 7:42 ` Jan Nieuwenhuizen
0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2020-07-02 21:50 UTC (permalink / raw)
To: Jan (janneke) Nieuwenhuizen; +Cc: 42122
"Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis:
> When creating a disk-image using --save-provenance, "guix system describe"
> now works.
>
> * gnu/system.scm (operating-system-directory-base-entries): Add conditional
> "hurd" parameter, make "initrd" parameter conditional.
> (hurd-default-essential-services): Use them.
> (operating-system-boot-parameters-file): Only add 'initrd' when set.
LGTM! I hadn’t realized there were no ‘system’ entries.
> + (let ((entries (operating-system-directory-base-entries os)))
> + (list (service system-service-type entries)
^
One missing space for indentation. :-)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42122] [PATCH 3/3] guix system: "describe" displays multiboot info.
2020-06-29 13:58 ` [bug#42122] [PATCH 3/3] guix system: "describe" displays multiboot info Jan (janneke) Nieuwenhuizen
@ 2020-07-02 21:51 ` Ludovic Courtès
2020-07-03 7:42 ` bug#42122: " Jan Nieuwenhuizen
0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2020-07-02 21:51 UTC (permalink / raw)
To: Jan (janneke) Nieuwenhuizen; +Cc: 42122
"Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis:
> * guix/scripts/system.scm (display-system-generation): Display
> multiboot-modules commands if set.
[...]
> + (when (pair? multiboot-modules)
> + (format #t (G_ " multiboot: ~a~%")
> + (string-join (map car multiboot-modules) "\n ")))
Rather like:
(match multiboot-modules
(() #f)
(((modules . _) ...)
… (string-join modules "\n ") …))
Otherwise LGTM, thank you!
Ludo’.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot.
2020-07-02 21:42 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Ludovic Courtès
@ 2020-07-03 7:42 ` Jan Nieuwenhuizen
0 siblings, 0 replies; 10+ messages in thread
From: Jan Nieuwenhuizen @ 2020-07-03 7:42 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 42122
Ludovic Courtès writes:
Hi!
> "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis:
>
>> * gnu/system.scm (read-boot-parameters): Allow initrd to be unset. Return
>
> s/unset/missing/, right?
Yes; that's more clear and what I meant.
>> only value for multiboot-modules instead of (key value).
>> ---
>> gnu/system.scm | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/gnu/system.scm b/gnu/system.scm
>> index 44baacee7b..a6a9c958e6 100644
>> --- a/gnu/system.scm
>> +++ b/gnu/system.scm
>> @@ -351,9 +351,13 @@ file system labels."
>> (('initrd ('string-append directory file)) ;the old format
>> (string-append directory file))
>> (('initrd (? string? file))
>> - file)))
>> + file)
>> + (#f #f)))
>
> OK.
=> to second patch.
>> - (multiboot-modules (or (assq 'multiboot-modules rest) '()))
>> + (multiboot-modules
>> + (match (assq 'multiboot-modules rest)
>> + ((_ args) args)
>> + (#f '())))
>
> Since this second hunk is a bug fix, I’d rather make it a separate
> commit.
Great, => to first bugfix patch.
> Otherwise LGTM!
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42122] [PATCH 2/3] services: system-service-type: Add entries support for the Hurd.
2020-07-02 21:50 ` Ludovic Courtès
@ 2020-07-03 7:42 ` Jan Nieuwenhuizen
0 siblings, 0 replies; 10+ messages in thread
From: Jan Nieuwenhuizen @ 2020-07-03 7:42 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 42122
Ludovic Courtès writes:
> "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis:
>
>> When creating a disk-image using --save-provenance, "guix system describe"
>> now works.
>>
>> * gnu/system.scm (operating-system-directory-base-entries): Add conditional
>> "hurd" parameter, make "initrd" parameter conditional.
>> (hurd-default-essential-services): Use them.
>> (operating-system-boot-parameters-file): Only add 'initrd' when set.
>
> LGTM! I hadn’t realized there were no ‘system’ entries.
Yeah, I guess they were present once and removed during our cross-build
woes to make a smaller patch series. Anyway...
>> + (let ((entries (operating-system-directory-base-entries os)))
>> + (list (service system-service-type entries)
> ^
> One missing space for indentation. :-)
Oh! Thanks. Fixed.
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#42122: [PATCH 3/3] guix system: "describe" displays multiboot info.
2020-07-02 21:51 ` Ludovic Courtès
@ 2020-07-03 7:42 ` Jan Nieuwenhuizen
0 siblings, 0 replies; 10+ messages in thread
From: Jan Nieuwenhuizen @ 2020-07-03 7:42 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 42122-done
Ludovic Courtès writes:
Hi!
> "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis:
>
>> * guix/scripts/system.scm (display-system-generation): Display
>> multiboot-modules commands if set.
>
> [...]
>
>> + (when (pair? multiboot-modules)
>> + (format #t (G_ " multiboot: ~a~%")
>> + (string-join (map car multiboot-modules) "\n ")))
>
> Rather like:
>
> (match multiboot-modules
> (() #f)
> (((modules . _) ...)
> … (string-join modules "\n ") …))
>
> Otherwise LGTM, thank you!
Thanks, done!
Pushed series to master as 28febfafbb23561624cc5c4ac8ed581f1f867f70
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-07-03 7:43 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-29 13:55 [bug#42122] [PATCH 0/3] Support guix system describe and provenance for the Hurd Jan (janneke) Nieuwenhuizen
2020-06-29 13:58 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Jan (janneke) Nieuwenhuizen
2020-06-29 13:58 ` [bug#42122] [PATCH 2/3] services: system-service-type: Add entries support for the Hurd Jan (janneke) Nieuwenhuizen
2020-07-02 21:50 ` Ludovic Courtès
2020-07-03 7:42 ` Jan Nieuwenhuizen
2020-06-29 13:58 ` [bug#42122] [PATCH 3/3] guix system: "describe" displays multiboot info Jan (janneke) Nieuwenhuizen
2020-07-02 21:51 ` Ludovic Courtès
2020-07-03 7:42 ` bug#42122: " Jan Nieuwenhuizen
2020-07-02 21:42 ` [bug#42122] [PATCH 1/3] system: 'read-boot-parameters' fixes for multiboot Ludovic Courtès
2020-07-03 7:42 ` Jan Nieuwenhuizen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).