From 534f31903b98de9298c69f4de4d6cd1c51d394d6 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Wed, 30 May 2012 17:17:18 +0100 Subject: bitbake: include varflags in checksums Add a dependency to each variable on a filtered list of its varflags. This is intended to catch things such as SRC_URI checksums, varflags controlling extra functionality from classes (e.g. the recently updated update-alternatives class in OE-Core), etc. and ensure their values influence the sstate checksums. There is an exclusion list which needs to be set via bitbake.conf (BB_SIGNATURE_EXCLUDE_FLAGS), if this is not set then the functionality is disabled. The existing vardepsexclude mechanism can also be used to exclude undesired varflags, but they must be fully specified, e.g.: do_patch[vardepsexclude] += "do_patch[someflag]" Implements [YOCTO #2517]. (Bitbake rev: 56c1ab18fcaf4ac245dcb412ed55e8e0af07883b) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bitbake/lib/bb/siggen.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bitbake/lib/bb/siggen.py') diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index daf56770f9..c4b7c3992e 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -108,6 +108,10 @@ class SignatureGeneratorBasic(SignatureGenerator): data = data + dep if dep in lookupcache: var = lookupcache[dep] + elif dep[-1] == ']': + vf = dep[:-1].split('[') + var = d.getVarFlag(vf[0], vf[1], False) + lookupcache[dep] = var else: var = d.getVar(dep, False) lookupcache[dep] = var -- cgit v1.2.3-54-g00ecf