From e3239ade430ff48e00dce47066abe8fcb990af61 Mon Sep 17 00:00:00 2001 From: Mariano Lopez Date: Tue, 22 Mar 2016 14:04:00 +0000 Subject: archiver.bbclass: Don't expand python functions in dumpdata 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 Signed-off-by: Ross Burton --- meta/classes/archiver.bbclass | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index b95176bb9a..221c7f4797 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -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" -- cgit 1.2.3-korg