[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#782241: locales: On upgrade, generic locales as C.UTF-8 are lost in /etc/default/locale



Package: locales
Version: 2.19-17
Severity: serious
Tags: patch
Justification: valid administator configuration is lost on upgrade

  Hi,

  The current debconf script for the 'locales' package does not allow to
choose the C.UTF-8 locale. Moreover, if an administrator write this valid
value for the LANG variable in /etc/default/locale, the value will be
overwritten as soon as the 'locales' package is reconfigurated.
  If I correctly follow the logic of the config script, one goal is to ensure
that the chosen value is correct (i.e. supported). So, the current value
is not always put in the debconf proposed list.
  However, the C.UTF-8 value is valid (as are C and POSIX but I'm less sure
of their value).

  So, either the C.UTF-8 value (and perhaps C and POSIX) should be proposed
when selecting the default environment locale, or, at very least, the config
script must allow to keep it when it has manually be put into
/etc/default/locale by the administrator.

  If you want to always allow this value, the current patch is enough:
===============
--- locales.config	2015-03-14 10:30:53.000000000 +0100
+++ /tmp/locales.config	2015-04-09 15:05:40.257852467 +0200
@@ -547,9 +547,12 @@
         fi
         DEFAULT_LOCALES="$(echo $RET | sed -e 's/ [^ ]*,/,/g' -e 's/ [^ ]*$//')"
         if [ -n "$DEFAULT_LOCALES" ]; then
-            db_subst locales/default_environment_locale locales $DEFAULT_LOCALES
-            db_input medium locales/default_environment_locale || true
+            DEFAULT_LOCALES="C, C.UTF-8, POSIX, $DEFAULT_LOCALES"
+        else
+            DEFAULT_LOCALES="C, C.UTF-8, POSIX"
         fi
+        db_subst locales/default_environment_locale locales $DEFAULT_LOCALES
+        db_input medium locales/default_environment_locale || true
         ;;
     *)
         break
===============
  Feel free to adjust the list of always supported locales (ie C and POSIX)

  If you want to only allow the C, C.UTF-8, and POSIX locales when they
have been manually set up (so they do not show up on default install), I
can provide an updated patch. Just tell me.

  Regards,
    Vincent

-- System Information:
Debian Release: 8.0
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armel, mipsel

Kernel: Linux 3.19.0-trunk-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages locales depends on:
ii  debconf [debconf-2.0]  1.5.56
ii  libc-bin               2.19-17

locales recommends no packages.

locales suggests no packages.

-- debconf information:
  locales/default_environment_locale: None
  locales/locales_to_be_generated: fr_FR.UTF-8 UTF-8


Reply to: