core: Support system.conf.d and user.conf.d directories in the usual search paths

This commit is contained in:
Josh Triplett 2014-11-29 01:06:04 -08:00 committed by Zbigniew Jędrzejewski-Szmek
parent d3fae78fe8
commit 1b907b5c3b
6 changed files with 47 additions and 15 deletions

View file

@ -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 += \

View file

@ -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>

View file

@ -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>

View file

@ -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;
}

View file

@ -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]

View file

@ -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]