summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorDorinda <dorindabassey@gmail.com>2021-01-31 22:22:56 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-02-03 21:45:49 +0000
commit785b5489aba6aae6919abdd3faf54abf2439bec6 (patch)
tree14de582b8113d62e93d4bb39c52363f5393d8c7a /meta/classes
parenteedd8033e0046707b84d829c7537acad0c156705 (diff)
downloadpoky-785b5489aba6aae6919abdd3faf54abf2439bec6.tar.gz
sanity.bbclass: Check if PSEUDO_IGNORE_PATHS and paths under pseudo control overlap
Added a sanity check for when PSEUDO_IGNORE_PATHS and paths under pseudo control overlap to avoid random failures generated. [YOCTO #14193] (From OE-Core rev: 6e4bd8cabcdedf4b52345ef5eb421f71d0f19b1d) Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/sanity.bbclass10
1 files changed, 10 insertions, 0 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index c6842ff549..485173ab48 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -710,6 +710,16 @@ def check_sanity_version_change(status, d):
710 if i and workdir.startswith(i): 710 if i and workdir.startswith(i):
711 status.addresult("You are building in a path included in PSEUDO_IGNORE_PATHS " + str(i) + " please locate the build outside this path.\n") 711 status.addresult("You are building in a path included in PSEUDO_IGNORE_PATHS " + str(i) + " please locate the build outside this path.\n")
712 712
713 # Check if PSEUDO_IGNORE_PATHS and and paths under pseudo control overlap
714 pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",")
715 pseudo_control_dir = "${D},${PKGD},${PKGDEST},${IMAGEROOTFS},${SDK_OUTPUT}"
716 pseudocontroldir = d.expand(pseudo_control_dir).split(",")
717 for i in pseudoignorepaths:
718 for j in pseudocontroldir:
719 if i and j:
720 if j.startswith(i):
721 status.addresult("A path included in PSEUDO_IGNORE_PATHS " + str(i) + " and the path " + str(j) + " overlap and this will break pseudo permission and ownership tracking. Please set the path " + str(j) + " to a different directory which does not overlap with pseudo controlled directories. \n")
722
713 # Some third-party software apparently relies on chmod etc. being suid root (!!) 723 # Some third-party software apparently relies on chmod etc. being suid root (!!)
714 import stat 724 import stat
715 suid_check_bins = "chown chmod mknod".split() 725 suid_check_bins = "chown chmod mknod".split()