From: Dorinda Date: Tue, 26 Jan 2021 00:53:47 +0000 (+0100) Subject: sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS X-Git-Tag: 2020-10.2~49 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=35f3e08c52e163e4496c0222896c49888ad5c960;p=openembedded-core.git sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS If a user builds in a path in PSEUDO_IGNORE_PATHS, random failures are generated. Hence this patch adds a sanity check in sanity.bbclass to ensure that a user isn't building in PSEUDO_IGNORE_PATHS. [YOCTO #14179] (From OE-Core rev: 7a681525e904914e938de25df5cc64209097d15d) Signed-off-by: Dorinda Bassey Signed-off-by: Richard Purdie (cherry picked from commit bfeeaf9ff148a61868e0c882b7455dc02ca8ed76) Signed-off-by: Anuj Mittal --- diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 3262d08fbf..0e7ad45c94 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -703,6 +703,13 @@ def check_sanity_version_change(status, d): if (tmpdirmode & stat.S_ISUID): status.addresult("TMPDIR is setuid, please don't build in a setuid directory") + # Check that a user isn't building in a path in PSEUDO_IGNORE_PATHS + pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",") + workdir = d.getVar('WORKDIR', expand=True) + for i in pseudoignorepaths: + 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") + # Some third-party software apparently relies on chmod etc. being suid root (!!) import stat suid_check_bins = "chown chmod mknod".split()