1 |
Jason A. Donenfeld <zx2c4@g.o> wrote: |
2 |
> |
3 |
> I'd be in favor of full-on LC_ALL=C. |
4 |
|
5 |
Setting LC_ALL seems wrong as it is meant as a quick hack |
6 |
and should not be relied on by a "generic" tool like portage. |
7 |
|
8 |
Better define to *unset* LC_ALL (remembering the previous value, |
9 |
see below) and to set (all?) other LC_* to defined values. |
10 |
|
11 |
When we are at it: Maybe it is even sufficient to define only |
12 |
LC_CTYPE=C |
13 |
LC_NUMERIC=C |
14 |
LC_COLLATE=C |
15 |
LC_MESSAGES=C |
16 |
LC_MONETARY=C |
17 |
|
18 |
In any case, the old values should be kept (and for simplicity |
19 |
defined to the previous LC_ALL if the latter was set), |
20 |
so that the ebuild author is able to stick to the user's |
21 |
choice for certain/all values if he needs to: |
22 |
|
23 |
In particular, for LC_CTYPE, this might be necessary, |
24 |
because of correct UTF8-support, as already mentioned |
25 |
(the ebuild author cannot say LC_CTYPE=*.UTF8). |
26 |
But also e.g. for LC_MONETARY, this might be necessary for some |
27 |
strange local banking tools. |
28 |
|
29 |
It is perhaps not necessary to (re)define LANG at all: |
30 |
Setting LC_MESSAGES should be sufficient for most build-time |
31 |
stuff to get readable logs, and LANG=C might be the main reason, |
32 |
why some people might not like the change and decided e.g. |
33 |
to patch it out in paludis, as mentioned in this thread. |