Jason A. Donenfeld <zx...@gentoo.org> wrote: > > I'd be in favor of full-on LC_ALL=C.
Setting LC_ALL seems wrong as it is meant as a quick hack and should not be relied on by a "generic" tool like portage. Better define to *unset* LC_ALL (remembering the previous value, see below) and to set (all?) other LC_* to defined values. When we are at it: Maybe it is even sufficient to define only LC_CTYPE=C LC_NUMERIC=C LC_COLLATE=C LC_MESSAGES=C LC_MONETARY=C In any case, the old values should be kept (and for simplicity defined to the previous LC_ALL if the latter was set), so that the ebuild author is able to stick to the user's choice for certain/all values if he needs to: In particular, for LC_CTYPE, this might be necessary, because of correct UTF8-support, as already mentioned (the ebuild author cannot say LC_CTYPE=*.UTF8). But also e.g. for LC_MONETARY, this might be necessary for some strange local banking tools. It is perhaps not necessary to (re)define LANG at all: Setting LC_MESSAGES should be sufficient for most build-time stuff to get readable logs, and LANG=C might be the main reason, why some people might not like the change and decided e.g. to patch it out in paludis, as mentioned in this thread.