summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2016-04-04 14:04:14 -0400
committerScott Moser <smoser@ubuntu.com>2016-04-04 14:04:14 -0400
commite3138283fa5f4c3c2579ee54c8a160fda2c17473 (patch)
treeb90dcbcf3acbf5836bde626e607dca5e956388c1
parent3b69f410718f7d8868b8cbaa04e3969811ee89a9 (diff)
downloadvyos-cloud-init-e3138283fa5f4c3c2579ee54c8a160fda2c17473.tar.gz
vyos-cloud-init-e3138283fa5f4c3c2579ee54c8a160fda2c17473.zip
locale: list unsupported environment settings in warning
Now if you log in with unsupported locale, you'll see: The unknown environment variables are: LC_CTYPE=en_GB.utf-8 LC_MESSAGES=en_GB.utf-8 LC_ALL=en_GB.utf-8 LP: #1558069
-rw-r--r--ChangeLog1
-rwxr-xr-xtools/Z99-cloud-locale-test.sh9
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e06bf60f..805df93b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -98,6 +98,7 @@
device naming via systemd.link.
- FreeBSD: add support for installing packages, setting password and
timezone. Change default user to 'freebsd'. [Ben Arblaster]
+ - locale: list unsupported environment settings in warning (LP: #1558069)
0.7.6:
- open 0.7.6
diff --git a/tools/Z99-cloud-locale-test.sh b/tools/Z99-cloud-locale-test.sh
index 3c51f22d..8e0469ed 100755
--- a/tools/Z99-cloud-locale-test.sh
+++ b/tools/Z99-cloud-locale-test.sh
@@ -10,7 +10,7 @@
#
locale_warn() {
- local bad_names="" bad_lcs="" key="" val="" var="" vars=""
+ local bad_names="" bad_lcs="" key="" val="" var="" vars="" bad_kv=""
local w1 w2 w3 w4 remain
# if shell is zsh, act like sh only for this function (-L).
@@ -37,15 +37,18 @@ locale_warn() {
[ "${bad}" = "${var%=*}" ] || continue
val=${var#*=}
[ "${bad_lcs#* ${val}}" = "${bad_lcs}" ] &&
- bad_lcs="${bad_lcs} ${val}"
+ bad_lcs="${bad_lcs} ${val}"
+ bad_kv="${bad_kv} $bad=$val"
break
done
done
bad_lcs=${bad_lcs# }
+ bad_kv=${bad_kv# }
[ -n "$bad_lcs" ] || return 0
printf "_____________________________________________________________________\n"
printf "WARNING! Your environment specifies an invalid locale.\n"
+ printf " The unknown environment variables are:\n %s\n" "$bad_kv"
printf " This can affect your user experience significantly, including the\n"
printf " ability to manage packages. You may install the locales by running:\n\n"
@@ -76,7 +79,7 @@ locale_warn() {
printf "\n"
fi
for bad in ${invalid}; do
- printf "WARNING: '${bad}' is an invalid locale\n"
+ printf "WARNING: '${bad}' is an invalid locale\n"
done
printf "To see all available language packs, run:\n"