systemd: 246.6 -> 247-rc2
This commit is contained in:
committed by
Florian Klink
parent
b83ed81c33
commit
ef050bc3d1
+42
@@ -0,0 +1,42 @@
|
||||
From a569dc0bdb43edb79e338c897f06de2dfa81cfc7 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Rammhold <andreas@rammhold.de>
|
||||
Date: Fri, 2 Nov 2018 21:15:42 +0100
|
||||
Subject: [PATCH 12/18] inherit systemd environment when calling generators.
|
||||
|
||||
Systemd generators need access to the environment configured in
|
||||
stage-2-init.sh since it schedules fsck and mkfs executions based on
|
||||
being able to find an appropriate binary for the target filesystem.
|
||||
|
||||
With this commit I am altering the systemd behaviour since upstream
|
||||
tries to gather environments with that they call
|
||||
"environment-generators" and then seems to pass that on to all the other
|
||||
executables that are being called from managers.
|
||||
---
|
||||
src/core/manager.c | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/core/manager.c b/src/core/manager.c
|
||||
index 1f1450b97c..26b9e41d78 100644
|
||||
--- a/src/core/manager.c
|
||||
+++ b/src/core/manager.c
|
||||
@@ -4111,9 +4111,14 @@ static int manager_run_generators(Manager *m) {
|
||||
argv[4] = NULL;
|
||||
|
||||
RUN_WITH_UMASK(0022)
|
||||
- (void) execute_directories((const char* const*) paths, DEFAULT_TIMEOUT_USEC, NULL, NULL,
|
||||
- (char**) argv, m->transient_environment, EXEC_DIR_PARALLEL | EXEC_DIR_IGNORE_ERRORS);
|
||||
-
|
||||
+ (void) execute_directories((const char* const*) paths, DEFAULT_TIMEOUT_USEC,
|
||||
+ // On NixOS we must propagate PATH to generators so they are
|
||||
+ // able to find binaries such as `fsck.${fstype}` and
|
||||
+ // `mkfs.${fstype}`. That is why the last argument of the
|
||||
+ // function (envp) is set to NULL. This propagates systemd's
|
||||
+ // environment (e.g. PATH) that was setup
|
||||
+ // before calling systemd from stage-2-init.sh.
|
||||
+ NULL, NULL, (char**) argv, /* NixOS: use inherited env */ NULL, EXEC_DIR_PARALLEL | EXEC_DIR_IGNORE_ERRORS);
|
||||
r = 0;
|
||||
|
||||
finish:
|
||||
--
|
||||
2.29.2
|
||||
|
||||
Reference in New Issue
Block a user