From 71cf0468787c5f5758d4afad5ab8d41926a952f3 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 28 Jan 2013 16:28:34 +0100 Subject: sstatesig: introduce SignatureGeneratorOEBasicHashLite * 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 Signed-off-by: Richard Purdie --- meta/lib/oe/sstatesig.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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): -- cgit 1.2.3-korg