civodul pushed a commit to branch master
in repository guix.

commit a75b2d614a405b7ba11797377d6eb140519b84ee
Author: Giacomo Leidi <[email protected]>
AuthorDate: Mon Dec 23 15:33:20 2024 +0100

    services: rootless-podman: Fix PATH lookup for Shepherd services.
    
    One-shot Shepherd services required to correctly setup Podman in the
    Guix System, are failing to find executables upon boot.  This patch
    changes the executable references to absolute paths to avoid PATH
    lookup.
    
    * gnu/services/containers.scm (cgroups-fs-owner-entrypoint): Hardcode
    bash path;
    (rootless-podman-cgroups-fs-owner-service): Ditto;
    (rootless-podman-fs-entrypoint): Hardcode mount path.
    
    Change-Id: Id6a27cadf51326ce57af93f57809b77e28dbeaef
    Signed-off-by: Ludovic Courtès <[email protected]>
---
 gnu/services/containers.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/services/containers.scm b/gnu/services/containers.scm
index 03f0649c0d..d8f533f44c 100644
--- a/gnu/services/containers.scm
+++ b/gnu/services/containers.scm
@@ -17,6 +17,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu services containers)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages containers)
   #:use-module (gnu packages file-systems)
   #:use-module (gnu services)
@@ -134,7 +135,7 @@ available for each configured user."))
     (rootless-podman-configuration-group-name config))
   (program-file "cgroups2-fs-owner-entrypoint"
                 #~(system*
-                   "bash" "-c"
+                   (string-append #+bash-minimal "/bin/bash") "-c"
                    (string-append "echo Setting /sys/fs/cgroup "
                                   "group ownership to " #$group " && chown -v "
                                   "root:" #$group " /sys/fs/cgroup && "
@@ -166,7 +167,7 @@ available for each configured user."))
 (define cgroups-limits-entrypoint
   (program-file "cgroups2-limits-entrypoint"
                 #~(system*
-                   "bash" "-c"
+                   (string-append #+bash-minimal "/bin/bash") "-c"
                    (string-append "echo Setting cgroups v2 limits && "
                                   "echo +cpu +cpuset +memory +pids"
                                   " >> 
/sys/fs/cgroup/cgroup.subtree_control"))))
@@ -194,7 +195,7 @@ pids.")
 (define rootless-podman-shared-root-fs-entrypoint
   (program-file "rootless-podman-shared-root-fs-entrypoint"
                 #~(system*
-                   "mount" "--make-shared" "/")))
+                   "/run/privileged/bin/mount" "--make-shared" "/")))
 
 (define (rootless-podman-shared-root-fs-service config)
   (shepherd-service (provision '(rootless-podman-shared-root-fs))

Reply via email to