[PATCH] shepherd: Add #:supplementary-groups.

DoneSubmitted by Leo Nikkilä.
Details
2 participants
  • Leo Nikkilä
  • Ludovic Courtès
Owner
unassigned
Severity
normal
L
L
Leo Nikkilä wrote on 11 Apr 00:00 +0200
(address . guix-patches@gnu.org)(name . Leo Nikkilä)(address . hello@lnikki.la)
20220410220008.28577-1-hello@lnikki.la
To support the argument introduced in Shepherd 0.9.0 when defining
container-bound services.

* gnu/build/shepherd.scm (exec-command*)
(make-forkexec-constructor/container): Add '#:supplementary-groups'.
---
gnu/build/shepherd.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm
index 0627bac5b9..384faa55f4 100644
--- a/gnu/build/shepherd.scm
+++ b/gnu/build/shepherd.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2018, 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
+;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -119,8 +120,9 @@ (define* (read-pid-file/container pid pid-file #:key (max-delay 5))
      ;; PID is always 1, but that's not what Shepherd needs to know.
      pid)))
 
-(define* (exec-command* command #:key user group log-file pid-file
-                        directory (environment-variables (environ)))
+(define* (exec-command* command #:key user group (supplementary-groups '())
+                        log-file pid-file directory (environment-variables
+                                                     (environ)))
   "Like 'exec-command', but first restore signal handles modified by
 shepherd (PID 1)."
   ;; First restore the default handlers.
@@ -135,6 +137,7 @@ (define* (exec-command* command #:key user group log-file pid-file
   (exec-command command
                 #:user user
                 #:group group
+                #:supplementary-groups supplementary-groups
                 #:log-file log-file
                 #:directory directory
                 #:environment-variables environment-variables))
@@ -146,6 +149,7 @@ (define* (make-forkexec-constructor/container command
                                               (mappings '())
                                               (user #f)
                                               (group #f)
+                                              (supplementary-groups '())
                                               (log-file #f)
                                               pid-file
                                               (pid-file-timeout 5)
@@ -192,6 +196,8 @@ (define mounts
                                 (exec-command* command
                                                #:user user
                                                #:group group
+                                               #:supplementary-groups
+                                               supplementary-groups
                                                #:pid-file pid-file
                                                #:log-file log-file
                                                #:directory directory
-- 
2.34.0
L
L
Ludovic Courtès wrote on 12 Apr 23:40 +0200
(name . Leo Nikkilä)(address . hello@lnikki.la)(address . 54845-done@debbugs.gnu.org)
87y20aask5.fsf@gnu.org
Hi,

Leo Nikkilä <hello@lnikki.la> skribis:

Toggle quote (6 lines)
> To support the argument introduced in Shepherd 0.9.0 when defining
> container-bound services.
>
> * gnu/build/shepherd.scm (exec-command*)
> (make-forkexec-constructor/container): Add '#:supplementary-groups'.

Applied, thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 54845@debbugs.gnu.org