base.bbclass: switch to current OE's imports handling

The current mechanism makes it easier for classes to add new oe modules to be
automatically imported, and thereby made available to python snippets (${@}).

(From OE-Core rev: 0c560a2a7954412f714db86b1aaadb7acbe72d1b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chris Larson
2011-02-09 07:09:43 -07:00
committed by Richard Purdie
parent 4da8c86ca2
commit 6bdfae902e

View File

@@ -10,32 +10,28 @@ inherit metadata_scm
inherit buildstats
inherit logging
python sys_path_eh () {
OE_IMPORTS += "os sys time oe.path oe.utils oe.data"
python oe_import () {
if isinstance(e, bb.event.ConfigParsed):
import sys
import os
import time
import os, sys
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"""
"""Make a python object accessible from the metadata"""
if hasattr(bb.utils, "_context"):
bb.utils._context[name] = value
else:
__builtins__[name] = value
import oe.path
import oe.utils
import oe.data
inject("bb", bb)
inject("sys", sys)
inject("time", time)
inject("oe", oe)
for toimport in e.data.getVar("OE_IMPORTS", True).split():
imported = __import__(toimport)
inject(toimport.split(".", 1)[0], imported)
}
addhandler sys_path_eh
addhandler oe_import
die() {
bbfatal "$*"