diff --git a/filesystem/Makefile b/filesystem/Makefile index 48f28d9..c9540e9 100644 --- a/filesystem/Makefile +++ b/filesystem/Makefile @@ -1,4 +1,4 @@ -FS_FILES=be-latin1.bmap build.sh fstab group hosts inittab issue klogd.run Makefile passwd profile rcS root shadow simple.script syslogd.run udhcpc.run ../busybox ../bzImage +FS_FILES=be-latin1.bmap build.sh fstab group hosts inittab issue klogd.run Makefile passwd profile rcS root shadow simple.script syslogd.run udhcpc.run ../busybox ../bzImage locale.sh ../fs.tar: build.sh $(FS_FILES) fakeroot ./build.sh diff --git a/filesystem/build.sh b/filesystem/build.sh index 96ba433..6c487df 100755 --- a/filesystem/build.sh +++ b/filesystem/build.sh @@ -30,6 +30,7 @@ ln -s /proc/self/mounts etc/mtab for f in shadow; do install -m600 "$srcdir"/$f etc/ done +install -m755 "$srcdir"/locale.sh etc/profile.d/locale.sh # setup /var for d in cache local opt log/old lib/misc empty; do diff --git a/filesystem/locale.sh b/filesystem/locale.sh new file mode 100644 index 0000000..11b7dc9 --- /dev/null +++ b/filesystem/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