Subject: bug#75049: closed (Re: [bug#75049] [PATCH] services: rootless-podman: Fix PATH lookup for Shepherd services.)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 25 Dec 2024 22:35:02 +0000

Your bug report

#75049: [PATCH] services: rootless-podman: Fix PATH lookup for Shepherd services.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
75049: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75049
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#75049] [PATCH] services: rootless-podman: Fix PATH lookup for Shepherd services.
From: Ludovic Courtès <[email-masked]>
To: Giacomo Leidi <[email-masked]>
Cc: [email-masked]
Date: Wed, 25 Dec 2024 23:34:11 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Giacomo Leidi <[email-masked]> skribis:

> 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

Applied, thanks!

Subject: [PATCH] services: rootless-podman: Fix PATH lookup for Shepherd services.
From: Giacomo Leidi <[email-masked]>
To: [email-masked]
Cc: Giacomo Leidi <[email-masked]>
Date: Mon, 23 Dec 2024 15:33:20 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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
---
 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 @@ (define (cgroups-fs-owner-entrypoint config)
     (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 @@ (define (rootless-podman-cgroups-fs-owner-service config)
 (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 @@ (define (rootless-podman-cgroups-limits-service config)
 (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))

base-commit: 1a55fa23d881a1816ebd05ebdacc55746a8c8ab9
-- 
2.46.0