Merge remote-tracking branch 'origin/github/pr/148'
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 25-locales
index 58ed8c7..59a4e71 100755 (executable)
@@ -11,7 +11,10 @@ set -e
 
 # set up /etc/locale.gen, only GRML_FULL and LOCALES have
 # the full setup, GRMLBASE installs a minimal configuration
-fcopy /etc/locale.gen
+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
@@ -38,17 +41,10 @@ fi
 # make sure:
 # localepurge     localepurge/nopurge     multiselect ....
 # is set so localepurge works as expected
-if [ -x $target/usr/sbin/localepurge ] ; then
+if $ROOTCMD dpkg --list localepurge 2>&1 | grep -q '^ii' ; then
    $ROOTCMD dpkg-reconfigure -f noninteractive localepurge
 fi
 
-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
-
 if ! [ -x $target/usr/sbin/localepurge ] ; then
   echo "Warning: localepurge not installed"
 else
@@ -56,5 +52,16 @@ else
   $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