From 8decd5c4c71ed0ac0df54eba70a4a52c44f08395 Mon Sep 17 00:00:00 2001 From: "Kurt J. Bosch" Date: Tue, 28 Jun 2011 14:11:31 +0200 Subject: rc.sysinit: Fix setting locale When using process substitution with status(), the resulting /dev/fd/* might get lost before it is actualy used. This happens in case a custom stat_busy() forks a subshell. --- rc.sysinit | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'rc.sysinit') diff --git a/rc.sysinit b/rc.sysinit index fca8b43..a63da9b 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -238,8 +238,9 @@ stat_done eval 'echo "$HOSTNAME" > /proc/sys/kernel/hostname' # Flush old locale settings and set user defined locale -status "Setting Locale: ${LOCALE:=en_US}" \ - install -Tm 0755 <(echo "export LANG=$LOCALE") /etc/profile.d/locale.sh +stat_busy "Setting Locale: ${LOCALE:=en_US}" + echo "export LANG=$LOCALE" > /etc/profile.d/locale.sh && + chmod 0755 /etc/profile.d/locale.sh && stat_done || stat_fail if [[ ${LOCALE,,} =~ utf ]]; then stat_busy "Setting Consoles to UTF-8 mode" -- cgit v1.2.3