* [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 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 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-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 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 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
* [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 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
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).