Bug#610910: grub-pc: LC_MESSAGES env value is not used

Andreas Sundstrom sunkan+debian.bugs at zappa.cx
Sun Jan 23 21:59:44 UTC 2011


Package: grub-pc
Version: 1.98+20100804-13
Severity: minor
Tags: patch l10n

grub.cfg takes it lang setting from the LANG variable even if an
overriding value has been set with LC_MESSAGES.
People like me that want's the system to talk english but handle
swedish dates etc. may use settings like this:
$ cat /etc/default/locale
LANG=sv_SE.UTF-8
LC_MESSAGES=en_US.UTF-8

Currently update-grub will set lang to 'sv' instead of 'en' in this
case.
In my opinion grub should use the same language as other commands in
the same installation.

I have attached a patch that I use to change the behavior.

/Andreas

-- System Information:
Debian Release: 6.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=sv_SE.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages grub-pc depends on:
ii  debconf [debconf-2.0]   1.5.36           Debian configuration management sy
ii  grub-common             1.98+20100804-13 GRand Unified Bootloader, version 
ii  libc6                   2.11.2-9         Embedded GNU C Library: Shared lib
ii  libdevmapper1.02.1      2:1.02.48-4      The Linux Kernel Device Mapper use
ii  ucf                     3.0025+nmu1      Update Configuration File: preserv

grub-pc recommends no packages.

Versions of packages grub-pc suggests:
pn  desktop-base                  <none>     (no description available)

-- debconf information:
  grub2/kfreebsd_cmdline:
  grub2/device_map_regenerated:
* grub2/linux_cmdline:
  grub-pc/install_devices_empty: false
  grub-pc/install_devices_failed: false
* grub-pc/chainload_from_menu.lst: true
  grub-pc/kopt_extracted: true
* grub-pc/install_devices: /dev/disk/by-id/ata-IC25N020ATDA04-0_63A630B8868
  grub-pc/postrm_purge_boot_grub: false
  grub-pc/install_devices_failed_upgrade: true
  grub-pc/disk_description:
  grub2/kfreebsd_cmdline_default: quiet
  grub-pc/partition_description:
  grub-pc/install_devices_disks_changed:
  grub2/linux_cmdline_default: quiet
  grub-pc/mixed_legacy_and_grub2: true
-------------- next part --------------
--- etc/grub.d/00_header~	2011-01-04 15:33:02.000000000 +0100
+++ etc/grub.d/00_header	2011-01-23 22:13:52.000000000 +0100
@@ -23,7 +23,11 @@
 exec_prefix=${prefix}
 libdir=${exec_prefix}/lib
 locale_dir=`echo ${GRUB_PREFIX}/locale | sed ${transform}`
-grub_lang=`echo $LANG | cut -d _ -f 1`
+if [ ! -z $LC_MESSAGES ]; then
+    grub_lang=`echo $LC_MESSAGES | cut -d _ -f 1`
+else
+    grub_lang=`echo $LANG | cut -d _ -f 1`
+fi
 
 . ${libdir}/grub/grub-mkconfig_lib
 
@@ -206,7 +210,7 @@
 fi
 
 # Gettext variables and module
-if [ "x${LANG}" != "xC" ] && [ -d "${locale_dir}" ] ; then
+if [ "x${grub_lang}" != "xC" ] && [ -d "${locale_dir}" ] ; then
     prepare_grub_to_access_device $(${grub_probe} --target=device ${locale_dir})
   cat << EOF
 set locale_dir=(\$root)$(make_system_path_relative_to_its_root ${locale_dir})


More information about the Pkg-grub-devel mailing list