diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm index 595db40f2e..d52e53eb78 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 ;;; Copyright © 2020 Mathieu Othacehe +;;; Copyright © 2022 Leo Nikkilä ;;; ;;; This file is part of GNU Guix. ;;; @@ -120,6 +121,7 @@ (define* (read-pid-file/container pid pid-file #:key (max-delay 5)) pid))) (define* (exec-command* command #:key user group log-file pid-file + (supplementary-groups '()) (directory "/") (environment-variables (environ))) "Like 'exec-command', but first restore signal handles modified by shepherd (PID 1)." @@ -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