From c284a6c9ce7d77b44f765bfa11d0376e6b2aff8f Mon Sep 17 00:00:00 2001 From: Anibal Limon Date: Wed, 11 Jun 2025 15:33:18 +0000 Subject: wic: pluginbase ensure layer order when load plugins To support extensions on wic plugins, the load order needs to be grauntee matching BBLAYERS variable. Fix cases when try to import a plugin from another layer, example of the case to fix, ``` Traceback (most recent call last): File "/workspaces/ls/linux/layers/openembedded-core/scripts/wic",line 547, in sys.exit(main(sys.argv[1:])) ^^^^^^^^^^^^^^^^^^ ... File "/workspaces/ls/linux/layers/openembedded-core/scripts/lib/wic/ engine.py", line 137, in list_source_plugins plugins = PluginMgr.get_plugins('source') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspaces/ls/linux/layers/openembedded-core/scripts/lib/wic/ pluginbase.py", line 73, in get_plugins spec.loader.exec_module(module) File "", line 940, in exec_module File "", line 241, in _call_with_frames_removed File "/workspaces/ls/linux/limonsoftware/bsp/scripts/lib/wic/plugins/ source/bootimg_rpi_autoboot_partition.py", line 1, in from wic.plugins.source.bootimg_partition import BootimgPartitionPlugin ModuleNotFoundError: No module named 'wic.plugins.source.bootimg_partition' ``` (From OE-Core rev: 16c8251e5272510ad96613b8c6623550c5a72a34) Signed-off-by: Anibal Limon Signed-off-by: Richard Purdie --- scripts/lib/wic/pluginbase.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/lib/wic/pluginbase.py b/scripts/lib/wic/pluginbase.py index b64568339b..640da292d3 100644 --- a/scripts/lib/wic/pluginbase.py +++ b/scripts/lib/wic/pluginbase.py @@ -44,7 +44,7 @@ class PluginMgr: path = os.path.join(layer_path, script_plugin_dir) path = os.path.abspath(os.path.expanduser(path)) if path not in cls._plugin_dirs and os.path.isdir(path): - cls._plugin_dirs.insert(0, path) + cls._plugin_dirs.append(path) if ptype not in PLUGINS: # load all ptype plugins -- cgit v1.2.3-54-g00ecf