From dc579ce4dcf9a3743ced9eae4fe510a079961faf Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Mon, 7 Mar 2011 09:51:39 -0700 Subject: Shift oe import logic out of the event handler This can be useful if we need the imports from another config parsed event handler, and can't rely upon the base one running before that one. Signed-off-by: Chris Larson --- meta/classes/base.bbclass | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'meta/classes/base.bbclass') diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 51f5a14a4..391545c65 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -12,26 +12,29 @@ inherit logging OE_IMPORTS += "os sys time oe.path oe.utils oe.data" -python oe_import () { - if isinstance(e, bb.event.ConfigParsed): - import os, sys +def oe_import(d): + import os, sys + + bbpath = d.getVar("BBPATH", True).split(":") + sys.path[0:0] = [os.path.join(dir, "lib") for dir in bbpath] - bbpath = e.data.getVar("BBPATH", True).split(":") - sys.path[0:0] = [os.path.join(dir, "lib") for dir in bbpath] + def inject(name, value): + """Make a python object accessible from the metadata""" + if hasattr(bb.utils, "_context"): + bb.utils._context[name] = value + else: + __builtins__[name] = value - def inject(name, value): - """Make a python object accessible from the metadata""" - if hasattr(bb.utils, "_context"): - bb.utils._context[name] = value - else: - __builtins__[name] = value + for toimport in d.getVar("OE_IMPORTS", True).split(): + imported = __import__(toimport) + inject(toimport.split(".", 1)[0], imported) - for toimport in e.data.getVar("OE_IMPORTS", True).split(): - imported = __import__(toimport) - inject(toimport.split(".", 1)[0], imported) +python oe_import_eh () { + if isinstance(e, bb.event.ConfigParsed): + oe_import(e.data) } -addhandler oe_import +addhandler oe_import_eh die() { bbfatal "$*" -- cgit v1.2.3