summaryrefslogtreecommitdiffstats
path: root/meta/classes/sstate.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/sstate.bbclass')
-rw-r--r--meta/classes/sstate.bbclass11
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 03ee820663..25b8d72633 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -625,6 +625,7 @@ BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
625def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d): 625def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
626 626
627 ret = [] 627 ret = []
628 missed = []
628 629
629 def getpathcomponents(task, d): 630 def getpathcomponents(task, d):
630 # Magic data from BB_HASHFILENAME 631 # Magic data from BB_HASHFILENAME
@@ -646,11 +647,13 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
646 spec, extrapath, tname = getpathcomponents(task, d) 647 spec, extrapath, tname = getpathcomponents(task, d)
647 648
648 sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + ".tgz.siginfo") 649 sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + ".tgz.siginfo")
650
649 if os.path.exists(sstatefile): 651 if os.path.exists(sstatefile):
650 bb.debug(2, "SState: Found valid sstate file %s" % sstatefile) 652 bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
651 ret.append(task) 653 ret.append(task)
652 continue 654 continue
653 else: 655 else:
656 missed.append(task)
654 bb.debug(2, "SState: Looked for but didn't find file %s" % sstatefile) 657 bb.debug(2, "SState: Looked for but didn't find file %s" % sstatefile)
655 658
656 mirrors = d.getVar("SSTATE_MIRRORS", True) 659 mirrors = d.getVar("SSTATE_MIRRORS", True)
@@ -688,9 +691,17 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
688 bb.debug(2, "SState: Successful fetch test for %s" % srcuri) 691 bb.debug(2, "SState: Successful fetch test for %s" % srcuri)
689 ret.append(task) 692 ret.append(task)
690 except: 693 except:
694 missed.append(task)
691 bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri) 695 bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
692 pass 696 pass
693 697
698 inheritlist = d.getVar("INHERIT", True)
699 if "toaster" in inheritlist:
700 evdata = []
701 for task in missed:
702 evdata.append( (sq_fn[task], sq_task[task], sq_hash[task], generate_sstatefn(spec, sq_hash[task],d) ) )
703 bb.event.fire(bb.event.MetadataEvent("MissedSstate", evdata), d)
704
694 return ret 705 return ret
695 706
696BB_SETSCENE_DEPVALID = "setscene_depvalid" 707BB_SETSCENE_DEPVALID = "setscene_depvalid"