1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 13:29:49 +00:00

scripts: Update to use exec_module() instead of load_module()

This is deprecated in python 3.12 and Fedora 35 is throwing warnings so
move to the new functions.

(From OE-Core rev: c0710d4ffb6c11083daf77fe24129d879f270591)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 655cd3f614d736416eab0d708b7c49674bf5c977)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2022-01-04 23:06:50 +00:00
parent c1599e44e1
commit 6a3354025c
2 changed files with 11 additions and 4 deletions
+5 -2
View File
@@ -18,7 +18,8 @@ import sys
import tempfile import tempfile
import threading import threading
import importlib import importlib
from importlib import machinery import importlib.machinery
import importlib.util
class KeepAliveStreamHandler(logging.StreamHandler): class KeepAliveStreamHandler(logging.StreamHandler):
def __init__(self, keepalive=True, **kwargs): def __init__(self, keepalive=True, **kwargs):
@@ -82,7 +83,9 @@ def load_plugins(logger, plugins, pluginpath):
logger.debug('Loading plugin %s' % name) logger.debug('Loading plugin %s' % name)
spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] ) spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] )
if spec: if spec:
return spec.loader.load_module() mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
return mod
def plugin_name(filename): def plugin_name(filename):
return os.path.splitext(os.path.basename(filename))[0] return os.path.splitext(os.path.basename(filename))[0]
+6 -2
View File
@@ -9,9 +9,11 @@ __all__ = ['ImagerPlugin', 'SourcePlugin']
import os import os
import logging import logging
import types
from collections import defaultdict from collections import defaultdict
from importlib.machinery import SourceFileLoader import importlib
import importlib.util
from wic import WicError from wic import WicError
from wic.misc import get_bitbake_var from wic.misc import get_bitbake_var
@@ -54,7 +56,9 @@ class PluginMgr:
mname = fname[:-3] mname = fname[:-3]
mpath = os.path.join(ppath, fname) mpath = os.path.join(ppath, fname)
logger.debug("loading plugin module %s", mpath) logger.debug("loading plugin module %s", mpath)
SourceFileLoader(mname, mpath).load_module() spec = importlib.util.spec_from_file_location(mname, mpath)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return PLUGINS.get(ptype) return PLUGINS.get(ptype)