sanity: check that the en_US.UTF-8 locale exists

(From OE-Core rev: 55e335d93fe74da3cce220f34bfedcfc47132806)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2016-05-24 17:37:45 +01:00 committed by Richard Purdie
parent 4c3738c149
commit 7b3061e5e7
1 changed files with 13 additions and 0 deletions

View File

@ -765,6 +765,17 @@ def check_sanity_version_change(status, d):
# Check that TMPDIR isn't located on nfs
status.addresult(check_not_nfs(tmpdir, "TMPDIR"))
def sanity_check_locale(d):
"""
Currently bitbake switches locale to en_US.UTF-8 so check that this locale actually exists.
"""
import locale
try:
locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
except locale.Error:
raise_sanity_error("You system needs to support the en_US.UTF-8 locale.", d)
locale.setlocale(locale.LC_ALL, "C")
def check_sanity_everybuild(status, d):
import os, stat
# Sanity tests which test the users environment so need to run at each build (or are so cheap
@ -784,6 +795,8 @@ def check_sanity_everybuild(status, d):
if (LooseVersion(bb.__version__) < LooseVersion(minversion)):
status.addresult('Bitbake version %s is required and version %s was found\n' % (minversion, bb.__version__))
sanity_check_locale(d)
sanity_check_conffiles(status, d)
paths = d.getVar('PATH', True).split(":")