[oe-commits] Richard Purdie : sstate/sstatesig: Add populate_lic to list of arch invariant sstate tasks

git at git.openembedded.org git at git.openembedded.org
Fri Dec 20 12:24:17 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: 3d59d0bed756f64d0092caa3892239c779c4a341
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=3d59d0bed756f64d0092caa3892239c779c4a341

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Fri Dec 20 12:08:56 2013 +0000

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 at linuxfoundation.org>

---

 meta/classes/sstate.bbclass | 8 ++++++--
 meta/lib/oe/sstatesig.py    | 3 +++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 324d1c1..377af20 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 68e53f6..3011f16 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



More information about the Openembedded-commits mailing list