Subject: [bug#41573] [PATCH Shepherd] shepherd: service: Add #:supplementary-groups.

From: Ludovic Courtès <[email-masked]>
Date: Sun, 14 Jun 2020 22:53:14 +0200

Hello,

Oleg Pykhalov <[email-masked]> skribis:

> From 5718eb5f4130530b48df896d7f7e4a126e08428a Mon Sep 17 00:00:00 2001
> From: Oleg Pykhalov <[email-masked]>
> Date: Sun, 24 May 2020 20:30:27 +0300
> Subject: [PATCH] service: Add #:supplementary-groups.
>
> * modules/shepherd/service.scm (format-supplementary-groups): New procedure.
> (exec-command, fork+exec-command, make-forkexec-constructor): Add
> '#:supplementary-groups'.
> * doc/shepherd.texi (Service De- and Constructors): Document this.

[...]

> +(define (format-supplementary-groups supplementary-groups)
> +  (if (vector? supplementary-groups)
> +      supplementary-groups
> +      (list->vector (map (lambda (group) (group:gid (getgr group)))
> +                         supplementary-groups))))

Perhaps we should remove the ‘vector?’ case, no?  I find it clearer when
the interface accepts just one single data type.

Apart from that, it LGTM!

Note that for compatibility reasons we’ll have to wait before using it
in Guix System.

Thanks,
Ludo’.