Adding upstream version 1.110.5.
[debian-live-boot/hramrach.git] / scripts / live-bottom / 14locales
blob3cb58dd4244de09ce34ab21f8c9a0216e18baa33
1 #!/bin/sh
3 #set -e
5 # initramfs-tools header
7 PREREQ=""
9 prereqs()
11 echo "${PREREQ}"
14 case "${1}" in
15 prereqs)
16 prereqs
17 exit 0
19 esac
21 # live-initramfs header
23 if [ -n "${NOLOCALES}" ]
24 then
25 exit 0
28 . /scripts/live-functions
30 log_begin_msg "Setting up locales..."
32 # live-initramfs script
34 if [ -e /root/etc/default/locale ]
35 then
36 grep_file=/root/etc/default/locale
37 elif [ -e /root/etc/environment ]
38 then
39 # Old locales policy
40 grep_file=/root/etc/environment
43 if [ -n "${grep_file}" ]
44 then
45 # use rootfs configured locale
46 locale=$(grep -s 'LANG=' ${grep_file} | sed s/'LANG='// | tr -d '"' )
47 else
48 grep_file=/root/etc/default/locale
51 if [ -n "${LOCALE}" ]
52 then
53 locale="${LOCALE}"
54 set_locale="true"
57 if [ -z "${locale}" ]
58 then
59 # Set a default one
60 locale=en_US.UTF-8
61 set_locale="true"
64 if [ "${set_locale}" ]
65 then
66 if echo "${locale}" | grep -sqE '^[[:lower:]]{2}$'
67 then
68 # input is like "locale=it", so we will convert and setup also the keyboard if not already set
69 if [ -z "${KBD}" ]
70 then
71 # FIXME: look if this keyb is supported
72 KBD="${locale}"
73 really_export KBD
76 uploc=$(echo "${locale}" | tr '[a-z]' '[A-Z]')
77 locale="${locale}_${uploc}.UTF-8"
80 LANG=$(grep "^${locale}" /root/usr/share/i18n/SUPPORTED | grep UTF-8 | sed -e 's, .*,,' -e q)
82 language="${LANG%%.UTF-8*}"
83 if [ -d /root/etc/default/kdm.d/ ]
84 then
86 cat > /root/etc/default/kdm.d/live-autologin << EOF
87 LANGUAGE=${language}
88 EOF
90 elif [ -f /root/etc/kde3/kdm/kdmrc ]
91 then
92 sed -i -r -e "s/#Language=.*/Language=${language}/" \
93 /root/etc/kde3/kdm/kdmrc
96 if [ -z "${LANG}" ]
97 then
98 log_warning_message "Locale ${locale} is unsupported."
99 locale="en_US.UTF-8"
100 LANG="${locale}"
103 really_export LANG
105 printf 'LANG=%s\n' "${LANG}" > "${grep_file}"
106 printf '%s UTF-8\n' "${LANG}" > /root/etc/locale.gen
107 chroot /root /usr/sbin/locale-gen
110 log_end_msg