Subject: Re: bug#46043: [PATCH] Allow booting with custom shepherd package (fixed)

From: Ludovic Courtès <[email-masked]>
Date: Tue, 26 Jan 2021 21:49:57 +0100

Hi Maxime,

Maxime Devos <[email-masked]> skribis:

> Version 2 of the patch is attached. This version also uses
> the custom package for /run/current-system/profile/bin/shepherd.
>
> From b3102f72cd66dee4442596d89e29900b8215e1be Mon Sep 17 00:00:00 2001
> From: Maxime Devos <[email-masked]>
> Date: Fri, 22 Jan 2021 20:06:55 +0100
> Subject: [PATCH] services: shepherd: allow custom 'shepherd' package
>
> * gnu/services/shepherd.scm
>   (<shepherd-configuration>): New record.
>   (shepherd-boot-gexp, shepherd-root-service-type): Use it.
>   (scm->go, shepherd-configuration-file): Allow passing custom
>   shepherd package.
> * doc/guix.texi (Shepherd Services). Document it.

Nice!  Overall LGTM.  Nitpicking:

>  shepherd services (@pxref{Service Types and Services}, for an example).
> -Each extension must pass a list of @code{<shepherd-service>}.
> +Each extension must pass a list of @code{<shepherd-service>}. Its

Please leave two spaces after end-of-sentence periods.

> +value must be a @code{shepherd-configuration}, as described below:

End with period rather than colon.

> +@deftp {Data Type} shepherd-configuration
> +This data type represents shepherd's configuration.

s/shepherd/the Shepherd/ (referring to the software).

> +@table @code
> +@item shepherd (default: @code{shepherd})
> +The shepherd package to use.

“Shepherd” (capitalized).

> +(define* (scm->go file #:key (shepherd shepherd))

[...]

> +(define* (shepherd-configuration-file services #:key (shepherd shepherd))

I’d made the second argument compulsory instead of a keyword parameter.

That’s all.  Could you send an updated patch?

Thanks for addressing this longstanding shortcoming!

Ludo’.