sstate.bbclass: Remove hardcoded task mappings
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 31 Aug 2012 00:10:03 +0000 (17:10 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 2 Sep 2012 12:52:06 +0000 (05:52 -0700)
I've not idea why this got left in but as per the comment, it needs fixing
and we shouldn't have hardcoded mappings like this. Lets remove it
and dynamically generate the data instead.

[YOCTO #3039]

(From OE-Core rev: 2df064ad46c1510fa8a401c22db4ab3278c3c807)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/sstate.bbclass

index 003763b..9a168d4 100644 (file)
@@ -561,21 +561,19 @@ sstate_unpack_package () {
        tar -xvzf ${SSTATE_PKG}
 }
 
+EXTRASSTATEMAPS = "do_deploy:deploy"
+
 BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
 
 def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
 
     ret = []
-    # This needs to go away, FIXME
-    mapping = {
-        "do_populate_sysroot" : "populate-sysroot",
-        "do_populate_lic" : "populate-lic",
-        "do_package_write_ipk" : "deploy-ipk",
-        "do_package_write_deb" : "deploy-deb",
-        "do_package_write_rpm" : "deploy-rpm",
-        "do_package" : "package",
-        "do_deploy" : "deploy",
-    }
+    mapping = {}
+    for t in d.getVar("SSTATETASKS", True).split():
+        mapping[t] = d.getVarFlag(t, "sstate-name", True)
+    for extra in d.getVar("EXTRASSTATEMAPS", True).split():
+        e = extra.split(":")
+        mapping[e[0]] = e[1]
 
     for task in range(len(sq_fn)):
         spec = sq_hashfn[task].split(" ")[1]