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/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 *variables[_VARIABLE_LC_MAX] = {};
|
||||
int r = 0, i;
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ char _cleanup_free_ *root_uses_lang;
|
||||
+
|
||||
+ zero(root_uses_lang);
|
||||
+ char _cleanup_free_ *rc_lang = NULL, *rc_lc_ctype = NULL;
|
||||
+ char _cleanup_free_ *root_uses_lang = NULL;
|
||||
+#endif
|
||||
|
||||
if (detect_container(NULL) <= 0) {
|
||||
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)
|
||||
log_warning_errno(r, "Failed to read /etc/locale.conf: %m");
|
||||
}
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ if (r <= 0 &&
|
||||
+ (r = parse_env_file("/etc/sysconfig/language", NEWLINE,
|
||||
+ "ROOT_USES_LANG", &root_uses_lang,
|
||||
+ "RC_LANG", &variables[VARIABLE_LANG],
|
||||
+ NULL)) < 0) {
|
||||
+ if (r != -ENOENT)
|
||||
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
|
||||
+ r = parse_env_file("/etc/sysconfig/language", NEWLINE,
|
||||
+ "RC_LANG", &rc_lang,
|
||||
+ "RC_LC_CTYPE", &rc_lc_ctype,
|
||||
+ "ROOT_USES_LANG", &root_uses_lang,
|
||||
+ NULL);
|
||||
+
|
||||
+ } else {
|
||||
+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) {
|
||||
+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype"))
|
||||
+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG];
|
||||
+ else
|
||||
+ free(variables[VARIABLE_LANG]);
|
||||
+ if (r < 0 && r != -ENOENT)
|
||||
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
|
||||
+
|
||||
+ 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
|
||||
|
||||
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
|
||||
|
||||
|
@ -658,6 +658,16 @@ cflags ()
|
||||
esac
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
|
10
systemd.spec
10
systemd.spec
@ -653,6 +653,16 @@ cflags ()
|
||||
esac
|
||||
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
|
||||
|
||||
export V=e
|
||||
|
Loading…
Reference in New Issue
Block a user