1 |
On Fri, 19 May 2006 11:38:06 +0200 |
2 |
Stefan Schweizer <genstef@g.o> wrote: |
3 |
|
4 |
> Hi, |
5 |
> |
6 |
> there are at least two problems with how portage currently handles |
7 |
> locales: |
8 |
> |
9 |
> - Firstly some packages fail to build with obscure LC_* settings |
10 |
|
11 |
Anything that expects ordering etc from a particular locale, but does |
12 |
not set the locale, is broken. It's nothing to do with obscure; I've |
13 |
seen bugs occur due to people setting their default locale to |
14 |
en_US.UTF-8 which can hardly be called obscure. Also calling the |
15 |
Estonian locale "obscure" is just rude. |
16 |
|
17 |
> The continuous stream of et_EE bugs is annoying: |
18 |
> http://tinyurl.com/jsqzb |
19 |
|
20 |
These should be fixed by setting the correct locale prior to the |
21 |
commands that are sensitive to it. Such fixes should be sent or |
22 |
negotiated with upstream. |
23 |
|
24 |
> - and secondly I get my gcc output in german when I have a german |
25 |
> locale set. This makes it really hard to report bugs or the |
26 |
> bugreports are useless for most developers that do not understand the |
27 |
> language. |
28 |
|
29 |
My preferred approach here, is that if the people working the bug don't |
30 |
understand the report (including wranglers of course) simply resolve it |
31 |
"NEEDINFO" requesting the user translate the error messages if |
32 |
they can, or perhaps do 'export LC_ALL=C' before emerge and |
33 |
repost the results. Note that setting the locale to C may actually |
34 |
cause a change in behaviour, perhaps even preventing the bug from |
35 |
occurring if the bug is locale-specific, so obtaining a translation is |
36 |
better. |
37 |
|
38 |
> Those problems cannot be easily workarounded since portage does not |
39 |
> use LC_ALL and LANG settings from /etc/make.conf |
40 |
> |
41 |
> I propose to have the portage build environment set the language to |
42 |
> English or LC_ALL=C by default. That would significantly reduce the |
43 |
> bugs with unreadable error messages+ solve all the et_EE bugs at once. |
44 |
|
45 |
The 'et_EE' bugs would not be solved, they would be hidden. It's much |
46 |
better to inform upstream that they've assumed the C locale; those I've |
47 |
interacted with on this issue so far have been happy to be informed and |
48 |
have set the locale where they need to. |
49 |
|
50 |
> One problem could be that packages depend on LC_* to install the |
51 |
> correct language. But that is a real bug then in my opinion, because |
52 |
> ebuilds should only honour LINGUAS and not LC_* during build time. |
53 |
> Those bugs should be detected and fixed. |
54 |
|
55 |
I disagree. LINGUAS is a Gentoo-specific thing, so is only relevant to |
56 |
ebuilds. If a package uses LC_* to determine the user's locale |
57 |
preferences, I see no problem with that. |
58 |
|
59 |
> What do you think? LC_ALL=C in portage or not? |
60 |
|
61 |
I vote not. |
62 |
|
63 |
-- |
64 |
Kevin F. Quinn |