[email protected] skribis:
> commit d7a217e67dcd3b14402d746f4428db8545ce83f2
> Author: Jan (janneke) Nieuwenhuizen <[email protected]>
> AuthorDate: Mon Apr 13 10:13:05 2020 +0200
>
> services: Add hurd-console-service-type.
>
> * gnu/services/hurd.scm (<hurd-console-configuration>): New variable.
> (hurd-console-shepherd-service, hurd-console-service-type): New function.
> (hurd-service->shepherd-service): Add entry.
Now for the exciting stuff, neat!
> - #:export (hurd-service->shepherd-service))
> + #:export (hurd-console-service-type
> + hurd-service->shepherd-service))
>
> ;;; Commentary:
> ;;;
> @@ -38,9 +39,51 @@
> (define (hurd-service->shepherd-service service)
> (let ((config (service-value service)))
> (match config
> + (($ <hurd-console-configuration>) (hurd-console-shepherd-service
> config))
> (_ '()))))
Hmm do we really need this ‘hurd-service->shepherd-service’ procedure?
I haven’t read the rest, but it seems surprising at first sight.
> + (list (shepherd-service
> + (documentation "Hurd console.")
“Run the Hurd’s VGA console client.”
> + (provision '(console))
> + (requirement '())
Should be '(user-processes) I think.
> + (start #~(lambda _ (fork+exec-command #$console-command) #t))
Rather #~(make-forkexec-constructor #$console-command).
> +(define hurd-console-service-type
> + (service-type
> + (name 'console)
> + (description
> + "Run a hurd console, @command{console}.")
Maybe “Run the Hurd console client.”
> + (compose concatenate)
> + (extend first-of-two)
I don’t think we need these two fields since this service is not meant
to be extensible.
> + (default-value (hurd-console-configuration))))
Please add a ‘description’ too!
Also, normally we document every new service type in the manual, but
maybe we can delay it here so that you can unleash your hack powers in
the meantime. :-)
Thanks,
Ludo’.