diff options
author | Luca BRUNO <luca.bruno@coreos.com> | 2021-12-23 11:01:07 +0000 |
---|---|---|
committer | Luca BRUNO <luca.bruno@coreos.com> | 2021-12-23 11:01:12 +0000 |
commit | 623370e643e228449f5e49c0d82e6e423ae0e0f7 (patch) | |
tree | be67f5ff16f8501b3970c3d48b6f5c9ee208eb0f | |
parent | 8f7a0fcbecb37569734264483c6ceb49af444982 (diff) | |
download | systemd-623370e643e228449f5e49c0d82e6e423ae0e0f7.tar.gz |
factory: populate /etc/locale.conf with systemd build-time setting
This adds /etc/locale.conf to the set of configuration files
populated by tmpfiles.d factory /etc handling.
In particular, the build-time locale configuration in systemd is
now wired to a /usr factory file, and installed to the system.
On boot, if other locale customization tools did not write
/etc/locale.conf on the system, the factory default file gets
copied to /etc by systemd-tmpfiles.
This is done in order to avoid skews between different system
components when no locale settings are configured. At that point,
systemd can safely act as the fallback owner of /etc/locale.conf.
-rw-r--r-- | factory/templates/locale.conf.in | 1 | ||||
-rw-r--r-- | factory/templates/meson.build | 11 | ||||
-rw-r--r-- | man/locale.conf.xml | 4 | ||||
-rw-r--r-- | meson.build | 1 | ||||
-rw-r--r-- | tmpfiles.d/etc.conf.in | 1 |
5 files changed, 16 insertions, 2 deletions
diff --git a/factory/templates/locale.conf.in b/factory/templates/locale.conf.in new file mode 100644 index 0000000000..421fd569a9 --- /dev/null +++ b/factory/templates/locale.conf.in @@ -0,0 +1 @@ +LANG="{{ SYSTEMD_DEFAULT_LOCALE }}" diff --git a/factory/templates/meson.build b/factory/templates/meson.build new file mode 100644 index 0000000000..821f176a74 --- /dev/null +++ b/factory/templates/meson.build @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +factory_etc_dir = factorydir / 'etc' + +custom_target( + 'locale.conf', + input : 'locale.conf.in', + output : 'locale.conf', + command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'], + install : true, + install_dir : factory_etc_dir) diff --git a/man/locale.conf.xml b/man/locale.conf.xml index b24ad9cf2e..fe263fcfd8 100644 --- a/man/locale.conf.xml +++ b/man/locale.conf.xml @@ -64,14 +64,14 @@ might be checked for locale configuration as well, however only as fallback.</para> - <para><filename>/etc/locale.conf</filename> is usually created and updated + <para><filename>/etc/locale.conf</filename> can be updated using <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> may be used to alter the settings in this file during runtime from the command line. Use <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to initialize them on mounted (but not booted) system images.</para> + to customize them on mounted (but not booted) system images.</para> </refsect1> <refsect1> diff --git a/meson.build b/meson.build index c0cbadecb1..dc6cbf8a58 100644 --- a/meson.build +++ b/meson.build @@ -3707,6 +3707,7 @@ subdir('docs/var-log') install_subdir('factory/etc', install_dir : factorydir) +subdir('factory/templates') if install_sysconfdir install_data('xorg/50-systemd-user.sh', diff --git a/tmpfiles.d/etc.conf.in b/tmpfiles.d/etc.conf.in index ebdc699c26..2fdd498da5 100644 --- a/tmpfiles.d/etc.conf.in +++ b/tmpfiles.d/etc.conf.in @@ -12,6 +12,7 @@ L+ /etc/mtab - - - - ../proc/self/mounts {% if HAVE_SMACK_RUN_LABEL %} t /etc/mtab - - - - security.SMACK64=_ {% endif %} +C! /etc/locale.conf - - - - C! /etc/nsswitch.conf - - - - {% if HAVE_PAM %} C! /etc/pam.d - - - - |