[Pkg-kbd-devel] Bug#810332: Bug#810332: kbd: loss of locale settings on upgrade to version 2.0.3-2

Andreas Henriksson andreas at fatal.se
Fri Jan 8 12:13:51 UTC 2016


Hello Arthur Marsh.

Thanks for your bug report.

On Fri, Jan 08, 2016 at 10:16:57PM +1030, Arthur Marsh wrote:
> Package: kbd
> Version: 2.0.3-2
> Severity: normal
> 
> Dear Maintainer,
> 
> After upgrading to kbd 2.0.3-2, on the next restart of the machine, 
> I was getting box drawing characters in aptitude under konsole and UTF-8
> characters under konsole not displaying properly.

Thanks for confirming the problem is related to kbd and describing it well.
I hope you're aware of the NEWS in kbd 2.0.3-2, if not I recommend you
install apt-listchanges and configure it to display NEWS on upgrades.

See http://sources.debian.net/src/kbd/2.0.3-2/debian/NEWS/

> 
> I could no longer display or search for UTF-8 text like "の" in konsole,
> it would display as a question mark.

Thats not good. I'm not able to reprocude your issues here (but I'm not
using konsole either), so it would be very welcome if you can give
me some more details about your setup. First, I guess you don't have
console-setup installed, do you? Oh, I see you do from the appended metadata.
Then /etc/init.d/console-setup should export LANG and it makes me even
more confused why you're seeing a change in behaviour.

> 
> the locale command showed:
> 
> $ locale
> LANG=en_AU.UTF-8
> LANGUAGE=
> LC_CTYPE=
> LC_NUMERIC=
> LC_TIME=
> LC_COLLATE=
> LC_MONETARY=
> LC_MESSAGES=
> LC_PAPER=
> LC_NAME=
> LC_ADDRESS=
> LC_TELEPHONE=
> LC_MEASUREMENT=
> LC_IDENTIFICATION=
> LC_ALL=
> 
> 
> After downgrading kbd to 2.0.3-1, and rebooting the machine, locale returned:
> 
> $ locale
> LANG=en_AU.UTF-8
> LANGUAGE=en_GB
> LC_CTYPE="en_AU.UTF-8"
> LC_NUMERIC="en_AU.UTF-8"
> LC_TIME="en_AU.UTF-8"
> LC_COLLATE="en_AU.UTF-8"
> LC_MONETARY="en_AU.UTF-8"
> LC_MESSAGES="en_AU.UTF-8"
> LC_PAPER="en_AU.UTF-8"
> LC_NAME="en_AU.UTF-8"
> LC_ADDRESS="en_AU.UTF-8"
> LC_TELEPHONE="en_AU.UTF-8"
> LC_MEASUREMENT="en_AU.UTF-8"
> LC_IDENTIFICATION="en_AU.UTF-8"
> LC_ALL=

This is very helpful information. Unfortunately I don't know how you
ended up with this. The old kbd init script was only setting LANG
which is also set in your first (broken) output.

I tested behaviour on my system by starting a shell with an
empty environment:

$ locale | grep LANG=
LANG=en_DK.UTF-8


$ env -i /bin/bash
$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

(notice the LC_ are not reported as empty but as POSIX.)

Then I restored only LANG to my previous setting:

$ export LANG=en_DK.UTF-8
$ locale
LANG=en_DK.UTF-8
LANGUAGE=
LC_CTYPE="en_DK.UTF-8"
LC_NUMERIC="en_DK.UTF-8"
LC_TIME="en_DK.UTF-8"
LC_COLLATE="en_DK.UTF-8"
LC_MONETARY="en_DK.UTF-8"
LC_MESSAGES="en_DK.UTF-8"
LC_PAPER="en_DK.UTF-8"
LC_NAME="en_DK.UTF-8"
LC_ADDRESS="en_DK.UTF-8"
LC_TELEPHONE="en_DK.UTF-8"
LC_MEASUREMENT="en_DK.UTF-8"
LC_IDENTIFICATION="en_DK.UTF-8"
LC_ALL=

(And all LC_ enviroments updated automagically.... LANGUAGE unchanged though.)

I wonder what makes your LC_ still be empty even though LANG is set for you.

> 
> and character display in konsole worked correctly.

Not sure exactly which detail is making our systems behave differently
(and why konsole isn't initializing the environment properly on its own).

[...]
> Versions of packages kbd recommends:
> ii  console-data   2:1.12-5
> ii  console-setup  1.134
[...]


Regards,
Andreas Henriksson



More information about the Pkg-kbd-devel mailing list