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>
This commit is contained in:
Richard Purdie 2013-12-20 12:08:56 +00:00
parent 9a1705e9a5
commit 3ada51f7aa
2 changed files with 9 additions and 2 deletions

View File

@ -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)

View File

@ -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