Message ID | 1421684056-5266-6-git-send-email-maxtram95@gmail.com |
---|---|
State | Superseded |
Headers | show |
Hi Maxim, On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote: > Add /etc/profile.d/locale.sh script from Arch Linux to apply systemd > locale settings in user shells. I don't really see the point of doing it especially when systemd is used. This configuration file is for shell, even busybox should support it... Why not putting it in the default skeleton? Any thought about this from other users/developpers? > > Signed-off-by: Maxim Mikityanskiy <maxtram95@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 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot Regards,
Hi Samuel, 2015-02-02 17:20 GMT+02:00 Samuel Martin <s.martin49@gmail.com>: > Hi Maxim, > > On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote: >> Add /etc/profile.d/locale.sh script from Arch Linux to apply systemd >> locale settings in user shells. > > I don't really see the point of doing it especially when systemd is used. > This configuration file is for shell, even busybox should support it... This /etc/profile.d/locale.sh file reads locale settings from /etc/locale.conf (and possibly user-specific files) and applies these settings on shell logins. /etc/locale.conf was introduced with systemd, it is written by localectl tool from systemd, so I decided to install /etc/profile.d/locale.sh when systemd is used. > Why not putting it in the default skeleton? Of course, /etc/locale.conf is just a text file, it is not necessary should be generated by localectl, it could be written in text editor, so /etc/profile.d/locale.sh could be put in the default skeleton, so there will be convenient place for storing locale settings on both systemd and SysVinit systems. I just didn't think about this before. > Any thought about this from other users/developpers? > >> >> Signed-off-by: Maxim Mikityanskiy <maxtram95@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 >> >> _______________________________________________ >> buildroot mailing list >> buildroot@busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot > > Regards, > > -- > Samuel Cheers, Maxim
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
Add /etc/profile.d/locale.sh script from Arch Linux to apply systemd locale settings in user shells. Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com> --- package/systemd/locale.sh | 26 ++++++++++++++++++++++++++ package/systemd/systemd.mk | 7 +++++++ 2 files changed, 33 insertions(+) create mode 100644 package/systemd/locale.sh