* [bug#51548] [PATCH] services: Create /run and /var/run on activation.
@ 2021-11-01 11:39 Tom Fitzhenry
2021-11-04 7:00 ` Tom Fitzhenry
0 siblings, 1 reply; 2+ messages in thread
From: Tom Fitzhenry @ 2021-11-01 11:39 UTC (permalink / raw)
To: 51548
This is needed as part of being able to boot with just /boot, /guix and
/var/guix, per https://issues.guix.gnu.org/51547.
Without this patch, activation-on-boot fails due to the inability to
open /var/run/utmpx and symlink /run/current-system.
This is similar to what activation-script does with /var/log/.
* gnu/services.scm (activation-script): Create /run/ and /var/run/.
---
gnu/services.scm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gnu/services.scm b/gnu/services.scm
index 1655218f2d..f60d7dc4c3 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -620,6 +620,7 @@ (define actions
;; Make sure the user accounting database
exists. If it
;; does not exist, 'setutxent' does not create
it and
;; thus there is no accounting at all.
+ (mkdir-p "/var/run")
(close-port (open-file "/var/run/utmpx" "a0"))
;; Same for 'wtmp', which is populated by
mingetty et
@@ -630,6 +631,7 @@ (define actions
;; Set up /run/current-system. Among other
things this
;; sets up locales, which the activation snippets
;; executed below may expect.
+ (mkdir-p "/run")
(activate-current-system)
;; Run the services' activation snippets.
--
2.33.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [bug#51548] [PATCH] services: Create /run and /var/run on activation.
2021-11-01 11:39 [bug#51548] [PATCH] services: Create /run and /var/run on activation Tom Fitzhenry
@ 2021-11-04 7:00 ` Tom Fitzhenry
0 siblings, 0 replies; 2+ messages in thread
From: Tom Fitzhenry @ 2021-11-04 7:00 UTC (permalink / raw)
To: 51548
Having thought about this patch some more, I think it can be better done.
On 1/11/21 22:39, Tom Fitzhenry wrote:
> ;; thus there is no accounting at all.
> + (mkdir-p "/var/run")
This line will create /var/run if it doesn't exist during activation.
This is safe, but there is already code that creates /var/run :
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/install.scm?id=63c356fe13f0c7cc560a1f9aeec4926422c22137#n120
. This runs on installation.
By adding this line, this responsibility is split across two parts of
the code base: installation and activation. This could cause confusion.
If, as this patch intends, we want to be able to boot from just /boot,
/gnu and /var/guix, perhaps we should move
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/install.scm?id=63c356fe13f0c7cc560a1f9aeec4926422c22137#n120
(and surrounding code) from running at install-time to running at
activation-time.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-11-04 7:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-01 11:39 [bug#51548] [PATCH] services: Create /run and /var/run on activation Tom Fitzhenry
2021-11-04 7:00 ` Tom Fitzhenry
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).