]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
wic: pluginbase ensure layer order when load plugins
authorAnibal Limon <anibal@limonsoftware.com>
Wed, 11 Jun 2025 15:33:18 +0000 (15:33 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 16 Jun 2025 16:56:27 +0000 (17:56 +0100)
commit16c8251e5272510ad96613b8c6623550c5a72a34
tree57aad852e20b76c97300af486ea58104a660f5f9
parent6d158db297a1b790fdf7f201eb3a1e47bb9bc272
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 <module>
    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 "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", 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 <module>
    from wic.plugins.source.bootimg_partition import BootimgPartitionPlugin
ModuleNotFoundError: No module named 'wic.plugins.source.bootimg_partition'
```

Signed-off-by: Anibal Limon <anibal@limonsoftware.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/wic/pluginbase.py