[bitbake-devel] build.py: Ensure shared work siginfo files are written to the correct location

Submitted by Richard Purdie on June 18, 2014, 4:59 p.m. | Patch ID: 74025


Message ID 1403110779.2104.80.camel@ted
State New
Headers show

Commit Message

Richard Purdie June 18, 2014, 4:59 p.m.
Right now shared work signature data is saved to the non-shared directory
which is confusing to everyone including bitbake. Whilst its messy,
extra the stampbase data instead, which ensures the sig data is written
to the correct location alongside its corresponding stamp file.

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

Patch hide | download patch | download mbox

diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 6b70ce5..d1eaed4 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -506,7 +506,7 @@  def exec_task(fn, task, d, profile = False):
             event.fire(failedevent, d)
         return 1
-def stamp_internal(taskname, d, file_name):
+def stamp_internal(taskname, d, file_name, baseonly=False):
     Internal stamp helper function
     Makes sure the stamp directory exists
@@ -527,6 +527,9 @@  def stamp_internal(taskname, d, file_name):
         file_name = d.getVar('BB_FILENAME', True)
         extrainfo = d.getVarFlag(taskflagname, 'stamp-extra-info', True) or ""
+    if baseonly:
+        return stamp
     if not stamp:
@@ -591,8 +594,9 @@  def make_stamp(task, d, file_name = None):
     # If we're in task context, write out a signature file for each task
     # as it completes
     if not task.endswith("_setscene") and task != "do_setscene" and not file_name:
+        stampbase = stamp_internal(task, d, None, True)
         file_name = d.getVar('BB_FILENAME', True)
-        bb.parse.siggen.dump_sigtask(file_name, task, d.getVar('STAMP', True), True)
+        bb.parse.siggen.dump_sigtask(file_name, task, stampbase, True)
 def del_stamp(task, d, file_name = None):