* Recai Oktas [2004-10-18 16:28:38+0300]
> * Denis Barbier [2004-10-18 14:53:31+0200]
> > Selon Recai Oktas <roktas@omu.edu.tr>:
> > > > 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
Attachment:
signature.asc
Description: Digital signature