[1.50,1/1] utils: Update to use exec_module() instead of load_module()

Message ID 529ac608891456fc29ab68742a3bca5695e4a6fc.1643081933.git.anuj.mittal@intel.com
State Accepted, archived
Commit aaa7f7af23d5f89fe4a5ed48c57ea3dfca07c79d
Headers show
Series [1.50,1/1] utils: Update to use exec_module() instead of load_module() | expand

Commit Message

Mittal, Anuj Jan. 25, 2022, 3:41 a.m. UTC
From: Richard Purdie <richard.purdie@linuxfoundation.org>

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

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 68a18fbcb5959e334cf307d7fa8dc63832edb942)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
 lib/bb/utils.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Patch

diff --git a/lib/bb/utils.py b/lib/bb/utils.py
index 40b5006f..2a150fe9 100644
--- a/lib/bb/utils.py
+++ b/lib/bb/utils.py
@@ -16,7 +16,8 @@  import bb.msg
 import multiprocessing
 import fcntl
 import importlib
-from importlib import machinery
+import importlib.machinery
+import importlib.util
 import itertools
 import subprocess
 import glob
@@ -1620,7 +1621,9 @@  def load_plugins(logger, plugins, pluginpath):
         logger.debug('Loading plugin %s' % name)
         spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] )
         if spec:
-            return spec.loader.load_module()
+            mod = importlib.util.module_from_spec(spec)
+            spec.loader.exec_module(mod)
+            return mod
 
     logger.debug('Loading plugins from %s...' % pluginpath)