added a sanity check for when PSEUDO_IGNORE_PATHS and ${S} overlap to avoid 
random failures generated.

[YOCTO #14193]

Signed-off-by: Dorinda Bassey <[email protected]>
---
v2:
added a condition for when {WORKDIR}={S}

 meta/classes/sanity.bbclass | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index c6842ff549..63284b7917 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -710,6 +710,16 @@ def check_sanity_version_change(status, d):
         if i and workdir.startswith(i):
             status.addresult("You are building in a path included in 
PSEUDO_IGNORE_PATHS " + str(i) + " please locate the build outside this 
path.\n")
 
+    # Check if PSEUDO_IGNORE_PATHS and ${S} overlap
+    pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",")
+    workdir = d.getVar('WORKDIR')
+    sourcefile = d.getVar('S')
+    if (workdir == sourcefile):
+        for i in pseudoignorepaths:
+            if i and sourcefile:
+                if sourcefile.startswith(i) or i.startswith(sourcefile):
+                    status.addresult("a path included in PSEUDO_IGNORE_PATHS " 
+ str(i) + " and ${S} (source files) path " + str(sourcefile) + " are 
overlapping each other, please set ${S} in your recipe to point to a different 
directory. \n")
+
     # Some third-party software apparently relies on chmod etc. being suid 
root (!!)
     import stat
     suid_check_bins = "chown chmod mknod".split()
-- 
2.17.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#147403): 
https://lists.openembedded.org/g/openembedded-core/message/147403
Mute This Topic: https://lists.openembedded.org/mt/80192676/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to