Patchwork sstate: Write out siginfo files for non-sstate tasks

login
register
mail settings
Submitter Richard Purdie
Date Dec. 18, 2013, 1:49 p.m.
Message ID <1387374563.6402.40.camel@ted>
Download mbox | patch
Permalink /patch/63503/
State Accepted
Commit 88f01667707bd00b5f918950075e2235b3440b4b
Headers show

Comments

Richard Purdie - Dec. 18, 2013, 1:49 p.m.
Currently siginfo files are only written for sstate tasks. In order to be truly
debuggable, its helpful to have the siginfo for intermediate tasks. This
adds that functionality so the extra siginfo files are written out too.

This will be used to add better sstate debugging in future changes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---

Patch

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 517c100..678d5e3 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -735,3 +735,14 @@  def setscene_depvalid(task, taskdependees, notneeded, d):
         return False
     return True
 
+addhandler sstate_eventhandler
+sstate_eventhandler[eventmask] = "bb.build.TaskSucceeded"
+python sstate_eventhandler() {
+    d = e.data
+    # When we write an sstate package we rewrite the SSTATE_PKG
+    spkg = d.getVar('SSTATE_PKG', True)
+    if not spkg.endswith(".tgz"):
+        taskname = d.getVar("BB_RUNTASK", True)[3:]
+        bb.siggen.dump_this_task(d.getVar('SSTATE_PKG', True) + '_' + taskname + ".tgz" ".siginfo", d)
+}
+