On Fri, 19 May 2006 11:38:06 +0200 Stefan Schweizer wrote: > Hi, > > there are at least two problems with how portage currently handles > locales: > > - Firstly some packages fail to build with obscure LC_* settings Anything that expects ordering etc from a particular locale, but does not set the locale, is broken. It's nothing to do with obscure; I've seen bugs occur due to people setting their default locale to en_US.UTF-8 which can hardly be called obscure. Also calling the Estonian locale "obscure" is just rude. > The continuous stream of et_EE bugs is annoying: > http://tinyurl.com/jsqzb These should be fixed by setting the correct locale prior to the commands that are sensitive to it. Such fixes should be sent or negotiated with upstream. > - and secondly I get my gcc output in german when I have a german > locale set. This makes it really hard to report bugs or the > bugreports are useless for most developers that do not understand the > language. My preferred approach here, is that if the people working the bug don't understand the report (including wranglers of course) simply resolve it "NEEDINFO" requesting the user translate the error messages if they can, or perhaps do 'export LC_ALL=C' before emerge and repost the results. Note that setting the locale to C may actually cause a change in behaviour, perhaps even preventing the bug from occurring if the bug is locale-specific, so obtaining a translation is better. > Those problems cannot be easily workarounded since portage does not > use LC_ALL and LANG settings from /etc/make.conf > > I propose to have the portage build environment set the language to > English or LC_ALL=C by default. That would significantly reduce the > bugs with unreadable error messages+ solve all the et_EE bugs at once. The 'et_EE' bugs would not be solved, they would be hidden. It's much better to inform upstream that they've assumed the C locale; those I've interacted with on this issue so far have been happy to be informed and have set the locale where they need to. > One problem could be that packages depend on LC_* to install the > correct language. But that is a real bug then in my opinion, because > ebuilds should only honour LINGUAS and not LC_* during build time. > Those bugs should be detected and fixed. I disagree. LINGUAS is a Gentoo-specific thing, so is only relevant to ebuilds. If a package uses LC_* to determine the user's locale preferences, I see no problem with that. > What do you think? LC_ALL=C in portage or not? I vote not. -- Kevin F. Quinn