diff options
Diffstat (limited to 'meta/classes/base.bbclass')
-rw-r--r-- | meta/classes/base.bbclass | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 1636c6ef93..25d5fff72e 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass | |||
@@ -639,6 +639,18 @@ python () { | |||
639 | if needsrcrev: | 639 | if needsrcrev: |
640 | d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}") | 640 | d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}") |
641 | 641 | ||
642 | # Gather all named SRCREVs to add to the sstate hash calculation | ||
643 | # This anonymous python snippet is called multiple times so we | ||
644 | # need to be careful to not double up the appends here and cause | ||
645 | # the base hash to mismatch the task hash | ||
646 | for uri in srcuri.split(): | ||
647 | parm = bb.fetch.decodeurl(uri)[5] | ||
648 | uri_names = parm.get("name", "").split(",") | ||
649 | for uri_name in filter(None, uri_names): | ||
650 | srcrev_name = "SRCREV_{}".format(uri_name) | ||
651 | if srcrev_name not in (d.getVarFlag("do_fetch", "vardeps") or "").split(): | ||
652 | d.appendVarFlag("do_fetch", "vardeps", " {}".format(srcrev_name)) | ||
653 | |||
642 | set_packagetriplet(d) | 654 | set_packagetriplet(d) |
643 | 655 | ||
644 | # 'multimachine' handling | 656 | # 'multimachine' handling |