[Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells

Maxim Mikityanskiy maxtram95 at gmail.com
Mon Jan 19 16:14:05 UTC 2015


Add /etc/profile.d/locale.sh script from Arch Linux to apply systemd
locale settings in user shells.

Signed-off-by: Maxim Mikityanskiy <maxtram95 at gmail.com>
---
 package/systemd/locale.sh  | 26 ++++++++++++++++++++++++++
 package/systemd/systemd.mk |  7 +++++++
 2 files changed, 33 insertions(+)
 create mode 100644 package/systemd/locale.sh

diff --git a/package/systemd/locale.sh b/package/systemd/locale.sh
new file mode 100644
index 0000000..b665872
--- /dev/null
+++ b/package/systemd/locale.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+if [ -z "$LANG" ]; then
+  if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
+    . "$XDG_CONFIG_HOME/locale.conf"
+  elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
+    . "$HOME/.config/locale.conf"
+  elif [ -r /etc/locale.conf ]; then
+    . /etc/locale.conf
+  fi
+fi
+
+LANG=${LANG:-C}
+export LANG
+[ -n "$LC_CTYPE" ]          && export LC_CTYPE
+[ -n "$LC_NUMERIC" ]        && export LC_NUMERIC
+[ -n "$LC_TIME" ]           && export LC_TIME
+[ -n "$LC_COLLATE" ]        && export LC_COLLATE
+[ -n "$LC_MONETARY" ]       && export LC_MONETARY
+[ -n "$LC_MESSAGES" ]       && export LC_MESSAGES
+[ -n "$LC_PAPER" ]          && export LC_PAPER
+[ -n "$LC_NAME" ]           && export LC_NAME
+[ -n "$LC_ADDRESS" ]        && export LC_ADDRESS
+[ -n "$LC_TELEPHONE" ]      && export LC_TELEPHONE
+[ -n "$LC_MEASUREMENT" ]    && export LC_MEASUREMENT
+[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 92f99c2..ef14c76 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -158,6 +158,12 @@ define SYSTEMD_INSTALL_MACHINEID_HOOK
 	touch $(TARGET_DIR)/etc/machine-id
 endef
 
+define SYSTEMD_INSTALL_LOCALE_SH_HOOK
+	mkdir -p $(TARGET_DIR)/etc/profile.d
+	$(INSTALL) -D -m 644 package/systemd/locale.sh \
+		$(TARGET_DIR)/etc/profile.d/locale.sh
+endef
+
 define SYSTEMD_SANITIZE_PATH_IN_UNITS
 	find $(TARGET_DIR)/lib/systemd/system -name '*.service' \
 		-exec $(SED) 's,$(HOST_DIR),,g' {} \;
@@ -172,6 +178,7 @@ endef
 SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
 	SYSTEMD_INSTALL_INIT_HOOK \
 	SYSTEMD_INSTALL_MACHINEID_HOOK \
+	SYSTEMD_INSTALL_LOCALE_SH_HOOK \
 	SYSTEMD_INSTALL_RESOLVCONF_HOOK \
 	SYSTEMD_DISABLE_LDCONFIG_SERVICE_HOOK \
 	SYSTEMD_SANITIZE_PATH_IN_UNITS
-- 
2.2.1




More information about the buildroot mailing list