* 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

