diff options
author | Clemens Gruber <clemens.gruber@pqgruber.com> | 2018-01-17 18:34:19 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2018-01-18 21:46:47 +0100 |
commit | 566b2b3a93fc3eb7cc42292a21af2dd2b05fa76f (patch) | |
tree | 0427d7217cfaafcc50d2d7dc5869776bd74967cc | |
parent | 10940bae3214b1495ad8f8a6eef6e276fdff3b8b (diff) | |
download | ptxdist-2018.01.0.tar.gz ptxdist-2018.01.0.tar.xz |
ptxd_make_world_common.sh: fix meson build for non-Debian distrosptxdist-2018.01.0
Debian patches glibc to add a special C.UTF-8 locale, which is not
available on most other distros.
For the meson build to work on other distros like ArchLinux, let's grep
the output of locale -a and try to find C.UTF-8, en_US.UTF-8 or an en_*
UTF-8 locale. If none can be found, fall back to any UTF-8 locale and
print a warning.
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | scripts/lib/ptxd_make_world_common.sh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/scripts/lib/ptxd_make_world_common.sh b/scripts/lib/ptxd_make_world_common.sh index 90f1c70b3..85471ce22 100644 --- a/scripts/lib/ptxd_make_world_common.sh +++ b/scripts/lib/ptxd_make_world_common.sh @@ -315,7 +315,19 @@ ptxd_make_world_init() { pkg_conf_opt="${pkg_conf_opt:-${!conf_opt_ptr}}" pkg_conf_env="PTXDIST_ICECC= ${pkg_conf_env}" - pkg_env="${pkg_env} LC_ALL='C.UTF-8'" + + # Try to find a suitable UTF-8 locale on all distros + local c_locale + if c_locale=$(locale -a | grep -i -m 1 "^C\.utf[-]\?8$") || \ + c_locale=$(locale -a | grep -i -m 1 "^en_US\.utf[-]\?8$") || \ + c_locale=$(locale -a | grep -i -m 1 "^en_.*\.utf[-]\?8$"); then + pkg_env="${pkg_env} LC_ALL='${c_locale}'" + else + ptxd_warning "Failed to find a good UTF-8 locale for meson." + pkg_env="${pkg_env} LC_ALL='$(locale -a | grep -i -m 1 "\.utf[-]\?8")'" + fi + unset c_locale + if [ "${PTXDIST_VERBOSE}" = "1" ]; then pkg_make_opt="-v ${pkg_make_opt}" pkg_install_opt="-v ${pkg_install_opt}" |