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: