summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/sanity.bbclass15
1 files changed, 14 insertions, 1 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 8531df16b0..e5bf970db2 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -2,7 +2,8 @@
2# Sanity check the users setup for common misconfigurations 2# Sanity check the users setup for common misconfigurations
3# 3#
4 4
5SANITY_REQUIRED_UTILITIES ?= "patch diffstat makeinfo git bzip2 tar gzip gawk chrpath wget cpio" 5SANITY_REQUIRED_UTILITIES ?= "patch diffstat makeinfo git bzip2 tar \
6 gzip gawk chrpath wget cpio perl"
6 7
7def bblayers_conf_file(d): 8def bblayers_conf_file(d):
8 return os.path.join(d.getVar('TOPDIR', True), 'conf/bblayers.conf') 9 return os.path.join(d.getVar('TOPDIR', True), 'conf/bblayers.conf')
@@ -378,6 +379,17 @@ def check_git_version(sanity_data):
378 return "Your version of git is older than 1.7.5 and has bugs which will break builds. Please install a newer version of git.\n" 379 return "Your version of git is older than 1.7.5 and has bugs which will break builds. Please install a newer version of git.\n"
379 return None 380 return None
380 381
382# Check the required perl modules which may not be installed by default
383def check_perl_modules(sanity_data):
384 ret = ""
385 modules = ( "Text::ParseWords", "Thread::Queue", "Data::Dumper" )
386 for m in modules:
387 status, result = oe.utils.getstatusoutput("perl -e 'use %s' 2> /dev/null" % m)
388 if status != 0:
389 ret += "%s " % m
390 if ret:
391 return "Required perl module(s) not found: %s\n" % ret
392 return None
381 393
382def sanity_check_conffiles(status, d): 394def sanity_check_conffiles(status, d):
383 # Check we are using a valid local.conf 395 # Check we are using a valid local.conf
@@ -488,6 +500,7 @@ def check_sanity_version_change(status, d):
488 status.addresult(check_make_version(d)) 500 status.addresult(check_make_version(d))
489 status.addresult(check_tar_version(d)) 501 status.addresult(check_tar_version(d))
490 status.addresult(check_git_version(d)) 502 status.addresult(check_git_version(d))
503 status.addresult(check_perl_modules(d))
491 504
492 missing = "" 505 missing = ""
493 506