diff options
author | Dorinda <dorindabassey@gmail.com> | 2021-01-27 23:52:57 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-30 10:38:49 +0000 |
commit | c5a6cc4146402620851e2a1f2b01d69989150ba2 (patch) | |
tree | 2eb5f0799f29bce0b0fd5802c142328bbcd5c85e | |
parent | afd86357e07f69090eaff4c5db2c517867dd4ccf (diff) | |
download | openembedded-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.bbclass | 8 |
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() |