From: Nitin A Kamble Date: Tue, 4 Mar 2014 18:17:52 +0000 (-0800) Subject: insane: Special case kernel modules for x32 targets X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d31d2e85cfab8b85988047facd60438539467813;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git insane: Special case kernel modules for x32 targets The Kernel module packages for x32 target have 64 bit binaries, which breaks the QA_check expecting all the packages to be 32bit. Make a special case for kernel module packages for x32 targets, to avoid this false error. Fixes Bug: [YOCTO #5903] (From OE-Core rev: a4261ab92735abfba835e916931d2e920f335aaa) Signed-off-by: Nitin A Kamble Signed-off-by: Richard Purdie --- diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 11c1feb84a2..9ce336415a5 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -443,11 +443,11 @@ def package_qa_check_arch(path,name,d, elf, messages): # Check the architecture and endiannes of the binary if not ((machine == elf.machine()) or \ - ("virtual/kernel" in provides) and (target_os == "linux-gnux32")): + ((("virtual/kernel" in provides) or bb.data.inherits_class("module", d) ) and (target_os == "linux-gnux32"))): messages.append("Architecture did not match (%d to %d) on %s" % \ (machine, elf.machine(), package_qa_clean_path(path,d))) elif not ((bits == elf.abiSize()) or \ - ("virtual/kernel" in provides) and (target_os == "linux-gnux32")): + ((("virtual/kernel" in provides) or bb.data.inherits_class("module", d) ) and (target_os == "linux-gnux32"))): messages.append("Bit size did not match (%d to %d) %s on %s" % \ (bits, elf.abiSize(), bpn, package_qa_clean_path(path,d))) elif not littleendian == elf.isLittleEndian():