Package: languagechooser Version: svn Severity: wishlist Tags: patch l10n d-i
Attached patch adds console-cyrillic support for languagechooser prebaseconfig (similar to console-tools). Prebaseconfig expects information about cyrillic keyboard in form: cyr=style,size,encoding,layout(options) Example for Ukrainian: cyr=uni,16,koi8-u,ua_ms(ctrl_shift_toggle) I tested this script with console-cyrillic installed with highest debconf priority on working system. -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.4.25 Locale: LANG=uk_UA, LC_CTYPE=uk_UA
Index: prebaseconfig =================================================================== --- prebaseconfig (revision 13104) +++ prebaseconfig (working copy) @@ -2,9 +2,19 @@ . /usr/share/debconf/confmodule +modify_cyrconfig() { + if [ "$2" ]; then + sed -e "s/^$1 .*\$/$1 $2/" \ + $cyrconfig > $cyrconfig.tmp && \ + mv $cyrconfig.tmp $cyrconfig + fi +} + db_get debian-installer/consoledisplay || true -consolefont=`echo $RET | sed -e 's/^kbd=//'` -if [ "$consolefont" != "$RET" ]; then +consoletype=`echo $RET | sed -e 's/=.*$//'` +case "$consoletype" in +kbd) + consolefont=`echo $RET | sed -e 's/^kbd=//'` if apt-install console-tools; then ctconfig=/target/etc/console-tools/config acm=`echo $consolefont | sed -e 's/.*(//' -e 's/).*//'` @@ -21,7 +31,31 @@ mv $ctconfig.tmp $ctconfig fi fi -fi + ;; +cyr) + consolefont=`echo $RET | sed -e 's/^cyr=//'` + if apt-install console-cyrillic; then + cyrconfig=/target/etc/console-cyrillic + # format of the consolefont is: + # style,size,encoding,layout(option1 option2) + style=`echo $consolefont | sed -e 's/,.*$//'` + size=`echo $consolefont | sed -e 's/^[^,]*,\([^,]*\),.*$/\1/'` + encoding=`echo $consolefont | sed -e 's/^[^,]*,[^,]*,\([^,]*\),.*$/\1/'` + layoutopts=`echo $consolefont | sed -e 's/^[^,]*,[^,]*,[^,]*,\([^)]*)\).*$/\1/'` + layout=`echo $layoutopts | sed -e 's/(.*)$//'` + options=`echo $layoutopts | sed -e 's/.*(//' -e 's/).*//'` + modify_cyrconfig style "$style" + modify_cyrconfig size "$size" + modify_cyrconfig encoding "$encoding" + modify_cyrconfig layout "$layout" + modify_cyrconfig options "$options" + sed -e 's/^.*Bootsetup: .*$/# Bootsetup: YES/' $cyrconfig > $cyrconfig.tmp && \ + mv $cyrconfig.tmp $cyrconfig + sed -e 's/^.*Debconf: .*$/# Debconf: NO/' $cyrconfig > $cyrconfig.tmp && \ + mv $cyrconfig.tmp $cyrconfig + fi + ;; +esac # Pass the language/locale information needed by base-config into # /target/root/dbootstrap_settings.