mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 13:29:49 +00:00
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: 89eb75f71b7af278e6cd92f676c1f102367bb42d) Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 6e4bd8cabcdedf4b52345ef5eb421f71d0f19b1d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -710,6 +710,16 @@ def check_sanity_version_change(status, d):
|
|||||||
if i and workdir.startswith(i):
|
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")
|
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 and paths under pseudo control overlap
|
||||||
|
pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",")
|
||||||
|
pseudo_control_dir = "${D},${PKGD},${PKGDEST},${IMAGEROOTFS},${SDK_OUTPUT}"
|
||||||
|
pseudocontroldir = d.expand(pseudo_control_dir).split(",")
|
||||||
|
for i in pseudoignorepaths:
|
||||||
|
for j in pseudocontroldir:
|
||||||
|
if i and j:
|
||||||
|
if j.startswith(i):
|
||||||
|
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")
|
||||||
|
|
||||||
# Some third-party software apparently relies on chmod etc. being suid root (!!)
|
# Some third-party software apparently relies on chmod etc. being suid root (!!)
|
||||||
import stat
|
import stat
|
||||||
suid_check_bins = "chown chmod mknod".split()
|
suid_check_bins = "chown chmod mknod".split()
|
||||||
|
|||||||
Reference in New Issue
Block a user