From 3195ddf9f125fd8f9c80afc5d0868106bd90a20d Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Wed, 8 Jan 2025 17:48:20 -0500 Subject: [PATCH] nonguix: multiarch-container: Handle empty shares env variable. Launching a package, like steam, with GUIX_SANDBOX_EXTRA_SHARES= (set to an empty string) will cause guix shell to fail to launch with "guix shell: error: statfs: : No such file or directory". * nonguix/multiarch-container.scm (make-container-wrapper): Check that the environment variable GUIX_SANDBOX_EXTRA_SHARES is both set and not an empty string. Reported-by: apoorv569 --- nonguix/multiarch-container.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nonguix/multiarch-container.scm b/nonguix/multiarch-container.scm index 700da05..15dd054 100644 --- a/nonguix/multiarch-container.scm +++ b/nonguix/multiarch-container.scm @@ -342,8 +342,11 @@ in a sandboxed FHS environment." ,@(exists-> (getenv "XAUTHORITY")) #$@(ngc-shared container))) (DEBUG (equal? (getenv "DEBUG") "1")) - (extra-shares (if (getenv "GUIX_SANDBOX_EXTRA_SHARES") - (string-split (getenv "GUIX_SANDBOX_EXTRA_SHARES") #\:) + ;; Make sure this environment variable is not set to the + ;; emptry string or else guix shell will fail to start. + (extra-shares-env (getenv "GUIX_SANDBOX_EXTRA_SHARES")) + (extra-shares (if (and extra-shares-env (not (string= extra-shares-env ""))) + (string-split extra-shares-env #\:) #f)) (args (cdr (command-line))) (command (if DEBUG '()