diff options
author | Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> | 2021-01-27 22:33:10 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-28 23:09:29 +0000 |
commit | 2d95aee64766341bf81f610386bac222e329f1bb (patch) | |
tree | 66e07e71093a37b4cd93a66672d611cd703e1139 /meta | |
parent | 906cde06bee319e788c76abb8f8295ed9921ccb1 (diff) | |
download | openembedded-core-contrib-2d95aee64766341bf81f610386bac222e329f1bb.tar.gz |
insane: Add missing INSANE_SKIP mechanism for native-last QA check
Ensure that the native-last QA check can be controlled by the INSANE_SKIP
variable (realted to [YOCTO #5729]).
Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/insane.bbclass | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 3597943ddd..e371c1c71f 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -1367,30 +1367,31 @@ python () { for i in issues: package_qa_handle_error("pkgvarcheck", "%s: Variable %s is set as not being package specific, please fix this." % (d.getVar("FILE"), i), d) - for native_class in ['native', 'nativesdk']: - if bb.data.inherits_class(native_class, d): - - inherited_classes = d.getVar('__inherit_cache', False) or [] - needle = os.path.join('classes', native_class) - - bbclassextend = (d.getVar('BBCLASSEXTEND') or '').split() - # BBCLASSEXTEND items are always added in the end - skip_classes = bbclassextend - if bb.data.inherits_class('native', d) or 'native' in bbclassextend: - # native also inherits nopackages and relocatable bbclasses - skip_classes.extend(['nopackages', 'relocatable']) - - for class_item in reversed(inherited_classes): - if needle not in class_item: - for extend_item in skip_classes: - if os.path.join('classes', '%s.bbclass' % extend_item) in class_item: + if 'native-last' not in (d.getVar('INSANE_SKIP') or "").split(): + for native_class in ['native', 'nativesdk']: + if bb.data.inherits_class(native_class, d): + + inherited_classes = d.getVar('__inherit_cache', False) or [] + needle = os.path.join('classes', native_class) + + bbclassextend = (d.getVar('BBCLASSEXTEND') or '').split() + # BBCLASSEXTEND items are always added in the end + skip_classes = bbclassextend + if bb.data.inherits_class('native', d) or 'native' in bbclassextend: + # native also inherits nopackages and relocatable bbclasses + skip_classes.extend(['nopackages', 'relocatable']) + + for class_item in reversed(inherited_classes): + if needle not in class_item: + for extend_item in skip_classes: + if os.path.join('classes', '%s.bbclass' % extend_item) in class_item: + break + else: + pn = d.getVar('PN') + package_qa_handle_error("native-last", "%s: native/nativesdk class is not inherited last, this can result in unexpected behaviour. " % pn, d) break else: - pn = d.getVar('PN') - package_qa_handle_error("native-last", "%s: native/nativesdk class is not inherited last, this can result in unexpected behaviour. " % pn, d) break - else: - break qa_sane = d.getVar("QA_SANE") if not qa_sane: |