diff options
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-01-28 16:28:34 +0100
committerMartin Jansa <Martin.Jansa@gmail.com>2013-07-22 16:08:55 +0200
commit71cf0468787c5f5758d4afad5ab8d41926a952f3 (patch)
parent8fc6904fe97438478119db6cd23b7b4eb33b50aa (diff)
sstatesig: introduce SignatureGeneratorOEBasicHashLitejansa/OEBasickHashLite
* 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>
1 files changed, 16 insertions, 0 deletions
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 852fb7e64a..b383c37913 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -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):