summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorChris Larson <chris_larson@mentor.com>2011-03-07 09:51:39 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-20 17:34:22 +0100
commitadceb2e27275c9349acb51ebfee40383b2a5e365 (patch)
treeb15c91b337ff36818eeb79413628a648f7046950 /meta/classes
parent6bdfae902ea61d5794dc65c3b0db744f5b2661b4 (diff)
downloadast2050-yocto-poky-adceb2e27275c9349acb51ebfee40383b2a5e365.zip
ast2050-yocto-poky-adceb2e27275c9349acb51ebfee40383b2a5e365.tar.gz
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. (From OE-Core rev: dc579ce4dcf9a3743ced9eae4fe510a079961faf) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/base.bbclass33
1 files changed, 18 insertions, 15 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index d40d586..5363a1b 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 "$*"
OpenPOWER on IntegriCloud