summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmkosi.build22
1 files changed, 11 insertions, 11 deletions
diff --git a/mkosi.build b/mkosi.build
index 113d2cdd55..f170f9b957 100755
--- a/mkosi.build
+++ b/mkosi.build
@@ -21,21 +21,21 @@ umask 022
# So let's ensure we're running under UTF-8.
#
# If our current locale already is UTF-8, then we don't need to do anything:
-if [ "$(locale charmap)" != "UTF-8" ] ; then
+if [ "$(locale charmap 2> /dev/null)" != "UTF-8" ] ; then
# Try using C.UTF-8 locale, if available. This locale is not shipped
# by upstream glibc, so it's not available in all distros.
# (In particular, it's not available in Arch Linux.)
- export LC_CTYPE=C.UTF-8
- if [ "$(locale charmap)" != "UTF-8" ] ; then
- # Finally, try something like en_US.UTF-8, which should be
- # available in Arch Linux, but is not present in Debian's
- # minimal image in our mkosi config.
+ if locale -a | grep -q -E "C.UTF-8|C.utf8"; then
+ export LC_CTYPE=C.UTF-8
+ # Finally, try something like en_US.UTF-8, which should be
+ # available in Arch Linux, but is not present in Debian's
+ # minimal image in our mkosi config.
+ elif locale -a | grep -q en_US.utf8; then
export LC_CTYPE=en_US.UTF-8
- if [ "$(locale charmap)" != "UTF-8" ] ; then
- # If nothing works, fail early.
- echo "*** Could not find a valid locale that supports UTF-8. ***" >&2
- exit 1
- fi
+ else
+ # If nothing works, fail early.
+ echo "*** Could not find a valid locale that supports UTF-8. ***" >&2
+ exit 1
fi
fi