From 43595fabbe0c9084a3878645aef8e3e1c2f79452 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 31 Aug 2010 14:49:43 +0100 Subject: bitbake: Implement signatures Includes functionality to find out what changes between two different singature data dumps. Signed-off-by: Richard Purdie --- bitbake/lib/bb/parse/__init__.py | 4 ++++ bitbake/lib/bb/parse/ast.py | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'bitbake/lib/bb/parse') diff --git a/bitbake/lib/bb/parse/__init__.py b/bitbake/lib/bb/parse/__init__.py index 95f372b00b..c7249ef050 100644 --- a/bitbake/lib/bb/parse/__init__.py +++ b/bitbake/lib/bb/parse/__init__.py @@ -28,6 +28,7 @@ handlers = [] import bb, os import bb.utils +import bb.siggen class ParseError(Exception): """Exception raised when parsing fails""" @@ -79,6 +80,9 @@ def init(fn, data): if h['supports'](fn): return h['init'](data) +def init_parser(d): + bb.parse.siggen = bb.siggen.init(d) + def resolve_file(fn, d): if not os.path.isabs(fn): bbpath = bb.data.getVar("BBPATH", d, True) diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py index b800569434..870ae65b0e 100644 --- a/bitbake/lib/bb/parse/ast.py +++ b/bitbake/lib/bb/parse/ast.py @@ -300,7 +300,7 @@ def handleInherit(statements, m): n = __word__.findall(files) statements.append(InheritNode(m.group(1))) -def finalize(fn, d): +def finalize(fn, d, variant = None): for lazykey in bb.data.getVar("__lazy_assigned", d) or (): if bb.data.getVar(lazykey, d) is None: val = bb.data.getVarFlag(lazykey, "defaultval", d) @@ -323,7 +323,7 @@ def finalize(fn, d): tasklist = bb.data.getVar('__BBTASKS', d) or [] bb.build.add_tasks(tasklist, d) - #bb.data.generate_dependencies(d) + bb.parse.siggen.finalise(fn, d, variant) bb.event.fire(bb.event.RecipeParsed(fn), d) @@ -433,7 +433,7 @@ def multi_finalize(fn, d): for variant, variant_d in datastores.iteritems(): if variant: try: - finalize(fn, variant_d) + finalize(fn, variant_d, variant) except bb.parse.SkipPackage: bb.data.setVar("__SKIPPED", True, variant_d) -- cgit v1.2.3-54-g00ecf