mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 03:49:32 +02:00
wic: align layer plugin path
wic look for external layer source plugin under scripts/lib/ while other tools look for lib/. allow wic to check for source plugin at both scripts/lib/ and lib/ to align with other tools while avoid breaking any existing source plugin in external layer. [YOCTO #13056] (From OE-Core rev: 986baff26bd96a6265f5fe2d631818fff9f66374) Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
93b4aeecbb
commit
b5a3625e59
@@ -536,7 +536,8 @@ DESCRIPTION
|
|||||||
|
|
||||||
Source plugins can also be implemented and added by external
|
Source plugins can also be implemented and added by external
|
||||||
layers - any plugins found in a scripts/lib/wic/plugins/source/
|
layers - any plugins found in a scripts/lib/wic/plugins/source/
|
||||||
directory in an external layer will also be made available.
|
or lib/wic/plugins/source/ directory in an external layer will
|
||||||
|
also be made available.
|
||||||
|
|
||||||
When the wic implementation needs to invoke a partition-specific
|
When the wic implementation needs to invoke a partition-specific
|
||||||
implementation, it looks for the plugin that has the same name as
|
implementation, it looks for the plugin that has the same name as
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from wic.misc import get_bitbake_var
|
|||||||
|
|
||||||
PLUGIN_TYPES = ["imager", "source"]
|
PLUGIN_TYPES = ["imager", "source"]
|
||||||
|
|
||||||
SCRIPTS_PLUGIN_DIR = "scripts/lib/wic/plugins"
|
SCRIPTS_PLUGIN_DIR = ["scripts/lib/wic/plugins", "lib/wic/plugins"]
|
||||||
|
|
||||||
logger = logging.getLogger('wic')
|
logger = logging.getLogger('wic')
|
||||||
|
|
||||||
@@ -38,10 +38,11 @@ class PluginMgr:
|
|||||||
cls._plugin_dirs = [os.path.join(os.path.dirname(__file__), 'plugins')]
|
cls._plugin_dirs = [os.path.join(os.path.dirname(__file__), 'plugins')]
|
||||||
layers = get_bitbake_var("BBLAYERS") or ''
|
layers = get_bitbake_var("BBLAYERS") or ''
|
||||||
for layer_path in layers.split():
|
for layer_path in layers.split():
|
||||||
path = os.path.join(layer_path, SCRIPTS_PLUGIN_DIR)
|
for script_plugin_dir in SCRIPTS_PLUGIN_DIR:
|
||||||
path = os.path.abspath(os.path.expanduser(path))
|
path = os.path.join(layer_path, script_plugin_dir)
|
||||||
if path not in cls._plugin_dirs and os.path.isdir(path):
|
path = os.path.abspath(os.path.expanduser(path))
|
||||||
cls._plugin_dirs.insert(0, path)
|
if path not in cls._plugin_dirs and os.path.isdir(path):
|
||||||
|
cls._plugin_dirs.insert(0, path)
|
||||||
|
|
||||||
if ptype not in PLUGINS:
|
if ptype not in PLUGINS:
|
||||||
# load all ptype plugins
|
# load all ptype plugins
|
||||||
|
|||||||
Reference in New Issue
Block a user