* Recai Oktas [2004-10-18 16:28:38+0300] > * Denis Barbier [2004-10-18 14:53:31+0200] > > Selon Recai Oktas <[EMAIL PROTECTED]>: > > > > About #276548, the only short-term solution is indeed to "transcode" > > > > symbols. This is ugly, but AFAICT it always worked this way in Debian, > > > > and is anyway not related to "my" changes. I will give longer > > > > explanations later in this bugreport. > > > > In conclusion, your patch against kbd-chooser/prebaseconfig looks right > > > > to me. I am unable to access SVN repository, is Turkish the only broken > > > > language? This problem might occur for all languages which use > > > > console-tools and have an encoding different from ISO-8859-1 and UTF-8. > > > > > > Yep, Turkish seems to be the only language. > > I mean Turkish seems to be the only language against which such a bug > has been reported so far. > > > If Hebrew does not use UTF-8 encoding, it is affected as well, isn't it? > > Yes, Hebrew uses "iso-8859-8". And some others: > > Lithuanian (lt.kmap): iso-8859-4 > Latvian (lv-latin4.kmap): iso-8859-4 > > I am going to test these languages tonight, and inform you.
Unfortunately, this bug is more dangerous than it seems. I've tested the languages below and they all failed: * Hebrew Keymap: hebrew.kmap Charset (_in keymap_, not in languagelist): iso-8859-8 Result: Gave the warning 'unknown keysym "doubleunderscore"' Totally refused to load keymap at boot! * Lithuanian Keymap: lt.kmap Charset: iso-8859-4 Result: Same as Turkish (keymap loaded, but will not be functioning properly) * Latvian Keymap: lv-latin4.kmap Charset: iso-8859-4 Result: Same as Turkish I've retested these languages by applying the following one line patch: (/usr/lib/prebaseconfig.d/70kbd-chooser) db_get debian-installer/serial-console if [ "$RET" = "false" ] ; then apt-install console-tools console-data console-common - chroot /target install-keymap $KEYMAP + kbd-mode -a; chroot /target install-keymap $KEYMAP; kbd-mode -u fi and the problem was resolved. According to these facts, let me summarize the whole picture: * We had applied a critical patch to resolve the bugs: #251550, #251231, #252109 (keyboard freezes for high ascii characters). From that time, keyboard has been used in Unicode mode in d-i. * But as stated in #276752, switching to unicode mode produces a side-effect for all languages which use console-tools and have a charset declared in keymap different from iso-8859-1, iso-8859-15 and utf-8. Note that most of the cyrillic languages (using the console-cyrillic) and asian languages (using jfbterm) does not suffer from the problem. In fact, only a few languages that I know of: Turkish, Hebrew, Lithuanian and Latvian are directly affected. * Switching temporarily to ascii mode before invoking 'install-keymap' (and then reswitching to the unicode mode) seems to be the most simple solution, till we find a fix for #276548. As I said before, I've succesfully tested this workaround for the affected languages. * Instead of fixing the problem for affected languages only, I suggest to use brute-force which means to always switch to ascii mode before keymap installation, hence my patch. * The workaround I proposed should not affect the languages using iso-8859-1/15 and utf-8, because this workaround means to return temporarily back to the old behaviour (the one before applying the patch to fix the keyboard freezes). Nevertheless we should perform a test. Hence I CC'ed this mail to Christian (iso-8859-1/15) and Konstantinos (utf-8). Could you check the French and Greek keyboards _after the installation_ by first applying the patch attached to the /usr/lib/prebaseconfig.d/70kbd-chooser in d-i phase? Regards, -- roktas
diff -ru kbd-chooser.orig/debian/prebaseconfig kbd-chooser/debian/prebaseconfig --- kbd-chooser.orig/debian/prebaseconfig 2004-04-19 05:13:49.000000000 +0300 +++ kbd-chooser/debian/prebaseconfig 2004-10-18 19:36:11.000000000 +0300 @@ -23,7 +23,7 @@ db_get debian-installer/serial-console if [ "$RET" = "false" ] ; then apt-install console-tools console-data console-common - chroot /target install-keymap $KEYMAP + kbd-mode -a; chroot /target install-keymap $KEYMAP; kbd-mode -u fi
signature.asc
Description: Digital signature