* [bug#73494] [PATCH 0/2] tmpfs /run.
@ 2024-09-26 6:44 Hilton Chain via Guix-patches via
2024-09-26 7:05 ` [bug#73494] [PATCH 1/2] file-systems: %base-file-systems: Add " Hilton Chain via Guix-patches via
2024-09-26 7:05 ` [bug#73494] [PATCH 2/2] services: cleanup: Make /var/run a symlink of /run Hilton Chain via Guix-patches via
0 siblings, 2 replies; 3+ messages in thread
From: Hilton Chain via Guix-patches via @ 2024-09-26 6:44 UTC (permalink / raw)
To: 73494; +Cc: Hilton Chain
Hi Guix,
This series adds a tmpfs /run to %base-file-systems and symlinks /var/run to
it.
Mount options are taken from Systemd[1], OpenRC also uses the same ones[2].
(Except no-suid since we have /run/privileged/bin.)
Thanks
[1]: https://github.com/systemd/systemd/blob/v256.6/src/shared/mount-setup.c#L102
[2]: https://github.com/OpenRC/openrc/blob/0.55.1/sh/init.sh.Linux.in#L74
Hilton Chain (2):
file-systems: %base-file-systems: Add tmpfs /run.
services: cleanup: Make /var/run a symlink of /run.
doc/guix.texi | 5 +++++
gnu/services.scm | 6 +-----
gnu/services/dbus.scm | 31 -------------------------------
gnu/system/file-systems.scm | 15 ++++++++++++++-
4 files changed, 20 insertions(+), 37 deletions(-)
base-commit: 8576aaf5f90db9b385ea8cf6dc98bf3c062959dc
--
2.46.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug#73494] [PATCH 1/2] file-systems: %base-file-systems: Add tmpfs /run.
2024-09-26 6:44 [bug#73494] [PATCH 0/2] tmpfs /run Hilton Chain via Guix-patches via
@ 2024-09-26 7:05 ` Hilton Chain via Guix-patches via
2024-09-26 7:05 ` [bug#73494] [PATCH 2/2] services: cleanup: Make /var/run a symlink of /run Hilton Chain via Guix-patches via
1 sibling, 0 replies; 3+ messages in thread
From: Hilton Chain via Guix-patches via @ 2024-09-26 7:05 UTC (permalink / raw)
To: 73494; +Cc: Hilton Chain, Florian Pelz, Ludovic Courtès, Maxim Cournoyer
* gnu/system/file-systems (%runtime-variable-data): New variable.
(%base-file-systems): Add it.
* doc/guix.texi (File Systems): Document it.
* gnu/services.scm (cleanup-gexp): Adjust accordingly.
Change-Id: I3a95e49d396fbb2577026aefc247cfe996c5f267
---
doc/guix.texi | 5 +++++
gnu/services.scm | 5 +----
gnu/system/file-systems.scm | 15 ++++++++++++++-
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 52e36e4354..54edd14d1b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17988,6 +17988,11 @@ File Systems
read-write in its own ``name space.''
@end defvar
+@defvar %runtime-variable-data
+This file system is mounted as @file{/run} and contains system
+information data describing the system since it was booted.
+@end defvar
+
@defvar %binary-format-file-system
The @code{binfmt_misc} file system, which allows handling of arbitrary
executable file types to be delegated to user space. This requires the
diff --git a/gnu/services.scm b/gnu/services.scm
index 8a4002e072..ea855ad193 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -632,7 +632,7 @@ (define (cleanup-gexp _)
#~(begin
(use-modules (guix build utils))
- ;; Clean out /tmp, /var/run, and /run.
+ ;; Clean out /tmp and /var/run.
;;
;; XXX This needs to happen before service activations, so it
;; has to be here, but this also implicitly assumes that /tmp
@@ -663,15 +663,12 @@ (define (cleanup-gexp _)
(setlocale LC_CTYPE "en_US.utf8")
(delete-file-recursively "/tmp")
(delete-file-recursively "/var/run")
- (delete-file-recursively "/run")
;; Note: The second argument to 'mkdir' is and'ed with umask,
;; hence the 'chmod' calls.
(mkdir "/tmp" #o1777)
(chmod "/tmp" #o1777)
(mkdir "/var/run" #o755)
- (chmod "/var/run" #o755)
- (mkdir "/run" #o755)
(chmod "/var/run" #o755))))))
(define cleanup-service-type
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 4ea8237c70..65704d7681 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -82,6 +82,7 @@ (define-module (gnu system file-systems)
%pseudo-terminal-file-system
%tty-gid
%immutable-store
+ %runtime-variable-data
%control-groups
%elogind-file-systems
@@ -448,6 +449,17 @@ (define %immutable-store
(check? #f)
(flags '(read-only bind-mount no-atime))))
+(define %runtime-variable-data
+ (file-system
+ (type "tmpfs")
+ (mount-point "/run")
+ (device "tmpfs")
+ (flags '(no-dev strict-atime))
+ (options "mode=0755,nr_inodes=800k,size=20%")
+ (needed-for-boot? #t)
+ (check? #f)
+ (create-mount-point? #t)))
+
(define %control-groups
;; The cgroup2 file system.
(list (file-system
@@ -497,7 +509,8 @@ (define %base-file-systems
%debug-file-system
%shared-memory-file-system
%efivars-file-system
- %immutable-store))
+ %immutable-store
+ %runtime-variable-data))
(define %base-live-file-systems
;; This is the bare minimum to use live file-systems.
base-commit: 8576aaf5f90db9b385ea8cf6dc98bf3c062959dc
--
2.46.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#73494] [PATCH 2/2] services: cleanup: Make /var/run a symlink of /run.
2024-09-26 6:44 [bug#73494] [PATCH 0/2] tmpfs /run Hilton Chain via Guix-patches via
2024-09-26 7:05 ` [bug#73494] [PATCH 1/2] file-systems: %base-file-systems: Add " Hilton Chain via Guix-patches via
@ 2024-09-26 7:05 ` Hilton Chain via Guix-patches via
1 sibling, 0 replies; 3+ messages in thread
From: Hilton Chain via Guix-patches via @ 2024-09-26 7:05 UTC (permalink / raw)
To: 73494; +Cc: Hilton Chain
* gnu/services.scm (cleanup-gexp): Make /var/run a symlink of /run.
* gnu/services/dbus.scm (dbus-activation): Adjust accordingly.
Change-Id: I7b94d3e2fe1bef66f435e84bc77f32311dddd0ce
---
gnu/services.scm | 3 +--
gnu/services/dbus.scm | 31 -------------------------------
2 files changed, 1 insertion(+), 33 deletions(-)
diff --git a/gnu/services.scm b/gnu/services.scm
index ea855ad193..50af5f56b6 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -668,8 +668,7 @@ (define (cleanup-gexp _)
;; hence the 'chmod' calls.
(mkdir "/tmp" #o1777)
(chmod "/tmp" #o1777)
- (mkdir "/var/run" #o755)
- (chmod "/var/run" #o755))))))
+ (symlink "/run" "/var/run"))))))
(define cleanup-service-type
;; Service that cleans things up in /tmp and similar.
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index 76e04bf221..9292172e01 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -190,37 +190,6 @@ (define (dbus-activation config)
;; world-readable.
(mkdir-p/perms "/run/dbus" user #o755))
- (catch 'system-error
- (lambda ()
- (symlink "/run/dbus" "/var/run/dbus"))
- (lambda args
- (let ((errno (system-error-errno args)))
- (cond
- ((= errno EEXIST)
- (let ((existing-name
- (false-if-exception
- (readlink "/var/run/dbus"))))
- (unless (equal? existing-name "/run/dbus")
- ;; Move the content of /var/run/dbus to /run/dbus, and
- ;; retry.
- (let ((dir (opendir "/var/run/dbus")))
- (let loop ((next (readdir dir)))
- (cond
- ((eof-object? next) (closedir dir))
- ((member next '("." "..")) (loop (readdir dir)))
- (else
- (begin
- (rename-file (string-append "/var/run/dbus/" next)
- (string-append "/run/dbus/" next))
- (loop (readdir dir)))))))
- (rmdir "/var/run/dbus")
- (symlink "/run/dbus" "/var/run/dbus"))))
- (else
- (format (current-error-port)
- "Failed to symlink /run/dbus to /var/run/dbus: ~s~%"
- (strerror errno))
- (error "cannot create /var/run/dbus"))))))
-
(unless (file-exists? "/etc/machine-id")
(format #t "creating /etc/machine-id...~%")
(invoke (string-append #$(dbus-configuration-dbus config)
--
2.46.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-09-26 7:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-26 6:44 [bug#73494] [PATCH 0/2] tmpfs /run Hilton Chain via Guix-patches via
2024-09-26 7:05 ` [bug#73494] [PATCH 1/2] file-systems: %base-file-systems: Add " Hilton Chain via Guix-patches via
2024-09-26 7:05 ` [bug#73494] [PATCH 2/2] services: cleanup: Make /var/run a symlink of /run Hilton Chain via Guix-patches via
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.