From patchwork Thu Mar 17 16:19:03 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [05/12] base.bbclass: switch to current OE's imports handling Date: Thu, 17 Mar 2011 16:19:03 -0000 From: Christopher Larson X-Patchwork-Id: 1537 Message-Id: To: openembedded-core@lists.openembedded.org Cc: Chris Larson From: Chris Larson The current mechanism makes it easier for classes to add new oe modules to be automatically imported, and thereby made available to python snippets (${@}). Signed-off-by: Chris Larson --- meta/classes/base.bbclass | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index e53ebe4..7a87f57 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -9,31 +9,28 @@ inherit utility-tasks inherit metadata_scm inherit buildstats -python sys_path_eh () { +OE_IMPORTS += "oe.path oe.utils sys os time" + +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 - 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() { oefatal "$*"