On 09/12/15 19:46, Lennart Poettering wrote: > Also /etc/sysconfig is a Redhatism > that should really go away, the whole concept is flawed.
This is by no means limited to Red Hat derivatives: /etc/default is a Debianism which is basically the same as /etc/sysconfig. I think Red Hat and Debian derivatives do both over-use their respective EnvironmentFile directories (and in particular the START_DAEMON=0 anti-pattern, which was a workaround for how hard it traditionally was to disable a service in sysvinit, needs to go away), but it can make sense for the specific case of overriding non-system-integration-related command-line options, to avoid situations like this: * foobar version 1 has ExecStart=/usr/libexec/foobar --no-fork * sysadmin overrides that to ExecStart=/usr/libexec/foobar --no-fork --enable-uploads * distribution or upstream changes version 2 to say ExecStart=/usr/libexec/foobar --no-fork --use-syslog (or some other new system-integration option) * desired result: --no-fork --use-syslog --enable-uploads * actual result if the sysadmin has used systemctl edit: --no-fork --enable-uploads by having "ExecStart=/usr/libexec/foobar --no-fork [--use-syslog] $OPTIONS" instead. Of course, it would be better for the underlying service to have a configuration file (or, better, a .d directory) where the sysadmin could enable uploads; but we have to work with what we have, not what we'd like to have, and not all underlying services have that. The approach I try to follow in dbus is that options that should be changed by another package (such as default security policies) go in a configuration file, or more recently a file in /usr/share; options that should be changed by the sysadmin (such as security policies and resource limits) also go in a configuration file; but system-integration options (such as "use syslog" or "use systemd for activation") are command-line options that can be forced to their correct-for-this-distribution values by the ExecStart line in the systemd unit, LSB init script or whatever. Unfortunately dbus doesn't always follow this rule for historical reasons - <syslog/> is a configuration-file option, but it shouldn't be. -- Simon McVittie Collabora Ltd. <http://www.collabora.com/> _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel