@@ -15,31 +15,8 @@ inherit utils
inherit utility-tasks
inherit logging
-OE_EXTRA_IMPORTS ?= ""
-
-OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license oe.qa oe.reproducible oe.rust oe.buildcfg ${OE_EXTRA_IMPORTS}"
-OE_IMPORTS[type] = "list"
-
PACKAGECONFIG_CONFARGS ??= ""
-def oe_import(d):
- import sys
-
- bbpath = [os.path.join(dir, "lib") for dir in d.getVar("BBPATH").split(":")]
- sys.path[0:0] = [dir for dir in bbpath if dir not in sys.path]
-
- import oe.data
- for toimport in oe.data.typed_value("OE_IMPORTS", d):
- try:
- # Make a python object accessible from the metadata
- bb.utils._context[toimport.split(".", 1)[0]] = __import__(toimport)
- except AttributeError as e:
- bb.error("Error importing OE modules: %s" % str(e))
- return ""
-
-# We need the oe module name space early (before INHERITs get added)
-OE_IMPORTED := "${@oe_import(d)}"
-
inherit metadata_scm
def lsb_distro_identifier(d):
@@ -125,3 +125,8 @@ SSTATE_EXCLUDEDEPS_SYSROOT += ".*->autoconf-archive-native"
# Avoid empty path entries
BITBAKEPATH := "${@os.path.dirname(bb.utils.which(d.getVar('PATH'),'bitbake'))}"
PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' != '' else ''}${HOSTTOOLS_DIR}"
+
+# Only OE-Core should set/change this
+BB_GLOBAL_PYMODULES = "os sys time"
+
+addpylib ${LAYERDIR}/lib oe
@@ -6,3 +6,7 @@
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
+
+BBIMPORTS = ["oe.data", "oe.path", "oe.utils", "oe.types", "oe.package", \
+ "oe.packagegroup", "oe.sstatesig", "oe.lsb", "oe.cachedpath", "oe.license", \
+ "oe.qa", "oe.reproducible", "oe.rust", "oe.buildcfg"]
Since bitbake now supports an official method to inject python modules, switch to it. Anyone using OE_EXTRA_IMPORTS will need to adjust their code accordingly, probably switching to their own module namespace. Also switch to using BB_GLOBAL_PYMODULES to list the global modules to import. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/classes-global/base.bbclass | 23 ----------------------- meta/conf/layer.conf | 5 +++++ meta/lib/oe/__init__.py | 4 ++++ 3 files changed, 9 insertions(+), 23 deletions(-)