[OE-core] [PATCH 1/1] sanity.bbclass: Check if /tmp is writable

mariano.lopez at linux.intel.com mariano.lopez at linux.intel.com
Mon Jun 29 07:20:10 UTC 2015


From: Mariano Lopez <mariano.lopez at linux.intel.com>

If /tmp can't be written, bitbake gaves an unrelated error.
This checks if /tmp can be written in every build.

[YOCTO #7922]

Signed-off-by: Mariano Lopez <mariano.lopez at linux.intel.com>
---
 meta/classes/sanity.bbclass | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 2855941..7a580da 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -704,6 +704,19 @@ def check_sanity_everybuild(status, d):
     if "." in paths or "./" in paths or "" in paths:
         status.addresult("PATH contains '.', './' or '' (empty element), which will break the build, please remove this.\nParsed PATH is " + str(paths) + "\n")
 
+    # Check if /tmp is writable
+    from string import ascii_letters
+    from random import choice
+    filename = "bb_writetest.%s" % os.getpid()
+    testfile = os.path.join("/tmp", filename)
+    try:
+        f = open(testfile, "w")
+        f.write("".join(choice(ascii_letters) for x in range(1024)))
+        f.close()
+        os.remove(testfile)
+    except:
+        status.addresult("Failed to write into /tmp. Please verify your filesystem.")
+
     # Check that the DISTRO is valid, if set
     # need to take into account DISTRO renaming DISTRO
     distro = d.getVar('DISTRO', True)
-- 
1.8.4.5




More information about the Openembedded-core mailing list