On 08/10/2017 11:36 AM, Daniel P. Berrange wrote:
> The maint.mk file currently sets LC_ALL=C so that build rules get a
> predictable locale, independant of the user's environment settings.


> It is sometimes neccesssary to override the locale when running


> build commands from make rules, but as maint.mk set LC_ALL, it
> is impossible to selectively override rules e.g. LC_CTYPE=C.UTF-8
> will have no effect if LC_ALL is already set.
> To deal with this maint.mk should instead set LANG=C, and then
> explicitly unset all the other LC_* variables.
> Signed-off-by: Daniel P. Berrange <berra...@redhat.com>
> ---
>  top/maint.mk | 24 +++++++++++++++++++++---
>  1 file changed, 21 insertions(+), 3 deletions(-)

> -# Prevent programs like 'sort' from considering distinct strings to be equal.
> -# Doing it here saves us from having to set LC_ALL elsewhere in this file.
> -export LC_ALL = C
> +# Ensure a stable locale, independant of the user's environment, so that


> +# locale sensitive programs used in the build (eg 'sort') have predictable
> +# output.
> +#
> +# We want apps to be able override individual locale categories in their
> +# make rules though, so must not set LC_ALL ourselves, but instead use
> +# LANG as the lowest priority variable.
> +unexport LC_ALL
> +unexport LC_CTYPE

Why not do a single line:

unexport LC_ALL LC_CTYPE ...

> +export LANG = C

Otherwise, the idea is sane to me.

Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to