From 57cdc3a8f9c6451aaf17f1fafae0bcf29faeea03 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 5 Jan 2023 16:06:19 -0500 Subject: [PATCH] * environment: Fix '--emulate-fhs' option overriding $PATH. Fixes where even if "--preserve='^PATH$'" was passed to 'guix shell' it would be replaced by just the FHS directories when '--emulate-fhs' was also set. * gnu/scripts/environment.scm (launch-environment): Add the FHS directories to $PATH rather than overriding $PATH completely. --- guix/scripts/environment.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index c7fd8fd340..20fa5850c4 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -475,10 +475,11 @@ (define* (launch-environment command profile manifest (catch 'system-error (lambda () (when emulate-fhs? - ;; When running in a container with EMULATE-FHS?, override $PATH + ;; When running in a container with EMULATE-FHS?, augment $PATH ;; (optional, but to better match FHS expectations), and generate ;; /etc/ld.so.cache. - (setenv "PATH" "/bin:/usr/bin:/sbin:/usr/sbin") + (setenv "PATH" (string-append "/bin:/usr/bin:/sbin:/usr/sbin:" + (getenv "PATH"))) (invoke "ldconfig" "-X")) (apply execlp program program args)) (lambda _ -- 2.38.1