1
0
mirror of https://github.com/systemd/systemd synced 2024-07-08 20:15:55 +00:00

meson: Add nspawn-locale meson option

https://github.com/systemd/systemd/pull/23192 caused breakage in
Arch Linux's build tooling. Let's give users an opt-out aside from
reverting the patch. It's hardly any maintenance work on our side
and gives users an easy way to revert the locale change if needed.

Of course, by default we still pick C.UTF-8 if the option is not
specified.
This commit is contained in:
Daan De Meyer 2022-06-03 13:18:10 +02:00 committed by Yu Watanabe
parent adf59bffe5
commit a22f518676
3 changed files with 6 additions and 4 deletions

View File

@ -937,6 +937,9 @@ conf.set_quoted('NTP_SERVERS', ntp_servers)
default_locale = get_option('default-locale')
conf.set_quoted('SYSTEMD_DEFAULT_LOCALE', default_locale)
nspawn_locale = get_option('nspawn-locale')
conf.set_quoted('SYSTEMD_NSPAWN_LOCALE', nspawn_locale)
localegen_path = get_option('localegen-path')
if localegen_path != ''
conf.set_quoted('LOCALEGEN_PATH', localegen_path)

View File

@ -302,6 +302,8 @@ option('gshadow', type : 'boolean',
description : 'support for shadow group')
option('default-locale', type : 'string', value : 'C.UTF-8',
description : 'default locale used when /etc/locale.conf does not exist')
option('nspawn-locale', type : 'string', value : 'C.UTF-8',
description : 'default locale used by systemd-nspawn when executing commands in a container')
option('localegen-path', type : 'string', value : '',
description : 'absolute path to the locale-gen binary in case the system is using locale-gen')
option('service-watchdog', type : 'string', value : '3min',

View File

@ -3488,10 +3488,7 @@ static int inner_child(
}
if (arg_start_mode != START_BOOT) {
/* If we're running a command in the container, let's default to the C.UTF-8 locale as it's
* part of glibc these days and was backported to most distros a long time before it got
* added to upstream glibc. */
envp[n_env] = strdup("LANG=C.UTF-8");
envp[n_env] = strdup("LANG=" SYSTEMD_NSPAWN_LOCALE);
if (!envp[n_env])
return log_oom();
n_env++;