#! /bin/sh PREREQ="" DESCRIPTION="Setting up locales..." . /scripts/live-functions prereqs() { echo "$PREREQ" } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac log_begin_msg "$DESCRIPTION" if [ -e /root/etc/default/locale ]; then grep_file=/root/etc/default/locale elif [ -e /root/etc/environment ]; then # Old locales policy grep_file=/root/etc/environment fi if [ -n "${grep_file}" ]; then # use rootfs configured locale locale=$(grep -s 'LANG=' ${grep_file} | sed s/'LANG='// | tr -d '"' ) else grep_file=/root/etc/default/locale fi # commandline for x in $(cat /proc/cmdline); do case $x in debian-installer/locale=*) locale=${x#debian-installer/locale=} set_locale="true" ;; locale=*) locale=${x#locale=} set_locale="true" ;; esac done if [ -z "${locale}" ]; then # Set a default one locale=en_US.UTF-8 set_locale="true" fi if [ "${set_locale}" ]; then LANG=$(grep "^${locale}" /root/usr/share/i18n/SUPPORTED | grep UTF-8 |sed -e 's, .*,,' -e q) printf 'LANG="%s"\n' "${LANG}" >> "${grep_file}" printf '%s UTF-8\n' "${LANG}" > /root/etc/locale.gen chroot /root /usr/sbin/locale-gen "${LANG}" fi log_end_msg