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