mirror of
https://github.com/systemd/systemd.git
synced 2025-01-12 13:18:14 +03:00
init: call telinit in case we are run as init and not pid1
This commit is contained in:
parent
629c210d3f
commit
2cb1a60d14
@ -44,6 +44,7 @@ AM_CPPFLAGS = \
|
|||||||
-DSESSION_DATA_UNIT_PATH=\"$(sessionunitdir)\" \
|
-DSESSION_DATA_UNIT_PATH=\"$(sessionunitdir)\" \
|
||||||
-DCGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
|
-DCGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
|
||||||
-DSYSTEMD_BINARY_PATH=\"$(rootbindir)/systemd\" \
|
-DSYSTEMD_BINARY_PATH=\"$(rootbindir)/systemd\" \
|
||||||
|
-DSYSTEMCTL_BINARY_PATH=\"$(rootbindir)/systemctl\" \
|
||||||
-I $(top_srcdir)/src
|
-I $(top_srcdir)/src
|
||||||
|
|
||||||
rootbin_PROGRAMS = \
|
rootbin_PROGRAMS = \
|
||||||
|
2
fixme
2
fixme
@ -73,8 +73,6 @@
|
|||||||
|
|
||||||
* /sbin/shutdown argv[2..] message
|
* /sbin/shutdown argv[2..] message
|
||||||
|
|
||||||
* exec /sbin/telinit from init
|
|
||||||
|
|
||||||
* discuss NOTIFY_SOCKET, make it configurable? security implications?
|
* discuss NOTIFY_SOCKET, make it configurable? security implications?
|
||||||
|
|
||||||
Regularly:
|
Regularly:
|
||||||
|
10
src/main.c
10
src/main.c
@ -610,6 +610,16 @@ int main(int argc, char *argv[]) {
|
|||||||
FDSet *fds = NULL;
|
FDSet *fds = NULL;
|
||||||
bool reexecute = false;
|
bool reexecute = false;
|
||||||
|
|
||||||
|
if (getpid() != 1 && strstr(program_invocation_short_name, "init")) {
|
||||||
|
/* This is compatbility support for SysV, where
|
||||||
|
* calling init as a user is identical to telinit. */
|
||||||
|
|
||||||
|
errno = -ENOENT;
|
||||||
|
execv(SYSTEMCTL_BINARY_PATH, argv);
|
||||||
|
log_error("Failed to exec " SYSTEMCTL_BINARY_PATH ": %m");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
log_show_color(true);
|
log_show_color(true);
|
||||||
log_show_location(false);
|
log_show_location(false);
|
||||||
log_set_max_level(LOG_DEBUG);
|
log_set_max_level(LOG_DEBUG);
|
||||||
|
Loading…
Reference in New Issue
Block a user