summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDorinda <dorindabassey@gmail.com>2021-01-27 23:52:57 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-01-30 10:38:49 +0000
commitc5a6cc4146402620851e2a1f2b01d69989150ba2 (patch)
tree2eb5f0799f29bce0b0fd5802c142328bbcd5c85e
parentafd86357e07f69090eaff4c5db2c517867dd4ccf (diff)
downloadopenembedded-core-contrib-c5a6cc4146402620851e2a1f2b01d69989150ba2.tar.gz
sanity.bbclass: check if PSEUDO_IGNORE_PATHS and ${S} overlap
added a sanity check for when PSEUDO_IGNORE_PATHS and ${S} overlap to avoid random failures generated. [YOCTO #14193] Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/sanity.bbclass8
1 files changed, 8 insertions, 0 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index c6842ff549..34215ebfb2 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -710,6 +710,14 @@ 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(",")
+ sourcefile = d.getVar('S')
+ 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()