summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-20 12:08:56 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-20 12:26:32 +0000
commit3ada51f7aa26fc95d5f9ba4498c0ea54acc6e42e (patch)
tree5205372e3c7fe3a7354c0c86efccc5a5d6fca48b
parent9a1705e9a51a19499a40aea8bbca43a1d759bca1 (diff)
downloadpoky-3ada51f7aa26fc95d5f9ba4498c0ea54acc6e42e.tar.gz
sstate/sstatesig: Add populate_lic to list of arch invariant sstate tasks
Like fetch, unpack and patch, populate_lic doesn't vary between different archs so we should mark it as such. This means better sstate cache reuse with fewer duplicate files as well as less confusing sstate debugging. sstatesig also needs to account for the fact BPN is used for sstate files in these cases. (From OE-Core rev: 3d59d0bed756f64d0092caa3892239c779c4a341) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/sstate.bbclass8
-rw-r--r--meta/lib/oe/sstatesig.py3
2 files changed, 9 insertions, 2 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 324d1c1b49..377af202a4 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -103,6 +103,10 @@ def sstate_state_fromvars(d, task = None):
103 if not name or len(inputs) != len(outputs): 103 if not name or len(inputs) != len(outputs):
104 bb.fatal("sstate variables not setup correctly?!") 104 bb.fatal("sstate variables not setup correctly?!")
105 105
106 if name == "populate_lic":
107 d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}")
108 d.setVar("SSTATE_EXTRAPATH", "")
109
106 ss = sstate_init(name, task, d) 110 ss = sstate_init(name, task, d)
107 for i in range(len(inputs)): 111 for i in range(len(inputs)):
108 sstate_add(ss, inputs[i], outputs[i], d) 112 sstate_add(ss, inputs[i], outputs[i], d)
@@ -603,7 +607,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
603 607
604 tname = sq_task[task][3:] 608 tname = sq_task[task][3:]
605 609
606 if tname in ["fetch", "unpack", "patch"] and splithashfn[2]: 610 if tname in ["fetch", "unpack", "patch", "populate_lic"] and splithashfn[2]:
607 spec = splithashfn[2] 611 spec = splithashfn[2]
608 extrapath = "" 612 extrapath = ""
609 613
@@ -749,7 +753,7 @@ python sstate_eventhandler() {
749 taskname = d.getVar("BB_RUNTASK", True)[3:] 753 taskname = d.getVar("BB_RUNTASK", True)[3:]
750 spec = d.getVar('SSTATE_PKGSPEC', True) 754 spec = d.getVar('SSTATE_PKGSPEC', True)
751 swspec = d.getVar('SSTATE_SWSPEC', True) 755 swspec = d.getVar('SSTATE_SWSPEC', True)
752 if taskname in ["fetch", "unpack", "patch"] and swspec: 756 if taskname in ["fetch", "unpack", "patch", "populate_lic"] and swspec:
753 d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}") 757 d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}")
754 d.setVar("SSTATE_EXTRAPATH", "") 758 d.setVar("SSTATE_EXTRAPATH", "")
755 sstatepkg = d.getVar('SSTATE_PKG', True) 759 sstatepkg = d.getVar('SSTATE_PKG', True)
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 68e53f661c..3011f16a77 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -103,6 +103,9 @@ def find_siginfo(pn, taskname, taskhashlist, d):
103 if key.startswith('virtual:native:'): 103 if key.startswith('virtual:native:'):
104 pn = pn + '-native' 104 pn = pn + '-native'
105 105
106 if taskname in ['do_fetch', 'do_unpack', 'do_patch', 'do_populate_lic']:
107 pn.replace("-native", "")
108
106 filedates = {} 109 filedates = {}
107 110
108 # First search in stamps dir 111 # First search in stamps dir