]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mkosi: Silence locale checking in mkosi.build
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 6 Dec 2020 18:16:00 +0000 (18:16 +0000)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 6 Dec 2020 22:11:11 +0000 (22:11 +0000)
Avoid warning and error logs from locale charmap and export LC_CTYPE
by piping to dev/null and checking if locales are available before
using them.

mkosi.build

index 113d2cdd5539941772ad43f858a916976482b927..f170f9b95770e1b60c4765aba5531ae9296fbdb3 100755 (executable)
@@ -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