#!/bin/bash # Filename: ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/25-locales # Purpose: locales (language) configuration of the live system # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2 or any later version. ################################################################################ set -u set -e # set up /etc/locale.gen, only GRML_FULL and LOCALES have # the full setup, GRMLBASE installs a minimal configuration fcopy -v /etc/locale.gen # set up /etc/locale.conf, to avoid systemd-firstboot prompting for user input fcopy -v /etc/locale.conf # get rid of locales unless using class LOCALES set +u if ! ifclass LOCALES ; then set -u echo 'Removing /usr/share/locale' # get rid of the original rm -rf $target/usr/share/locale # restore *empty* directories because otherwise installation/upgrade of packages might fail [ -d "$target"/usr/share/locale ] || mkdir "$target"/usr/share/locale $ROOTCMD ln -s /etc/locale.alias /usr/share/locale/locale.alias # make sure the directories of removed locales exist; ugly hack but no other solution present :( echo 'Creating empty /usr/share/locale/*/LC_MESSAGES directories' for f in $($ROOTCMD dpkg -S LC_MESSAGES | awk '{print $2}' | grep '/usr/share/locale/' | sed 's#LC_MESSAGES.*##' | sort -u) ; do if ! [ -d "$target/$f"/LC_MESSAGES ] ; then $ROOTCMD mkdir -p "$f"/LC_MESSAGES fi done fi # make sure: # localepurge localepurge/nopurge multiselect .... # is set so localepurge works as expected if $ROOTCMD dpkg --list localepurge 2>&1 | grep -q '^ii' ; then $ROOTCMD dpkg-reconfigure -f noninteractive localepurge fi if ! [ -x $target/usr/sbin/localepurge ] ; then echo "Warning: localepurge not installed" else echo "Running localepurge." $ROOTCMD localepurge fi if $ROOTCMD dpkg-query -s locales-all >/dev/null 2>&1 ; then echo "locales-all installed, skipping locales generation" else if ! [ -x ${target}/usr/sbin/locale-gen ] ; then echo 'Warning: locale-gen [package locales] not installed' else echo "Running locale-gen" $ROOTCMD locale-gen fi fi ## END OF FILE ################################################################# # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2