diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py index 64b1d52882..b9e60cbe4e 100644 --- a/scripts/lib/wic/engine.py +++ b/scripts/lib/wic/engine.py @@ -180,6 +180,8 @@ def wic_create(wks_file, rootfs_dir, bootimg_dir, kernel_dir, os.makedirs(options.outdir) pname = options.imager + # Don't support '-' in plugin names + pname = pname.replace("-", "_") plugin_class = PluginMgr.get_plugins('imager').get(pname) if not plugin_class: raise WicError('Unknown plugin: %s' % pname) diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index 5b51ab214f..b34691d313 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py @@ -164,6 +164,9 @@ class Partition(): plugins = PluginMgr.get_plugins('source') + # Don't support '-' in plugin names + self.source = self.source.replace("-", "_") + if self.source not in plugins: raise WicError("The '%s' --source specified for %s doesn't exist.\n\t" "See 'wic list source-plugins' for a list of available" @@ -178,7 +181,7 @@ class Partition(): splitted = self.sourceparams.split(',') srcparams_dict = dict((par.split('=', 1) + [None])[:2] for par in splitted if par) - plugin = PluginMgr.get_plugins('source')[self.source] + plugin = plugins[self.source] plugin.do_configure_partition(self, srcparams_dict, creator, cr_workdir, oe_builddir, bootimg_dir, kernel_dir, native_sysroot) diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index 2124ceac7f..6e1f1c8cba 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -203,6 +203,8 @@ class DirectPlugin(ImagerPlugin): source_plugin = self.ks.bootloader.source disk_name = self.parts[0].disk if source_plugin: + # Don't support '-' in plugin names + source_plugin = source_plugin.replace("-", "_") plugin = PluginMgr.get_plugins('source')[source_plugin] plugin.do_install_disk(self._image, disk_name, self, self.workdir, self.oe_builddir, self.bootimg_dir,