Adding live-initramfs 1.87.2-1.
[live-boot-grml.git] / scripts / live-bottom / 14locales
1 #! /bin/sh
2
3 PREREQ=""
4 DESCRIPTION="Setting up locales..."
5
6 . /scripts/live-functions
7
8 prereqs()
9 {
10        echo "$PREREQ"
11 }
12
13 case $1 in
14 # get pre-requisites
15 prereqs)
16        prereqs
17        exit 0
18        ;;
19 esac
20
21 log_begin_msg "$DESCRIPTION"
22
23 if [ -e /root/etc/default/locale ]; then
24     grep_file=/root/etc/default/locale
25 elif [ -e /root/etc/environment ]; then # Old locales policy
26     grep_file=/root/etc/environment
27 fi
28
29 if [ -n "${grep_file}" ]; then
30     # use rootfs configured locale
31     locale=$(grep -s 'LANG=' ${grep_file} | sed s/'LANG='// | tr -d '"' )
32 else
33     grep_file=/root/etc/default/locale
34 fi
35
36 # commandline
37 for x in $(cat /proc/cmdline); do
38     case $x in
39         debian-installer/locale=*)
40                         locale=${x#debian-installer/locale=}
41                         set_locale="true"
42                         ;;
43                 locale=*)
44                         locale=${x#locale=}
45                         set_locale="true"
46             ;;
47     esac
48 done
49
50 if [ -z "${locale}" ]; then
51     # Set a default one
52     locale=en_US.UTF-8
53     set_locale="true"
54 fi
55
56 if [ "${set_locale}" ]; then
57     LANG=$(grep "^${locale}" /root/usr/share/i18n/SUPPORTED | grep UTF-8 |sed -e 's, .*,,' -e q)
58     printf 'LANG="%s"\n' "${LANG}" >> "${grep_file}"
59     printf '%s UTF-8\n' "${LANG}" > /root/etc/locale.gen
60     chroot /root /usr/sbin/locale-gen "${LANG}"
61 fi
62
63 log_end_msg