From: Richard Purdie Date: Mon, 28 Jan 2013 15:28:34 +0000 (+0100) Subject: sstatesig: introduce SignatureGeneratorOEBasicHashLite X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71cf0468787c5f5758d4afad5ab8d41926a952f3;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 852fb7e64ac..b383c379131 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):