aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/base.bbclass
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2010-05-05 16:17:07 +0100
committerJoshua Lock <josh@linux.intel.com>2010-05-06 12:53:16 +0100
commite7fa3529f32f4037fe122699e0d7f3789a871834 (patch)
treed5a8d407a5b0ac84a6a69f5aaff76e114d563da6 /meta/classes/base.bbclass
parentac023d775b651c9b1e28a7a725e72949fe54ad47 (diff)
downloadopenembedded-core-contrib-e7fa3529f32f4037fe122699e0d7f3789a871834.tar.gz
Update classes to use lib/oe
Adapt modifications from upstream to make Poky classes use lib/oe for the common Python functionality. Signed-off-by: Joshua Lock <josh@linux.intel.com>
Diffstat (limited to 'meta/classes/base.bbclass')
-rw-r--r--meta/classes/base.bbclass26
1 files changed, 26 insertions, 0 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index d17f485c02..5594bb72d3 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -8,6 +8,32 @@ inherit utils
inherit utility-tasks
inherit metadata_scm
+python sys_path_eh () {
+ if isinstance(e, bb.event.ConfigParsed):
+ import sys
+ import os
+ import time
+
+ 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 everywhere for the metadata"""
+ if hasattr(bb.utils, "_context"):
+ bb.utils._context[name] = value
+ else:
+ __builtins__[name] = value
+
+ import oe.path
+ import oe.utils
+ inject("bb", bb)
+ inject("sys", sys)
+ inject("time", time)
+ inject("oe", oe)
+}
+
+addhandler sys_path_eh
+
die() {
oefatal "$*"
}