Bug#282677: kbd-chooser: Defaults to "none" for keymap when debconf priority is critical and language has no default keymap
severity 282677 normal
Quoting Christian Perrier (email@example.com):
> Package: kbd-chooser
> Severity: important
> I use the "important" tag here for enhancing that this bug should be worth
> being fixed before the release.
> When a given language has no default keymap set in console-data for a given
> arch/keyboard type and the debconf priority is set to critical, then the
> value of console-keymap-xx/keymap is set to "none" and kbd-chooser then
> tries loading the "none" keymap, which fails.
> This bug can be reproduced for instance by booting d-i with:
> linux DEBCONF_PRIORITY=critical languagechooser/language-name=Arabic
> This bug is *not* related to recent changes in console-data and happens with
> D-I RC2 (which has console-keymaps-* from testing).
After investigation, it happens that this only "breaks" non
interactive installs and drop them to priority==high...so this is not
A quick fix seemed to be defaulting the keymap question to
critical...but this is exactly a change made recently by Colin and
later reverted by Joey because....it broke non interactive installs.
In the situation described above, kbd-chooser fails with "cannot load
Below are the discussions in #debian-boot about this problem:
20:52 < Kamion> bubulle: which bug is that?
20:53 < fjp> Kamion: #282677
20:53 < Kamion> and where's the "high"? :)
20:54 * fjp doesn't know either
20:55 < fjp> Kamion: maybe s/critical/high/ ?
20:55 < fjp> But that's default, so doesn't make much sense...
20:58 < Kamion> fjp: and it's what I committed recently and joeyh had to revert because it broke
20:59 < fjp> Right. Let's ask bubulle to check the changelogs...
21:48 < bubulle> grmbl
21:48 * bubulle reads kbd-chooser changelog..:-)
21:50 < fjp> bubulle: can't you just preseed the keymap (or add it on command line)/
21:50 < fjp> ?
21:50 < bubulle> the problem in kbd-chooser seems to be a bad handling of default values...
21:50 < bubulle> fjp: of course I can
21:51 < bubulle> fjp: anyway, the bug probably doesn't deserve an important severity
21:51 * fjp agrees with that.
21:51 < fjp> bubulle: How does keymap=none fail?
21:52 < fjp> I thought that was a supported value that is equivalent to US
21:53 < bubulle> fjp: well, I don't exactly know but it fails..:)
21:53 < bubulle> the log says "kbd-chooser: cannot open file none"
21:53 < fjp> You mean keyboard does not work at all anymore or is it just that message?
21:54 < bubulle> a workaround is probably setting a good default for each language
21:54 < fjp> Or maybe just not try to load a file if value is set to 'none'...
21:54 < bubulle> well, after the error message appears, you're dropped to debconf priority=high and
you get the keymap choice list
21:55 < fjp> Which is OK for interactive installs...
21:56 < fjp> bubulle: Do you also have "kbd-chooser: not setting keymap (kbd == none selected)" in
21:56 < bubulle> but not for non interactive..:-)
22:00 < fjp> bubulle: I think we need a test for keymap = none in these lines near the end:
22:00 < fjp> di_info ("choose_keymap: keymap = %s", keymap);
22:00 < fjp> keymap_set (client, keymap);
22:00 < fjp> state = QUIT;
22:00 < fjp> and not call keymap_set in that case. That would continue the installer with the
default US keymap.
22:01 < fjp> IMHO that should be OK for "critical" installs.
22:03 * bubulle wonders if having the value still set to "none" may not be bad later
22:03 < bubulle> "could be bad" should I've said
22:03 < fjp> like prebaseconfig?
22:03 < bubulle> yep
22:04 < bubulle> anyway, I think we can leave this alone at this moment
22:04 < bubulle> I will probably add more defaults in console-data so that languages which do not
have any default kbd default to us
22:05 < fjp> debian-installer/keymap would be unset; but the check could also be added inside
22:06 < bubulle> yeah, why not....
22:07 < bubulle> I propose to paste all this in #282677 and leave this post-sarge