diff options
Diffstat (limited to 'meta')
| -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 |
