From d081dffbd3e57dc9da494a3384e333bf565d4175 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 22 Jun 2012 13:16:28 +0200 Subject: [PATCH] core: remove sysv_console option This option never made much sense. It was originally intended to make sure that the usual startup output of sysv scripts goes to the terminal. However, since SysV scripts started from a terminal would not output to that terminal, but rather /dev/console this effect was more often than not actually taking place. Nowadays systemd has much nicer boot time status output than SysV which makes the sysv output redundant. Finally, all output of services goes to the journal anyway, and is not lost. Hence, let's drop this option, and simplify things a bit. --- man/kernel-command-line.xml | 1 - man/systemd.conf.xml | 1 - man/systemd.xml | 32 +------------------------- src/core/dbus-manager.c | 2 -- src/core/main.c | 46 ++----------------------------------- src/core/manager.h | 3 --- src/core/service.c | 4 ---- src/core/system.conf | 1 - 8 files changed, 3 insertions(+), 87 deletions(-) diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml index 6e1c7e080..6d7c57599 100644 --- a/man/kernel-command-line.xml +++ b/man/kernel-command-line.xml @@ -80,7 +80,6 @@ systemd.crash_chvt= systemd.confirm_spawn= systemd.show_status= - systemd.sysv_console= systemd.log_target= systemd.log_level= systemd.log_color= diff --git a/man/systemd.conf.xml b/man/systemd.conf.xml index 92942f1a9..613763e8a 100644 --- a/man/systemd.conf.xml +++ b/man/systemd.conf.xml @@ -79,7 +79,6 @@ DumpCore=yes CrashShell=no ShowStatus=yes - SysVConsole=yes CrashChVT=1 DefaultStandardOutput=journal DefaultStandardError=inherit diff --git a/man/systemd.xml b/man/systemd.xml index bf450d51c..d3d722a23 100644 --- a/man/systemd.xml +++ b/man/systemd.xml @@ -191,18 +191,6 @@ interpreted as . - - - - Controls whether - output of SysV init scripts will be - directed to the console. This switch - has no effect when run as user - instance. Takes a boolean argument - which may be omitted which is - interpreted as - . - @@ -1048,20 +1036,6 @@ . - - systemd.sysv_console= - - Takes a boolean - argument. If - output of SysV init scripts will be - directed to the console. Defaults to - , unless - is passed as - kernel command line option in which - case it defaults to - . - - systemd.log_target= systemd.log_level= @@ -1106,12 +1080,8 @@ quiet If passed turns off - status output at boot, and disconnects - SysV scripts from the console, much - like + status output at boot, much like systemd.show_status=false - and - systemd.sysv_console=false would. Note that this option is also read by the kernel itself and disables kernel log output to the diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index 452432703..f57c1eeed 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -252,7 +252,6 @@ #ifdef HAVE_SYSV_COMPAT #define BUS_MANAGER_INTERFACE_PROPERTIES_SYSV \ - " \n" \ " \n" \ " \n" #else @@ -569,7 +568,6 @@ static const BusProperty bus_manager_properties[] = { { "ShutdownWatchdogUSec", bus_property_append_usec, "t", offsetof(Manager, shutdown_watchdog), false, bus_property_set_usec }, { "HaveWatchdog", bus_manager_append_have_watchdog, "b", 0 }, #ifdef HAVE_SYSV_COMPAT - { "SysVConsole", bus_property_append_bool, "b", offsetof(Manager, sysv_console) }, { "SysVInitPath", bus_property_append_strv, "as", offsetof(Manager, lookup_paths.sysvinit_path), true }, { "SysVRcndPath", bus_property_append_strv, "as", offsetof(Manager, lookup_paths.sysvrcnd_path), true }, #endif diff --git a/src/core/main.c b/src/core/main.c index 546582cff..8f27a714c 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -79,9 +79,6 @@ static int arg_crash_chvt = -1; static bool arg_confirm_spawn = false; static bool arg_show_status = true; static bool arg_switched_root = false; -#ifdef HAVE_SYSV_COMPAT -static bool arg_sysv_console = true; -#endif static char **arg_default_controllers = NULL; static char ***arg_join_controllers = NULL; static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL; @@ -364,15 +361,6 @@ static int parse_proc_cmdline_word(const char *word) { log_warning("setenv failed %s. Ignoring.", strerror(errno)); } free(cenv); -#ifdef HAVE_SYSV_COMPAT - } else if (startswith(word, "systemd.sysv_console=")) { - int r; - - if ((r = parse_boolean(word + 21)) < 0) - log_warning("Failed to parse SysV console switch %s. Ignoring.", word + 20); - else - arg_sysv_console = r; -#endif } else if (startswith(word, "systemd.") || (in_initrd() && startswith(word, "rd.systemd."))) { @@ -387,9 +375,6 @@ static int parse_proc_cmdline_word(const char *word) { "systemd.crash_chvt=N Change to VT #N on crash\n" "systemd.confirm_spawn=0|1 Confirm every process spawn\n" "systemd.show_status=0|1 Show status updates on the console during bootup\n" -#ifdef HAVE_SYSV_COMPAT - "systemd.sysv_console=0|1 Connect output of SysV scripts to console\n" -#endif "systemd.log_target=console|kmsg|journal|journal-or-kmsg|syslog|syslog-or-kmsg|null\n" " Log target\n" "systemd.log_level=LEVEL Log level\n" @@ -401,12 +386,9 @@ static int parse_proc_cmdline_word(const char *word) { " Set default log error output for services\n" "systemd.setenv=ASSIGNMENT Set an environment variable for all spawned processes\n"); - } else if (streq(word, "quiet")) { + } else if (streq(word, "quiet")) arg_show_status = false; -#ifdef HAVE_SYSV_COMPAT - arg_sysv_console = false; -#endif - } else if (!in_initrd()) { + else if (!in_initrd()) { unsigned i; /* SysV compatibility */ @@ -672,9 +654,6 @@ static int parse_config_file(void) { { "Manager", "DumpCore", config_parse_bool, 0, &arg_dump_core }, { "Manager", "CrashShell", config_parse_bool, 0, &arg_crash_shell }, { "Manager", "ShowStatus", config_parse_bool, 0, &arg_show_status }, -#ifdef HAVE_SYSV_COMPAT - { "Manager", "SysVConsole", config_parse_bool, 0, &arg_sysv_console }, -#endif { "Manager", "CrashChVT", config_parse_int, 0, &arg_crash_chvt }, { "Manager", "CPUAffinity", config_parse_cpu_affinity2, 0, NULL }, { "Manager", "DefaultControllers", config_parse_strv, 0, &arg_default_controllers }, @@ -780,7 +759,6 @@ static int parse_argv(int argc, char *argv[]) { ARG_CRASH_SHELL, ARG_CONFIRM_SPAWN, ARG_SHOW_STATUS, - ARG_SYSV_CONSOLE, ARG_DESERIALIZE, ARG_SWITCHED_ROOT, ARG_INTROSPECT, @@ -803,9 +781,6 @@ static int parse_argv(int argc, char *argv[]) { { "crash-shell", optional_argument, NULL, ARG_CRASH_SHELL }, { "confirm-spawn", optional_argument, NULL, ARG_CONFIRM_SPAWN }, { "show-status", optional_argument, NULL, ARG_SHOW_STATUS }, -#ifdef HAVE_SYSV_COMPAT - { "sysv-console", optional_argument, NULL, ARG_SYSV_CONSOLE }, -#endif { "deserialize", required_argument, NULL, ARG_DESERIALIZE }, { "switched-root", no_argument, NULL, ARG_SWITCHED_ROOT }, { "introspect", optional_argument, NULL, ARG_INTROSPECT }, @@ -946,17 +921,6 @@ static int parse_argv(int argc, char *argv[]) { arg_show_status = r; break; -#ifdef HAVE_SYSV_COMPAT - case ARG_SYSV_CONSOLE: - r = optarg ? parse_boolean(optarg) : 1; - if (r < 0) { - log_error("Failed to parse SysV console boolean %s.", optarg); - return r; - } - arg_sysv_console = r; - break; -#endif - case ARG_DESERIALIZE: { int fd; FILE *f; @@ -1072,9 +1036,6 @@ static int help(void) { " --crash-shell[=0|1] Run shell on crash\n" " --confirm-spawn[=0|1] Ask for confirmation when spawning processes\n" " --show-status[=0|1] Show status updates on the console during bootup\n" -#ifdef HAVE_SYSV_COMPAT - " --sysv-console[=0|1] Connect output of SysV scripts to console\n" -#endif " --log-target=TARGET Set log target (console, journal, syslog, kmsg, journal-or-kmsg, syslog-or-kmsg, null)\n" " --log-level=LEVEL Set log level (debug, info, notice, warning, err, crit, alert, emerg)\n" " --log-color[=0|1] Highlight important log messages\n" @@ -1515,9 +1476,6 @@ int main(int argc, char *argv[]) { } m->confirm_spawn = arg_confirm_spawn; -#ifdef HAVE_SYSV_COMPAT - m->sysv_console = arg_sysv_console; -#endif m->default_std_output = arg_default_std_output; m->default_std_error = arg_default_std_error; m->runtime_watchdog = arg_runtime_watchdog; diff --git a/src/core/manager.h b/src/core/manager.h index b29d0a793..be2780baf 100644 --- a/src/core/manager.h +++ b/src/core/manager.h @@ -222,9 +222,6 @@ struct Manager { bool show_status; bool confirm_spawn; -#ifdef HAVE_SYSV_COMPAT - bool sysv_console; -#endif ExecOutput default_std_output, default_std_error; diff --git a/src/core/service.c b/src/core/service.c index eeabe8fb0..ec6aaa55c 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -928,10 +928,6 @@ static int service_load_sysv_path(Service *s, const char *path) { s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; - - if (UNIT(s)->manager->sysv_console) - s->exec_context.std_output = EXEC_OUTPUT_JOURNAL_AND_CONSOLE; - s->exec_context.kill_mode = KILL_PROCESS; /* We use the long description only if diff --git a/src/core/system.conf b/src/core/system.conf index c6ba95c21..d5208186a 100644 --- a/src/core/system.conf +++ b/src/core/system.conf @@ -15,7 +15,6 @@ #DumpCore=yes #CrashShell=no #ShowStatus=yes -#SysVConsole=yes #CrashChVT=1 #CPUAffinity=1 2 #DefaultControllers=cpu -- 2.30.2