]> code.ossystems Code Review - openembedded-core.git/commitdiff
sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS
authorDorinda <dorindabassey@gmail.com>
Tue, 26 Jan 2021 00:53:47 +0000 (01:53 +0100)
committerSteve Sakoman <steve@sakoman.com>
Thu, 28 Jan 2021 16:13:19 +0000 (06:13 -1000)
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]

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7a681525e904914e938de25df5cc64209097d15d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/classes/sanity.bbclass

index cdef8e0c7d4fc6f51d1310bd294a057ae89207eb..4dc21bf0a98b5dbf01c5a19d3c67ba1c4971396b 100644 (file)
@@ -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()