Bug#632798: libc6: broken LANGUAGE design
Package: libc6
Version: 2.13-10
Severity: normal
The current LANGUAGE design is broken. Here an example:
ypig% locale
LANG=POSIX
LANGUAGE=
LC_CTYPE=en_US.ISO8859-1
LC_NUMERIC="POSIX"
LC_TIME=en_DK
LC_COLLATE=POSIX
LC_MONETARY="POSIX"
LC_MESSAGES=fr_FR
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
ypig% cp
cp: opérande fichier manquant
Saisissez « cp --help » pour plus d'informations.
ypig% ssh localhost locale
Connected to ypig (from ::1)
LANG=POSIX
LANGUAGE=en_US:en
LC_CTYPE=en_US.ISO8859-1
LC_NUMERIC="POSIX"
LC_TIME=en_DK
LC_COLLATE=POSIX
LC_MONETARY="POSIX"
LC_MESSAGES=fr_FR
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
ypig% ssh localhost cp
Connected to ypig (from ::1)
cp: missing file operand
Try `cp --help' for more information.
The problem is that the system sets LANGUAGE in the user's back, so
that the standard user's choice (LC_MESSAGES=fr_FR) is no longer taken
into account.
The best solution would be to make the standard locale system override
LANGUAGE, which could just be used as a fallback. Said otherwise, it
is equivalent to internally prepend the current LC_MESSAGES setting
(possibly coming from LANG or LC_ALL) to the LANGUAGE value.
Alternatively the system that sets LANGUAGE could be smarter (but it's
difficult to know what the user expects, in particular if SSH doesn't
transmit LANGUAGE).
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.39-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.ISO8859-1 (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
Versions of packages libc6 depends on:
ii libc-bin 2.13-10 Embedded GNU C Library: Binaries
ii libgcc1 1:4.6.1-2 GCC support library
libc6 recommends no packages.
Versions of packages libc6 suggests:
ii debconf [debconf-2.0] 1.5.40 Debian configuration management sy
ii glibc-doc 2.13-10 Embedded GNU C Library: Documentat
ii locales 2.13-10 Embedded GNU C Library: National L
-- debconf information:
glibc/upgrade: true
glibc/disable-screensaver:
glibc/restart-failed:
* glibc/restart-services: exim4 cups cron atd apache2
Reply to: