diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/sanity.bbclass | 15 |
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 @@ # Sanity check the users setup for common misconfigurations # -SANITY_REQUIRED_UTILITIES ?= "patch diffstat makeinfo git bzip2 tar gzip gawk chrpath wget cpio" +SANITY_REQUIRED_UTILITIES ?= "patch diffstat makeinfo git bzip2 tar \ + gzip gawk chrpath wget cpio perl" def bblayers_conf_file(d): return os.path.join(d.getVar('TOPDIR', True), 'conf/bblayers.conf') @@ -378,6 +379,17 @@ def check_git_version(sanity_data): 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" return None +# Check the required perl modules which may not be installed by default +def check_perl_modules(sanity_data): + ret = "" + modules = ( "Text::ParseWords", "Thread::Queue", "Data::Dumper" ) + for m in modules: + status, result = oe.utils.getstatusoutput("perl -e 'use %s' 2> /dev/null" % m) + if status != 0: + ret += "%s " % m + if ret: + return "Required perl module(s) not found: %s\n" % ret + return None def sanity_check_conffiles(status, d): # Check we are using a valid local.conf @@ -488,6 +500,7 @@ def check_sanity_version_change(status, d): status.addresult(check_make_version(d)) status.addresult(check_tar_version(d)) status.addresult(check_git_version(d)) + status.addresult(check_perl_modules(d)) missing = "" |