GNU bug report logs -
#78497
[PATCH] environment: Provide a writable /run/user/$UID.
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Mon, 19 May 2025 19:32:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sat, 24 May 2025 15:39:43 +0200
with message-id <87v7pq2km8.fsf <at> gnu.org>
and subject line Re: [bug#78497] [PATCH] environment: Provide a writable /run/user/$UID.
has caused the debbugs.gnu.org bug report #78497,
regarding [PATCH] environment: Provide a writable /run/user/$UID.
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
78497: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78497
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
* guix/scripts/environment.scm (launch-environment/container): Add
/run/user/UID to ‘file-systems’.
* tests/guix-environment-container.sh: Test it.
Change-Id: I44c70a7554a06f40d073c25929ea7c6ded356d08
---
guix/scripts/environment.scm | 5 +++++
tests/guix-environment-container.sh | 3 +++
2 files changed, 8 insertions(+)
Hello Guix!
This may sound like a recurring joke but hey! when running shepherd
in ‘guix shell -C’, I figured that a writable /run/user/$UID would
be welcome too.
Thoughts?
Ludo’.
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 96bbc6c9fa..1c2d222c74 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -875,6 +875,11 @@ (define* (launch-environment/container #:key command bash user user-mappings
reqs)))
(file-systems (append %container-file-systems
(list tmpfs ; RW /tmp
+ (file-system ; RW /run
+ (inherit tmpfs)
+ (mount-point
+ (string-append "/run/user/"
+ (number->string uid))))
(file-system ; RW ~
(device "none")
(mount-point
diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh
index e1c3655846..220e6b8ec8 100644
--- a/tests/guix-environment-container.sh
+++ b/tests/guix-environment-container.sh
@@ -203,6 +203,9 @@ guix environment --bootstrap --container --ad-hoc guile-bootstrap \
guix environment --bootstrap --container --ad-hoc guile-bootstrap \
-- guile -c '(mkdir (string-append (getenv "HOME") "/foo"))'
+# And /run too!
+guix environment --bootstrap --container --ad-hoc guile-bootstrap \
+ -- guile -c '(mkdir "/run/user/1000/shepherd")'
# Check the exit code.
base-commit: 11e88de06043d367d02ceceade84733a65f84e27
--
2.49.0
[Message part 3 (message/rfc822, inline)]
Tomas Volf <~@wolfsden.cz> writes:
> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>>> For normal users this is fine, but for root the whole /run should be
>>> writable, the way it is on normal system. Thoughts?
>>
>> For root, the whole root file system should be writable.
>
> Well... That would be one way to solve this. Default to --writable-root
> if UID is zero.
>
>> So I wonder if it makes sense to special-case the above to be “/run”
>> when UID is zero; WDYT?
>
> I was thinking about programs that are expected to be run as a root and
> have hard-coded PID file, lock file or something else under /run. But I
> have no example to put forward. So maybe your version is enough, and we
> can revisit this in another pass later if the need realizes?
Yeah, probably. Pushed as f8527e7f2044ec7bb19efcb25158ec7aa0fe5fa3.
Let’s see if we need something else now. :-) I’m less concerned about
guest UID zero, because that’s probably an uncommon use case.
Thanks!
Ludo’.
This bug report was last modified 30 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.