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

Bug#793368: Updating /etc/default/locale doesn't update debconf selections during dpkg-reconfigure



Package: locales
Version: 2.11.3-3

When performing the following steps /etc/default/locale ends up changed back to the previous value and debconf-get-selections is not updated:

1. Update /etc/default/locale
2. Run dpkg-reconfigure -fnoninteractive locales

I think this is a minor logic error in locales.config (/var/lib/info/dpkg/locales.config):

"""
if ! echo "$SUPPORTED_LOCALES" | grep -q -e "\b$DEFAULT_ENVIRONMENT\b" ; then
    db_set locales/default_environment_locale "$DEFAULT_ENVIRONMENT"
fi

"""

Which if I'm reading that correctly says "If the locale is not supported then update default_environment_locale", I'd suggest removal of the negating '!'.

Example transcripts:

"""
# cat /etc/default/locale
#  File generated by update-locale
LANG=en_US
# echo 'LANG=en_GB.UTF-8' > /etc/default/locale
# dpkg-reconfigure -fnoninteractive locales
Generating locales (this might take a while)...
  en_GB.ISO-8859-1... done
  en_GB.ISO-8859-15... done
  en_GB.UTF-8... done
  en_US.ISO-8859-1... done
  en_US.UTF-8... done
Generation complete.
# cat /etc/default/locale
LANG=en_US
"""

Inverting the logic condition as suggested by editing /var/lib/dpkg/info/locales.config:

"""
# cat /etc/default/locale
LANG=en_US
# echo 'LANG=en_GB.UTF-8' > /etc/default/locale
# dpkg-reconfigure -fnoninteractive locales
Generating locales (this might take a while)...
  en_GB.ISO-8859-1... done
  en_GB.ISO-8859-15... done
  en_GB.UTF-8... done
  en_US.ISO-8859-1... done
  en_US.UTF-8... done
Generation complete.
# cat /etc/default/locale
LANG=en_GB.UTF-8
"""

--
Kenny Millington
kenny@kennynet.co.uk
http://www.kennynet.co.uk/


Reply to: