aboutsummaryrefslogtreecommitdiffstats
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:25:25 +0000
commit3d59d0bed756f64d0092caa3892239c779c4a341 (patch)
tree4b925e860af0e0543bb4f9ec60965233d9e99867
parent453353e05d027c6a505d1e13a7982718a13bca8b (diff)
downloadopenembedded-core-contrib-3d59d0bed756f64d0092caa3892239c779c4a341.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. 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):
if not name or len(inputs) != len(outputs):
bb.fatal("sstate variables not setup correctly?!")
+ if name == "populate_lic":
+ d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}")
+ d.setVar("SSTATE_EXTRAPATH", "")
+
ss = sstate_init(name, task, d)
for i in range(len(inputs)):
sstate_add(ss, inputs[i], outputs[i], d)
@@ -603,7 +607,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
tname = sq_task[task][3:]
- if tname in ["fetch", "unpack", "patch"] and splithashfn[2]:
+ if tname in ["fetch", "unpack", "patch", "populate_lic"] and splithashfn[2]:
spec = splithashfn[2]
extrapath = ""
@@ -749,7 +753,7 @@ python sstate_eventhandler() {
taskname = d.getVar("BB_RUNTASK", True)[3:]
spec = d.getVar('SSTATE_PKGSPEC', True)
swspec = d.getVar('SSTATE_SWSPEC', True)
- if taskname in ["fetch", "unpack", "patch"] and swspec:
+ if taskname in ["fetch", "unpack", "patch", "populate_lic"] and swspec:
d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}")
d.setVar("SSTATE_EXTRAPATH", "")
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):
if key.startswith('virtual:native:'):
pn = pn + '-native'
+ if taskname in ['do_fetch', 'do_unpack', 'do_patch', 'do_populate_lic']:
+ pn.replace("-native", "")
+
filedates = {}
# First search in stamps dir