--- Makefile-man.am | 12 +++++++++++- man/systemd-system.conf.xml | 25 ++++++++++++++++++++----- man/systemd.xml | 10 ++++++---- src/core/main.c | 9 ++++----- src/core/system.conf | 3 +++ src/core/user.conf | 3 +++ 6 files changed, 47 insertions(+), 15 deletions(-)
diff --git a/Makefile-man.am b/Makefile-man.am index c24606a..f025be0 100644 --- a/Makefile-man.am +++ b/Makefile-man.am @@ -195,6 +195,7 @@ MANPAGES_ALIAS += \ man/sd_journal_wait.3 \ man/sd_machine_get_ifindices.3 \ man/sd_notifyf.3 \ + man/system.conf.d.5 \ man/systemd-ask-password-console.path.8 \ man/systemd-ask-password-wall.path.8 \ man/systemd-ask-password-wall.service.8 \ @@ -227,7 +228,8 @@ MANPAGES_ALIAS += \ man/systemd-udevd-kernel.socket.8 \ man/systemd-udevd.8 \ man/systemd-update-done.8 \ - man/systemd-user.conf.5 + man/systemd-user.conf.5 \ + man/user.conf.d.5 man/SD_ALERT.3: man/sd-daemon.3 man/SD_CRIT.3: man/sd-daemon.3 man/SD_DEBUG.3: man/sd-daemon.3 @@ -301,6 +303,7 @@ man/sd_journal_test_cursor.3: man/sd_journal_get_cursor.3 man/sd_journal_wait.3: man/sd_journal_get_fd.3 man/sd_machine_get_ifindices.3: man/sd_machine_get_class.3 man/sd_notifyf.3: man/sd_notify.3 +man/system.conf.d.5: man/systemd-system.conf.5 man/systemd-ask-password-console.path.8: man/systemd-ask-password-console.service.8 man/systemd-ask-password-wall.path.8: man/systemd-ask-password-console.service.8 man/systemd-ask-password-wall.service.8: man/systemd-ask-password-console.service.8 @@ -334,6 +337,7 @@ man/systemd-udevd-kernel.socket.8: man/systemd-udevd.service.8 man/systemd-udevd.8: man/systemd-udevd.service.8 man/systemd-update-done.8: man/systemd-update-done.service.8 man/systemd-user.conf.5: man/systemd-system.conf.5 +man/user.conf.d.5: man/systemd-system.conf.5 man/SD_ALERT.html: man/sd-daemon.html $(html-alias) @@ -553,6 +557,9 @@ man/sd_machine_get_ifindices.html: man/sd_machine_get_class.html man/sd_notifyf.html: man/sd_notify.html $(html-alias) +man/system.conf.d.html: man/systemd-system.conf.html + $(html-alias) + man/systemd-ask-password-console.path.html: man/systemd-ask-password-console.service.html $(html-alias) @@ -652,6 +659,9 @@ man/systemd-update-done.html: man/systemd-update-done.service.html man/systemd-user.conf.html: man/systemd-system.conf.html $(html-alias) +man/user.conf.d.html: man/systemd-system.conf.html + $(html-alias) + if ENABLE_BACKLIGHT MANPAGES += \ diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml index 284516d..dfb180c 100644 --- a/man/systemd-system.conf.xml +++ b/man/systemd-system.conf.xml @@ -22,7 +22,8 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. --> -<refentry id="systemd-system.conf"> +<refentry id="systemd-system.conf" + xmlns:xi="http://www.w3.org/2001/XInclude"> <refentryinfo> <title>systemd-system.conf</title> <productname>systemd</productname> @@ -44,25 +45,39 @@ <refnamediv> <refname>systemd-system.conf</refname> + <refname>system.conf.d</refname> <refname>systemd-user.conf</refname> - <refpurpose>System and session service manager configuration file</refpurpose> + <refname>user.conf.d</refname> + <refpurpose>System and session service manager configuration files</refpurpose> </refnamediv> <refsynopsisdiv> <para><filename>/etc/systemd/system.conf</filename></para> + <para><filename>/etc/systemd/system.conf.d/*.conf</filename></para> + <para><filename>/run/systemd/system.conf.d/*.conf</filename></para> + <para><filename>/usr/lib/systemd/system.conf.d/*.conf</filename></para> <para><filename>/etc/systemd/user.conf</filename></para> + <para><filename>/etc/systemd/user.conf.d/*.conf</filename></para> + <para><filename>/run/systemd/user.conf.d/*.conf</filename></para> + <para><filename>/usr/lib/systemd/user.conf.d/*.conf</filename></para> </refsynopsisdiv> <refsect1> <title>Description</title> - <para>When run as system instance systemd reads the - configuration file <filename>system.conf</filename>, - otherwise <filename>user.conf</filename>. These + <para>When run as a system instance, systemd interprets the + configuration file <filename>system.conf</filename> and the + files in <filename>system.conf.d</filename> directories; when + run as a user instance, systemd interprets the configuration + file <filename>user.conf</filename> and the files in + <filename>user.conf.d</filename> directories. These configuration files contain a few settings controlling basic manager operations.</para> </refsect1> + <xi:include href="standard-conf.xml" xpointer="confd" /> + <xi:include href="standard-conf.xml" xpointer="conf" /> + <refsect1> <title>Options</title> diff --git a/man/systemd.xml b/man/systemd.xml index bf7a7a6..d776815 100644 --- a/man/systemd.xml +++ b/man/systemd.xml @@ -75,10 +75,12 @@ <citerefentry><refentrytitle>telinit</refentrytitle><manvolnum>8</manvolnum></citerefentry> for more information.</para> - <para>When run as system instance, systemd interprets - the configuration file - <filename>system.conf</filename>, otherwise - <filename>user.conf</filename>. See + <para>When run as a system instance, systemd interprets the + configuration file <filename>system.conf</filename> and the + files in <filename>system.conf.d</filename> directories; when + run as a user instance, systemd interprets the configuration + file <filename>user.conf</filename> and the files in + <filename>user.conf.d</filename> directories. See <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.</para> </refsect1> diff --git a/src/core/main.c b/src/core/main.c index c9fd562..140f219 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -667,13 +667,12 @@ static int parse_config_file(void) { {} }; - const char *fn; + const char *fn, *conf_dirs_nulstr; fn = arg_running_as == SYSTEMD_SYSTEM ? PKGSYSCONFDIR "/system.conf" : PKGSYSCONFDIR "/user.conf"; - config_parse(NULL, fn, NULL, - "Manager\0", - config_item_table_lookup, items, - false, false, true, NULL); + conf_dirs_nulstr = arg_running_as == SYSTEMD_SYSTEM ? CONF_DIRS_NULSTR("systemd/system.conf") : CONF_DIRS_NULSTR("systemd/user.conf"); + config_parse_many(fn, conf_dirs_nulstr, "Manager\0", + config_item_table_lookup, items, false, NULL); return 0; } diff --git a/src/core/system.conf b/src/core/system.conf index 65a35a0..a372720 100644 --- a/src/core/system.conf +++ b/src/core/system.conf @@ -5,6 +5,9 @@ # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # +# You can override the directives in this file by creating files in +# /etc/systemd/system.conf.d/*.conf. +# # See systemd-system.conf(5) for details [Manager] diff --git a/src/core/user.conf b/src/core/user.conf index 8c7ecde..87c8164 100644 --- a/src/core/user.conf +++ b/src/core/user.conf @@ -5,6 +5,9 @@ # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # +# You can override the directives in this file by creating files in +# /etc/systemd/user.conf.d/*.conf. +# # See systemd-user.conf(5) for details [Manager] -- 2.1.3 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel