Bug#633846: gdm3: gdb3 should not erase $LANGUAGE when it matches $LANG
Michael Tsang
miklcct at gmail.com
Thu Jul 14 10:42:00 UTC 2011
Package: gdm3
Version: 2.30.5-10
Severity: important
Tags: l10n
the default script erase $LANGAUGE in the following cases:
LANG=en_HK.UTF-8
LANGUAGE=en_HK:en_GB:en
LANG=zh_HK.UTF-8
LANGUAGE=zh_HK:zh_TW:zh
which is wrong (I want english or chinese in the 1st or 2nd case)
my modified script handles this by erasing anything after the dot in GDM_LANG
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.39-2-686-pae (SMP w/1 CPU core)
Locale: LANG=en_HK.utf8, LC_CTYPE=en_HK.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages gdm3 depends on:
ii adduser 3.113 add and remove users and groups
ii debconf [debconf-2.0] 1.5.40 Debian configuration management sy
ii gconf2 2.32.4-1 GNOME configuration database syste
ii gnome-session [x-session-m 2.30.2-3 The GNOME Session Manager - GNOME
ii gnome-session-bin 2.30.2-3 The GNOME Session Manager - Minima
ii gnome-terminal [x-terminal 3.0.1-1 GNOME terminal emulator applicatio
ii kde-window-manager [x-wind 4:4.6.4-1 K window manager (KWin)
ii konsole [x-terminal-emulat 4:4.6.3-1 X terminal emulator
ii libart-2.0-2 2.3.21-1 Library of functions for 2D graphi
ii libatk1.0-0 2.0.1-2 ATK accessibility toolkit
ii libattr1 1:2.4.46-1 Extended attribute shared library
ii libaudit0 1.7.13-1.2 Dynamic library for security audit
ii libbonobo2-0 2.24.3-1 Bonobo CORBA interfaces library
ii libbonoboui2-0 2.24.3-1 The Bonobo UI library
ii libc6 2.13-7 Embedded GNU C Library: Shared lib
ii libcairo2 1.10.2-6 The Cairo 2D vector graphics libra
ii libcanberra-gtk0 0.28-1 Gtk+ helper for playing widget eve
ii libcanberra0 0.28-1 a simple abstract interface for pl
ii libdbus-1-3 1.4.12-4 simple interprocess messaging syst
ii libdbus-glib-1-2 0.94-4 simple interprocess messaging syst
ii libfontconfig1 2.8.0-3 generic font configuration library
ii libfreetype6 2.4.4-2 FreeType 2 font engine, shared lib
ii libgconf2-4 2.32.4-1 GNOME configuration database syste
ii libgdk-pixbuf2.0-0 2.23.5-1 GDK Pixbuf library
ii libglib2.0-0 2.28.6-1 The GLib library of C routines
ii libgnome2-0 2.32.1-1 The GNOME library - runtime files
ii libgnomecanvas2-0 2.30.1-1 A powerful object-oriented display
ii libgtk2.0-0 2.24.4-3 The GTK+ graphical user interface
ii liborbit2 1:2.14.18-0.2 libraries for ORBit2 - a CORBA ORB
ii libpam-modules 1.1.3-2 Pluggable Authentication Modules f
ii libpam-runtime 1.1.3-2 Runtime support for the PAM librar
ii libpam0g 1.1.3-2 Pluggable Authentication Modules l
ii libpanel-applet2-0 2.30.2-4 library for GNOME Panel applets
ii libpango1.0-0 1.28.4-1 Layout and rendering of internatio
ii libpolkit-gobject-1-0 0.101-4 PolicyKit Authorization API
ii libpolkit-gtk-1-0 0.101-2 PolicyKit GTK+ API
ii libpopt0 1.16-1 lib for parsing cmdline parameters
ii librsvg2-common 2.34.0-1 SAX-based renderer library for SVG
ii libselinux1 2.0.98-1.1 SELinux runtime shared libraries
ii libupower-glib1 0.9.11-1 abstraction for power management -
ii libwrap0 7.6.q-21 Wietse Venema's TCP wrappers libra
ii libx11-6 2:1.4.3-2 X11 client-side library
ii libxau6 1:1.0.6-3 X11 authorisation library
ii libxdmcp6 1:1.1.0-3 X11 Display Manager Control Protoc
ii libxklavier16 5.0-2 X Keyboard Extension high-level AP
ii libxml2 2.7.8.dfsg-3 GNOME XML library
ii lsb-base 3.2-27 Linux Standard Base 3.2 init scrip
ii lxsession [x-session-manag 0.4.4-3 a lightweight X11 session manager
ii lxterminal [x-terminal-emu 0.1.9-1 desktop independent vte-based term
ii metacity [x-window-manager 1:2.30.1-3 lightweight GTK+ window manager
ii openbox [x-window-manager] 3.4.11.2-2 standards compliant, fast, light-w
ii policykit-1-gnome 0.101-2 GNOME authentication agent for Pol
ii twm [x-window-manager] 1:1.0.6-1 Tab window manager
ii upower 0.9.11-1 abstraction for power management
ii xfce4-session [x-session-m 4.8.1-3 Xfce4 Session Manager
ii xfce4-terminal [x-terminal 0.4.8-1 Xfce terminal emulator
ii xfwm4 [x-window-manager] 4.8.1-3 window manager of the Xfce project
ii xterm [x-terminal-emulator 270-1 X terminal emulator
Versions of packages gdm3 recommends:
ii at-spi 1.30.1-3 Assistive Technology Service Provi
ii desktop-base 6.0.6 common files for the Debian Deskto
ii gnome-icon-theme 2.30.3-2 GNOME Desktop icon theme
ii gnome-power-manager 2.32.0-2 power management tool for the GNOM
ii gnome-settings-daemon 2.30.2-3 daemon handling the GNOME session
ii x11-xkb-utils 7.6+4 X11 XKB utilities
ii xserver-xephyr 2:1.10.2.902-1 nested X server
ii xserver-xorg 1:7.6+7 X.Org X server
ii zenity 2.30.0-1 Display graphical dialog boxes fro
Versions of packages gdm3 suggests:
ii gnome-mag 1:0.16.1-2 a screen magnifier for the GNOME d
ii gnome-orca 2.30.2-2 Scriptable screen reader
ii gok 2.30.0-1 GNOME Onscreen Keyboard
ii libpam-gnome-keyring 3.0.3-2 PAM module to unlock the GNOME key
ii metacity 1:2.30.1-3 lightweight GTK+ window manager
-- Configuration Files:
/etc/gdm3/Xsession changed:
PROGNAME=Xsession
message () {
# pretty-print messages of arbitrary length; use xmessage if it
# is available and $DISPLAY is set
MESSAGE="$PROGNAME: $*"
echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
if [ -n "$DISPLAY" ]; then
if [ -n "$zenity" ]; then
"$zenity" --info --text "$MESSAGE"
elif [ -n "$xmessage" ]; then
echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | $xmessage -center -file -
fi
fi
}
message_nonl () {
# pretty-print messages of arbitrary length (no trailing newline); use
# xmessage if it is available and $DISPLAY is set
MESSAGE="$PROGNAME: $*"
echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
if [ -n "$DISPLAY" ]; then
if [ -n "$zenity" ]; then
"$zenity" --info --text "$MESSAGE"
elif [ -n "$xmessage" ]; then
echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | $xmessage -center -file -
fi
fi
}
errormsg () {
# exit script with error
message "$*"
exit 1
}
internal_errormsg () {
# exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
# One big call to message() for the sake of xmessage; if we had two then
# the user would have dismissed the error we want reported before seeing the
# request to report it.
errormsg "$*" \
"Please report the installed version of the \"xfree86-common\"" \
"package and the complete text of this error message to" \
"<debian-x at lists.debian.org>."
}
run_parts () {
# until run-parts --noexec is implemented
if [ -z "$1" ]; then
internal_errormsg "run_parts() called without an argument."
fi
if [ ! -d "$1" ]; then
internal_errormsg "run_parts() called, but \"$1\" does not exist or is" \
"not a directory."
fi
for F in $(/bin/ls $1); do
if expr "$F" : '[[:alnum:]_-]\+$' > /dev/null 2>&1; then
if [ -f "$1/$F" ]; then
echo "$1/$F"
fi
fi
done
}
OPTIONFILE=/etc/X11/Xsession.options
SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources
SYSSESSIONDIR=/etc/X11/Xsession.d
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession
echo "$0: Beginning session setup..."
test -f /etc/profile && . /etc/profile
test -f "$HOME/.profile" && . "$HOME/.profile"
test -f /etc/xprofile && . /etc/xprofile
test -f "$HOME/.xprofile" && . "$HOME/.xprofile"
zenity=`which zenity 2>/dev/null`
xmessage=`which xmessage 2>/dev/null`
command="$1"
if [ -z "$command" ] ; then
command=failsafe
fi
if [ x"$command" = xfailsafe ] ; then
if [ -n "$zenity" ] ; then
"$zenity" --info --text "This is the failsafe xterm session. Windows now have focus only if you have your cursor above them. To get out of this mode type 'exit' in the window in the upper left corner"
else
echo "$0: Starting the failsafe xterm session."
fi
exec xterm -geometry 80x24+0+0
fi
freetemp=`which freetemp 2>/dev/null`
if [ -n "$freetemp" ] ; then
"$freetemp"
fi
usermodmap="$HOME/.Xmodmap"
userxkbmap="$HOME/.Xkbmap"
if [ -f "$userxkbmap" ]; then
setxkbmap `cat "$userxkbmap"`
XKB_IN_USE=yes
fi
if [ -z "$XKB_IN_USE" ]; then
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
fi
unset XKB_IN_USE
if [ -n "$GDM_LANG" ]; then
# Set the locale to that, it’s the language selected in GDM.
LANG="$GDM_LANG"
export LANG
if [ -n "$LC_ALL" ] && [ "$LC_ALL" != "$LANG" ]; then
LC_ALL="$LANG"
fi
# if GDM_LANG isn't first in LANGUAGE (without charset), then unset it.
if [ -n "$LANGUAGE" ]; then
if echo "$LANGUAGE" | grep -q -- "^${GDM_LANG%%.*}"; then
:
else
unset LANGUAGE
fi
fi
fi
if [ "x$command" = "xcustom" ] ; then
shift
set default $*
fi
if [ -z "$XDG_DATA_DIRS" ]; then
XDG_DATA_DIRS=/usr/share/gdm/:/usr/local/share/:/usr/share/
else
XDG_DATA_DIRS="$XDG_DATA_DIRS":/usr/share/gdm/
fi
export XDG_DATA_DIRS
SESSIONFILES=$(run_parts $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
for SESSIONFILE in $SESSIONFILES; do
. $SESSIONFILE
done
fi
echo "$0: Executing $command failed, will try to run x-terminal-emulator"
if [ -n "$zenity" ] ; then
"$zenity" --info --text "I could not start your session and so I have started the failsafe xterm session. Windows now have focus only if you have your cursor above them. To get out of this mode type 'exit' in the window in the upper left corner"
fi
exec x-terminal-emulator -geometry 80x24+0+0
-- debconf information:
* shared/default-x-display-manager: gdm3
gdm3/daemon_name: /usr/sbin/gdm3
More information about the pkg-gnome-maintainers
mailing list