forked from pool/systemd
.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=919
This commit is contained in:
parent
16910abbfe
commit
87a304976b
@ -11,42 +11,55 @@ Index: systemd-221/src/core/locale-setup.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- systemd-221.orig/src/core/locale-setup.c
|
--- systemd-221.orig/src/core/locale-setup.c
|
||||||
+++ systemd-221/src/core/locale-setup.c
|
+++ systemd-221/src/core/locale-setup.c
|
||||||
@@ -34,6 +34,11 @@ int locale_setup(char ***environment) {
|
@@ -34,6 +34,10 @@ int locale_setup(char ***environment) {
|
||||||
char **add;
|
char **add;
|
||||||
char *variables[_VARIABLE_LC_MAX] = {};
|
char *variables[_VARIABLE_LC_MAX] = {};
|
||||||
int r = 0, i;
|
int r = 0, i;
|
||||||
+#ifdef HAVE_SYSV_COMPAT
|
+#ifdef HAVE_SYSV_COMPAT
|
||||||
+ char _cleanup_free_ *root_uses_lang;
|
+ char _cleanup_free_ *rc_lang = NULL, *rc_lc_ctype = NULL;
|
||||||
+
|
+ char _cleanup_free_ *root_uses_lang = NULL;
|
||||||
+ zero(root_uses_lang);
|
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
if (detect_container(NULL) <= 0) {
|
if (detect_container(NULL) <= 0) {
|
||||||
r = parse_env_file("/proc/cmdline", WHITESPACE,
|
r = parse_env_file("/proc/cmdline", WHITESPACE,
|
||||||
@@ -80,6 +85,27 @@ int locale_setup(char ***environment) {
|
@@ -80,6 +85,41 @@ int locale_setup(char ***environment) {
|
||||||
if (r < 0 && r != -ENOENT)
|
if (r < 0 && r != -ENOENT)
|
||||||
log_warning_errno(r, "Failed to read /etc/locale.conf: %m");
|
log_warning_errno(r, "Failed to read /etc/locale.conf: %m");
|
||||||
}
|
}
|
||||||
+#ifdef HAVE_SYSV_COMPAT
|
+#ifdef HAVE_SYSV_COMPAT
|
||||||
+ if (r <= 0 &&
|
+ r = parse_env_file("/etc/sysconfig/language", NEWLINE,
|
||||||
+ (r = parse_env_file("/etc/sysconfig/language", NEWLINE,
|
+ "RC_LANG", &rc_lang,
|
||||||
+ "ROOT_USES_LANG", &root_uses_lang,
|
+ "RC_LC_CTYPE", &rc_lc_ctype,
|
||||||
+ "RC_LANG", &variables[VARIABLE_LANG],
|
+ "ROOT_USES_LANG", &root_uses_lang,
|
||||||
+ NULL)) < 0) {
|
+ NULL);
|
||||||
+ if (r != -ENOENT)
|
|
||||||
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
|
|
||||||
+
|
+
|
||||||
+ } else {
|
+ if (r < 0 && r != -ENOENT)
|
||||||
+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) {
|
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
|
||||||
+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype"))
|
|
||||||
+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG];
|
|
||||||
+ else
|
|
||||||
+ free(variables[VARIABLE_LANG]);
|
|
||||||
+
|
+
|
||||||
+ variables[VARIABLE_LANG]=strdup("POSIX");
|
+ /*
|
||||||
|
+ * Use the values of the interactive locale configuration in /etc/sysconfig/language
|
||||||
|
+ * as fallback if /etc/locale.conf does not exist and no locale was specified on the
|
||||||
|
+ * kernel's command line. The special case ROOT_USES_LANG=ctype allows to set LC_CTYPE
|
||||||
|
+ * even if LANG for root is set to e.g. POSIX. But do this only if no LC_CTYPE has been
|
||||||
|
+ * set in /etc/locale.conf and on the kernel's command line.
|
||||||
|
+ */
|
||||||
|
+ if (root_uses_lang) {
|
||||||
|
+ if (strcaseeq(root_uses_lang, "yes") && !variables[VARIABLE_LANG]) {
|
||||||
|
+ variables[VARIABLE_LANG] = rc_lang;
|
||||||
|
+ rc_lang = NULL;
|
||||||
|
+ }
|
||||||
|
+ if (strcaseeq(root_uses_lang, "ctype") && !variables[VARIABLE_LC_CTYPE]) {
|
||||||
|
+ if (variables[VARIABLE_LANG])
|
||||||
|
+ variables[VARIABLE_LC_CTYPE] = strdup(variables[VARIABLE_LANG]);
|
||||||
|
+ else if (rc_lc_ctype && *rc_lc_ctype) {
|
||||||
|
+ variables[VARIABLE_LC_CTYPE] = rc_lc_ctype;
|
||||||
|
+ rc_lc_ctype = NULL;
|
||||||
|
+ } else if (rc_lang && *rc_lang) {
|
||||||
|
+ variables[VARIABLE_LC_CTYPE] = rc_lang;
|
||||||
|
+ rc_lang = NULL;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
add = NULL;
|
add = NULL;
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de
|
||||||
|
|
||||||
|
- Modify patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch
|
||||||
|
to handle locale at boot time well (boo#927250)
|
||||||
|
- Be able to use build service environments several times
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de
|
Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -658,6 +658,16 @@ cflags ()
|
|||||||
esac
|
esac
|
||||||
set +o noclobber
|
set +o noclobber
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Be sure that fresh build libudev is linked as otherwise no errors are found
|
||||||
|
#
|
||||||
|
sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\
|
||||||
|
systemd_cryptsetup_LDFLAGS = \\\
|
||||||
|
$(AM_LDFLAGS) \\\
|
||||||
|
-Wl,-rpath-link=$(top_srcdir)/.libs\
|
||||||
|
|
||||||
|
}' Makefile.am
|
||||||
sh autogen.sh
|
sh autogen.sh
|
||||||
|
|
||||||
export V=e
|
export V=e
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 12 09:56:36 UTC 2015 - werner@suse.de
|
||||||
|
|
||||||
|
- Modify patch handle-root_uses_lang-value-in-etc-sysconfig-language.patch
|
||||||
|
to handle locale at boot time well (boo#927250)
|
||||||
|
- Be able to use build service environments several times
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de
|
Tue Nov 10 18:06:43 UTC 2015 - schwab@suse.de
|
||||||
|
|
||||||
|
10
systemd.spec
10
systemd.spec
@ -653,6 +653,16 @@ cflags ()
|
|||||||
esac
|
esac
|
||||||
set +o noclobber
|
set +o noclobber
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Be sure that fresh build libudev is linked as otherwise no errors are found
|
||||||
|
#
|
||||||
|
sed -ri '/^systemd_cryptsetup_CFLAGS/,/^systemd_cryptsetup_LDADD/{ /^$/a\
|
||||||
|
systemd_cryptsetup_LDFLAGS = \\\
|
||||||
|
$(AM_LDFLAGS) \\\
|
||||||
|
-Wl,-rpath-link=$(top_srcdir)/.libs\
|
||||||
|
|
||||||
|
}' Makefile.am
|
||||||
sh autogen.sh
|
sh autogen.sh
|
||||||
|
|
||||||
export V=e
|
export V=e
|
||||||
|
Loading…
Reference in New Issue
Block a user