]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
sstatesig: introduce SignatureGeneratorOEBasicHashLite jansa/OEBasickHashLite
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 28 Jan 2013 15:28:34 +0000 (16:28 +0100)
committerMartin Jansa <Martin.Jansa@gmail.com>
Mon, 22 Jul 2013 14:08:55 +0000 (16:08 +0200)
* Rebuilds packages when:
  a) If you edit patches of a given recipe it will rebuild.
  b) If you change a task like do_configure, things after it will rerun in
     a given recipe.
  c) If a dependent task in another recipe changes, it won't rerun.
  d) If you change some global configuration variable or shared .bbclass
     it will rebuild.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/sstatesig.py

index 852fb7e64ac7e0490bbead0b1dfe151964900d03..b383c379131244ead632143dd918a679a4fb1ad2 100644 (file)
@@ -1,5 +1,11 @@
 import bb.siggen
 
+def sstate_rundepfilter_lite(siggen, fn, recipename, task, dep, depname, dataCache):
+    # Always include our own inter-task dependencies
+    if recipename == depname:
+        return True
+    return False
+
 def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
     # Return True if we should keep the dependency, False to drop it
     def isNative(x):
@@ -62,6 +68,15 @@ class SignatureGeneratorOEBasic(bb.siggen.SignatureGeneratorBasic):
     def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None):
         return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache)
 
+class SignatureGeneratorOEBasicHashLite(bb.siggen.SignatureGeneratorBasicHash):
+    name = "OEBasicHashLite"
+    def init_rundepcheck(self, data):
+        self.abisaferecipes = (data.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE", True) or "").split()
+        self.saferecipedeps = (data.getVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS", True) or "").split()
+        pass
+    def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None):
+        return sstate_rundepfilter_lite(self, fn, recipename, task, dep, depname, dataCache)
+
 class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
     name = "OEBasicHash"
     def init_rundepcheck(self, data):
@@ -74,6 +89,7 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
 # Insert these classes into siggen's namespace so it can see and select them
 bb.siggen.SignatureGeneratorOEBasic = SignatureGeneratorOEBasic
 bb.siggen.SignatureGeneratorOEBasicHash = SignatureGeneratorOEBasicHash
+bb.siggen.SignatureGeneratorOEBasicHashLite = SignatureGeneratorOEBasicHashLite
 
 
 def find_siginfo(pn, taskname, taskhashlist, d):