From c5a6cc4146402620851e2a1f2b01d69989150ba2 Mon Sep 17 00:00:00 2001 From: Dorinda Date: Wed, 27 Jan 2021 23:52:57 +0100 Subject: 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 Signed-off-by: Richard Purdie --- meta/classes/sanity.bbclass | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'meta/classes') 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() -- cgit 1.2.3-korg