summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-04-07 16:57:19 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-04-11 18:10:17 +0100
commit6774995322cd6b092ca7f0e476077ca7aee0408e (patch)
tree99f80fe0d6363af78a55092fb9b238b55847fd18 /meta/classes
parent313e551b55d3fc6135b6c40d492d03463e7dfe18 (diff)
downloadpoky-6774995322cd6b092ca7f0e476077ca7aee0408e.tar.gz
classes/buildhistory: write out task signatures on every build
If we want to determine what changed since the last build, one angle from which to look at it is to check the signatures. However, if we don't actually have the signatures from the last build we don't have anywhere to start. Save the signatures on each build in order to give us the starting point. NOTE: you need to set your BUILDHISTORY_FEATURES value to include "task" to enable collection of these signatures as it is is disabled by default. (From OE-Core rev: 11f68f65c46c5bc26ddeeade3021e83b3a7f895a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/buildhistory.bbclass12
1 files changed, 12 insertions, 0 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index eea1e72a28..4fc19a0fc2 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -600,6 +600,17 @@ POPULATE_SDK_POST_HOST_COMMAND[vardepvalueexclude] .= "| buildhistory_list_insta
600SDK_POSTPROCESS_COMMAND_append = " buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; " 600SDK_POSTPROCESS_COMMAND_append = " buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; "
601SDK_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; " 601SDK_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; "
602 602
603python buildhistory_write_sigs() {
604 if not "task" in (d.getVar('BUILDHISTORY_FEATURES') or "").split():
605 return
606
607 # Create sigs file
608 if hasattr(bb.parse.siggen, 'dump_siglist'):
609 taskoutdir = os.path.join(d.getVar('BUILDHISTORY_DIR'), 'task')
610 bb.utils.mkdirhier(taskoutdir)
611 bb.parse.siggen.dump_siglist(os.path.join(taskoutdir, 'tasksigs.txt'))
612}
613
603def buildhistory_get_build_id(d): 614def buildhistory_get_build_id(d):
604 if d.getVar('BB_WORKERCONTEXT') != '1': 615 if d.getVar('BB_WORKERCONTEXT') != '1':
605 return "" 616 return ""
@@ -765,6 +776,7 @@ python buildhistory_eventhandler() {
765 shutil.rmtree(olddir) 776 shutil.rmtree(olddir)
766 if e.data.getVar("BUILDHISTORY_COMMIT") == "1": 777 if e.data.getVar("BUILDHISTORY_COMMIT") == "1":
767 bb.note("Writing buildhistory") 778 bb.note("Writing buildhistory")
779 bb.build.exec_func("buildhistory_write_sigs", d)
768 localdata = bb.data.createCopy(e.data) 780 localdata = bb.data.createCopy(e.data)
769 localdata.setVar('BUILDHISTORY_BUILD_FAILURES', str(e._failures)) 781 localdata.setVar('BUILDHISTORY_BUILD_FAILURES', str(e._failures))
770 interrupted = getattr(e, '_interrupted', 0) 782 interrupted = getattr(e, '_interrupted', 0)