]> 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)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 27 Jan 2021 10:16:14 +0000 (10:16 +0000)
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>
meta/classes/sanity.bbclass

index d134b40a87b6742277ed87e7b7f5b817563ac039..62b5253911c4b88b4cd4b32542f38c167e921cfe 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()