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

mariano.lopez at linux.intel.com mariano.lopez at linux.intel.com
Tue Jul 7 11:17:40 UTC 2015


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

Used mkstemp instead of raw open file call.
Also added the exception message to the output of
the sanity check.

[YOCTO #7922]

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

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 7a580da..125cc4c 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -707,15 +707,16 @@ def check_sanity_everybuild(status, d):
     # 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)
+    from tempfile import mkstemp
+    tmpfd, tmppath = mkstemp()
     try:
-        f = open(testfile, "w")
+        f = os.fdopen(tmpfd, "wt")
         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.")
+    except Exception as err:
+        status.addresult("Failed to write into /tmp; %s. Please verify your filesystem." % err)
+    finally:
+        os.remove(tmppath)
 
     # Check that the DISTRO is valid, if set
     # need to take into account DISTRO renaming DISTRO
-- 
1.8.4.5




More information about the Openembedded-core mailing list