Subject: console-screen.sh will grep noise instead of vars
Package: console-tools
Version: 1:0.2.3dbs-60
Severity: normal
The section quoted below from console-screeen.sh has the expression for
getting the LANG, LC_ALL and LC_TYPE too permissive:
if [ -f /etc/environment ]
then
for var in LANG LC_ALL LC_CTYPE ; do
value=$(egrep "^[^#]*${var}=" /etc/environment | tail -n1
| cut -d= -f2)
eval $var=$value
done
fi
This would allow getting a wrong value from an expression like:
jfhgdsdhjskfLANG=fr_FR.UTF-8
in a section like the following:
LANG=ro_RO.UTF-8
jfhgdsdhjskfLANG=fr_FR.UTF-8
It should be written as below (see the egrep line):
value=$(egrep "^\s*${var}=" /etc/environment | tail -n1 | cut -d= -f2)
While we're at it, I think that the LANG value and all the others should
be taken from a distinct file like /etc/default/i18n instead of
/etc/environment (there was a good reasoning behind this in a gdm bug
report). The idea is that /etc/environment should not be used by daemons
and similar, but that should be taken from a different place.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: powerpc (ppc)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-merci
Locale: LANG=ro_RO.UTF-8, LC_CTYPE=ro_RO.UTF-8 (charmap=UTF-8)
Versions of packages console-tools depends on:
ii console-common 0.7.56 Basic infrastructure for text cons
ii debconf [debconf-2.0] 1.4.72 Debian configuration management sy
ii libc6 2.3.6-7 GNU C Library: Shared libraries
ii libconsole 1:0.2.3dbs-60 Shared libraries for Linux console
ii sysvinit 2.86.ds1-14 System-V-like init utilities
Versions of packages console-tools recommends:
ii console-data 20060317 Keymaps, fonts, charset maps, fall
-- no debconf information
--
Regards,
EddyP
=============================================
"Imagination is more important than knowledge" A.Einstein