projects
/
live-boot-grml.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Correcting kdm live-autologin handling to not always append entries forever when...
[live-boot-grml.git]
/
scripts
/
live-bottom
/
14locales
diff --git
a/scripts/live-bottom/14locales
b/scripts/live-bottom/14locales
index
b7ea704
..
58f7e82
100755
(executable)
--- a/
scripts/live-bottom/14locales
+++ b/
scripts/live-bottom/14locales
@@
-29,6
+29,9
@@
fi
log_begin_msg "Setting up locales"
log_begin_msg "Setting up locales"
+# Cosmetic line wrapping for output of local-gen
+echo
+
# live-initramfs script
if [ -e /root/etc/default/locale ]
# live-initramfs script
if [ -e /root/etc/default/locale ]
@@
-75,35
+78,54
@@
then
locale="${locale}_${uploc}.UTF-8"
fi
locale="${locale}_${uploc}.UTF-8"
fi
- LANG=$(grep "^${locale}" /root/usr/share/i18n/SUPPORTED | grep UTF-8 | sed -e 's, .*,,' -e q)
+ LANG=
+ language="$(echo ${locale} | cut -d. -f1)"
+ eval $(awk '/^'"${locale}"'/ { print "LANG=" $1 " codepage=" $2; exit; }' /root/usr/share/i18n/SUPPORTED)
- language="${LANG%%.UTF-8*}"
- if [ -d /root/etc/default/kdm.d/ ]
+ if [ -z "${LANG}" ]
then
then
+ # Try and fallback to another codepage for this language.
+ eval $(awk '/^'"${language}"'/ { print "LANG=" $1 " codepage=" $2; exit; }' /root/usr/share/i18n/SUPPORTED)
-cat > /root/etc/default/kdm.d/live-autologin << EOF
-LANGUAGE=${language}
-EOF
+ if [ -n "${LANG}" ]
+ then
+ log_warning_msg "Choosing locale '${LANG}' as '${locale}' is unsupported."
+ fi
+ fi
-
elif [ -f /root/etc/kde3/kdm/kdmrc
]
+
if [ -z "${LANG}"
]
then
then
- sed -i -r -e "s/#Language=.*/Language=${language}/" \
- /root/etc/kde3/kdm/kdmrc
+ log_warning_msg "Locale '${locale}' is unsupported."
+ codepage="UTF-8"
+ language="en_US"
+ locale="${language}.${codepage}"
+ LANG="${language}.${codepage}"
fi
fi
- if [ -z "${LANG}" ]
+ if [ -d /root/etc/default/kdm.d/ ]
+ then
+ if ! grep -qs "^LANGUAGE" "${LANG}"
+ then
+ printf 'LANGUAGE=%s\n' "${LANG}" >> /root/etc/default/kdm.d/live-autologin
+ fi
+ elif [ -f /root/etc/kde3/kdm/kdmrc ]
then
then
- log_warning_msg "Locale ${locale} is unsupported."
- locale="en_US.UTF-8"
- LANG="${locale}"
+ sed -i -r -e "s/#Language=.*/Language=${language}/" \
+ /root/etc/kde3/kdm/kdmrc
fi
really_export LANG
printf 'LANG="%s"\n' "${LANG}" >> /root/etc/default/locale
printf 'LANG="%s"\n' "${LANG}" >> /root/etc/environment
fi
really_export LANG
printf 'LANG="%s"\n' "${LANG}" >> /root/etc/default/locale
printf 'LANG="%s"\n' "${LANG}" >> /root/etc/environment
- printf '%s UTF-8\n' "${LANG}" > /root/etc/locale.gen
- chroot /root /usr/sbin/locale-gen
+ printf '%s %s\n' "${LANG}" "${codepage}" > /root/etc/locale.gen
+
+ if [ -z "${SILENT}" ]
+ then
+ chroot /root /usr/sbin/locale-gen
+ else
+ chroot /root /usr/sbin/locale-gen > /dev/null 2>&1
+ fi
fi
log_end_msg
fi
log_end_msg