|
|
a1c89c5 |
From 07bceef2a9c520e24da427c7ce500ad36ad37571 Mon Sep 17 00:00:00 2001
|
|
|
a1c89c5 |
From: Lennart Poettering <lennart@poettering.net>
|
|
|
a1c89c5 |
Date: Wed, 31 Aug 2011 14:09:14 +0200
|
|
|
a1c89c5 |
Subject: [PATCH] locale: support $LANGUAGE too
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
$LANGUAGE is a GNU extension that is probably worth supporting, since it
|
|
|
a1c89c5 |
allows specifiying an order of languages.
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
https://bugs.freedesktop.org/show_bug.cgi?id=40510
|
|
|
a1c89c5 |
---
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
[removed the localed.c patch -- michich]
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
man/locale.conf.xml | 2 ++
|
|
|
a1c89c5 |
src/locale-setup.c | 8 ++++++--
|
|
|
a1c89c5 |
units/getty@.service.m4 | 2 +-
|
|
|
a1c89c5 |
4 files changed, 12 insertions(+), 3 deletions(-)
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
diff --git a/man/locale.conf.xml b/man/locale.conf.xml
|
|
|
a1c89c5 |
index 742c5eb..3723997 100644
|
|
|
a1c89c5 |
--- a/man/locale.conf.xml
|
|
|
a1c89c5 |
+++ b/man/locale.conf.xml
|
|
|
a1c89c5 |
@@ -69,6 +69,7 @@
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
<para>Note that the kernel command line options
|
|
|
a1c89c5 |
<varname>locale.LANG=</varname>,
|
|
|
a1c89c5 |
+ <varname>locale.LANGUAGE=</varname>,
|
|
|
a1c89c5 |
<varname>locale.LC_CTYPE=</varname>,
|
|
|
a1c89c5 |
<varname>locale.LC_NUMERIC=</varname>,
|
|
|
a1c89c5 |
<varname>locale.LC_TIME=</varname>,
|
|
|
a1c89c5 |
@@ -101,6 +102,7 @@
|
|
|
a1c89c5 |
<para>The following locale settings may be set using
|
|
|
a1c89c5 |
<filename>/etc/locale.conf</filename>:
|
|
|
a1c89c5 |
<varname>LANG=</varname>,
|
|
|
a1c89c5 |
+ <varname>LANGUAGE=</varname>,
|
|
|
a1c89c5 |
<varname>LC_CTYPE=</varname>,
|
|
|
a1c89c5 |
<varname>LC_NUMERIC=</varname>,
|
|
|
a1c89c5 |
<varname>LC_TIME=</varname>,
|
|
|
a1c89c5 |
diff --git a/src/locale-setup.c b/src/locale-setup.c
|
|
|
a1c89c5 |
index 33111da..41eb50b 100644
|
|
|
a1c89c5 |
--- a/src/locale-setup.c
|
|
|
a1c89c5 |
+++ b/src/locale-setup.c
|
|
|
a1c89c5 |
@@ -32,6 +32,7 @@ enum {
|
|
|
a1c89c5 |
* using LANG instead. */
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
VARIABLE_LANG,
|
|
|
a1c89c5 |
+ VARIABLE_LANGUAGE,
|
|
|
a1c89c5 |
VARIABLE_LC_CTYPE,
|
|
|
a1c89c5 |
VARIABLE_LC_NUMERIC,
|
|
|
a1c89c5 |
VARIABLE_LC_TIME,
|
|
|
a1c89c5 |
@@ -49,6 +50,7 @@ enum {
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
static const char * const variable_names[_VARIABLE_MAX] = {
|
|
|
a1c89c5 |
[VARIABLE_LANG] = "LANG",
|
|
|
a1c89c5 |
+ [VARIABLE_LANGUAGE] = "LANGUAGE",
|
|
|
a1c89c5 |
[VARIABLE_LC_CTYPE] = "LC_CTYPE",
|
|
|
a1c89c5 |
[VARIABLE_LC_NUMERIC] = "LC_NUMERIC",
|
|
|
a1c89c5 |
[VARIABLE_LC_TIME] = "LC_TIME",
|
|
|
a1c89c5 |
@@ -75,6 +77,7 @@ int locale_setup(void) {
|
|
|
a1c89c5 |
"LANG", &variables[VARIABLE_LANG],
|
|
|
a1c89c5 |
#endif
|
|
|
a1c89c5 |
"locale.LANG", &variables[VARIABLE_LANG],
|
|
|
a1c89c5 |
+ "locale.LANGUAGE", &variables[VARIABLE_LANGUAGE],
|
|
|
a1c89c5 |
"locale.LC_CTYPE", &variables[VARIABLE_LC_CTYPE],
|
|
|
a1c89c5 |
"locale.LC_NUMERIC", &variables[VARIABLE_LC_NUMERIC],
|
|
|
a1c89c5 |
"locale.LC_TIME", &variables[VARIABLE_LC_TIME],
|
|
|
a1c89c5 |
@@ -98,6 +101,7 @@ int locale_setup(void) {
|
|
|
a1c89c5 |
if (r <= 0 &&
|
|
|
a1c89c5 |
(r = parse_env_file("/etc/locale.conf", NEWLINE,
|
|
|
a1c89c5 |
"LANG", &variables[VARIABLE_LANG],
|
|
|
a1c89c5 |
+ "LANGUAGE", &variables[VARIABLE_LANGUAGE],
|
|
|
a1c89c5 |
"LC_CTYPE", &variables[VARIABLE_LC_CTYPE],
|
|
|
a1c89c5 |
"LC_NUMERIC", &variables[VARIABLE_LC_NUMERIC],
|
|
|
a1c89c5 |
"LC_TIME", &variables[VARIABLE_LC_TIME],
|
|
|
a1c89c5 |
@@ -212,8 +216,8 @@ int locale_setup(void) {
|
|
|
a1c89c5 |
"LC_IDENTIFICATION", &variables[VARIABLE_LC_IDENTIFICATION],
|
|
|
a1c89c5 |
NULL)) < 0) {
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
- if (r != -ENOENT)
|
|
|
a1c89c5 |
- log_warning("Failed to read /etc/sysconfig/i18n: %s", strerror(-r));
|
|
|
a1c89c5 |
+ if (r != -ENOENT)
|
|
|
a1c89c5 |
+ log_warning("Failed to read /etc/sysconfig/i18n: %s", strerror(-r));
|
|
|
a1c89c5 |
}
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
#endif
|
|
|
a1c89c5 |
diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
|
|
|
a1c89c5 |
index b111567..14d8187 100644
|
|
|
a1c89c5 |
--- a/units/getty@.service.m4
|
|
|
a1c89c5 |
+++ b/units/getty@.service.m4
|
|
|
a1c89c5 |
@@ -44,7 +44,7 @@ KillMode=process
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
# Unset locale for the console getty since the console has problems
|
|
|
a1c89c5 |
# displaying some internationalized messages.
|
|
|
a1c89c5 |
-Environment=LANG= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=
|
|
|
a1c89c5 |
+Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=
|
|
|
a1c89c5 |
|
|
|
a1c89c5 |
# Some login implementations ignore SIGTERM, so we send SIGHUP
|
|
|
a1c89c5 |
# instead, to ensure that login terminates cleanly.
|
|
|
a1c89c5 |
--
|
|
|
a1c89c5 |
1.7.4.4
|
|
|
a1c89c5 |
|