]> code.ossystems Code Review - openembedded-core.git/commitdiff
insane: Add missing INSANE_SKIP mechanism for native-last QA check
authorTomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Wed, 27 Jan 2021 21:33:10 +0000 (22:33 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 28 Jan 2021 23:09:29 +0000 (23:09 +0000)
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>
meta/classes/insane.bbclass

index 3597943ddd6d08a96c895261db6aead125ecabf6..e371c1c71fbdef7ec17077352c9c776e709ffee4 100644 (file)
@@ -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: