]> code.ossystems Code Review - openembedded-core.git/commitdiff
archiver.bbclass: Don't expand python functions in dumpdata
authorMariano Lopez <mariano.lopez@linux.intel.com>
Tue, 22 Mar 2016 14:04:00 +0000 (14:04 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 24 Mar 2016 21:44:27 +0000 (21:44 +0000)
Currently the dumpdata task expands python data in the datastore, in
some functions this causes a silent error and the task will fail.

The change also rewrite the function to make a bit clearer.

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/archiver.bbclass

index b95176bb9a4830747e6485a0792d30365bd4506b..221c7f4797cd6365e0273ad40419c2a1acf166e5 100644 (file)
@@ -335,14 +335,13 @@ python do_dumpdata () {
     dumpfile = os.path.join(d.getVar('ARCHIVER_OUTDIR', True), \
         '%s-showdata.dump' % d.getVar('PF', True))
     bb.note('Dumping metadata into %s' % dumpfile)
-    f = open(dumpfile, 'w')
-    # emit variables and shell functions
-    bb.data.emit_env(f, d, True)
-    # emit the metadata which isn't valid shell
-    for e in d.keys():
-        if bb.data.getVarFlag(e, 'python', d):
-            f.write("\npython %s () {\n%s}\n" % (e, bb.data.getVar(e, d, True)))
-    f.close()
+    with open(dumpfile, "w") as f:
+        # emit variables and shell functions
+        bb.data.emit_env(f, d, True)
+        # emit the metadata which isn't valid shell
+        for e in d.keys():
+            if d.getVarFlag(e, "python", False):
+                f.write("\npython %s () {\n%s}\n" % (e, d.getVar(e, False)))
 }
 
 SSTATETASKS += "do_deploy_archives"