summaryrefslogtreecommitdiff
path: root/bootstrap/generated-dists/centos8/locale.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/generated-dists/centos8/locale.sh')
-rwxr-xr-xbootstrap/generated-dists/centos8/locale.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/bootstrap/generated-dists/centos8/locale.sh b/bootstrap/generated-dists/centos8/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/centos8/locale.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+set -xueo pipefail
+
+# refer to /usr/share/i18n/locales
+INPUTFILE=en_US
+# refer to /usr/share/i18n/charmaps
+CHARMAP=UTF-8
+# locale to generate in /usr/lib/locale
+# glibc/localedef will normalize UTF-8 to utf8, follow the naming style
+LOCALE=$INPUTFILE.utf8
+
+# if locale is already correct, exit
+( locale | grep LC_ALL | grep -i $LOCALE ) && exit 0
+
+# if locale not available, generate locale into /usr/lib/locale
+if ! ( locale --all-locales | grep -i $LOCALE )
+then
+ # no-archive means create its own dir
+ localedef --inputfile $INPUTFILE --charmap $CHARMAP --no-archive $LOCALE
+fi
+
+# update locale conf and global env file
+# set both LC_ALL and LANG for safe
+
+# update conf for Debian family
+FILE=/etc/default/locale
+if [ -f $FILE ]
+then
+ echo LC_ALL="$LOCALE" > $FILE
+ echo LANG="$LOCALE" >> $FILE
+fi
+
+# update conf for RedHat family
+FILE=/etc/locale.conf
+if [ -f $FILE ]
+then
+ # LC_ALL is not valid in this file, set LANG only
+ echo LANG="$LOCALE" > $FILE
+fi
+
+# update global env file
+FILE=/etc/environment
+if [ -f $FILE ]
+then
+ # append LC_ALL if not exist
+ grep LC_ALL $FILE || echo LC_ALL="$LOCALE" >> $FILE
+ # append LANG if not exist
+ grep LANG $FILE || echo LANG="$LOCALE" >> $FILE
+fi \ No newline at end of file