See [YOCTO #5729] for details.

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendziel...@gmail.com>
---
 meta/classes/insane.bbclass | 43 +++++++++++++++++++------------------
 1 file 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:
-- 
2.30.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#147370): 
https://lists.openembedded.org/g/openembedded-core/message/147370
Mute This Topic: https://lists.openembedded.org/mt/80169147/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to