diff options
Diffstat (limited to 'bitbake/lib')
| -rw-r--r-- | bitbake/lib/bb/utils.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index 3ce98d3179..6aeaa0dba0 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py | |||
| @@ -13,6 +13,7 @@ import errno | |||
| 13 | import logging | 13 | import logging |
| 14 | import bb | 14 | import bb |
| 15 | import bb.msg | 15 | import bb.msg |
| 16 | import locale | ||
| 16 | import multiprocessing | 17 | import multiprocessing |
| 17 | import fcntl | 18 | import fcntl |
| 18 | import importlib | 19 | import importlib |
| @@ -608,6 +609,21 @@ def preserved_envvars(): | |||
| 608 | ] | 609 | ] |
| 609 | return v + preserved_envvars_exported() | 610 | return v + preserved_envvars_exported() |
| 610 | 611 | ||
| 612 | def check_system_locale(): | ||
| 613 | """Make sure the required system locale are available and configured""" | ||
| 614 | default_locale = locale.getlocale(locale.LC_CTYPE) | ||
| 615 | |||
| 616 | try: | ||
| 617 | locale.setlocale(locale.LC_CTYPE, ("en_US", "UTF-8")) | ||
| 618 | except: | ||
| 619 | sys.exit("Please make sure locale 'en_US.UTF-8' is available on your system") | ||
| 620 | else: | ||
| 621 | locale.setlocale(locale.LC_CTYPE, default_locale) | ||
| 622 | |||
| 623 | if sys.getfilesystemencoding() != "utf-8": | ||
| 624 | sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\n" | ||
| 625 | "Python can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.") | ||
| 626 | |||
| 611 | def filter_environment(good_vars): | 627 | def filter_environment(good_vars): |
| 612 | """ | 628 | """ |
| 613 | Create a pristine environment for bitbake. This will remove variables that | 629 | Create a pristine environment for bitbake. This will remove variables that |
