@@ -37,20 +37,11 @@ class ExtraPartitionPlugin(SourcePlugin):
image_extra_partition_files_var_name = 'IMAGE_EXTRA_PARTITION_FILES'
@classmethod
- def do_configure_partition(cls, part, source_params, cr, cr_workdir,
- oe_builddir, bootimg_dir, kernel_dir,
- native_sysroot):
+ def _parse_extra_files(cls, part, kernel_dir):
"""
- Called before do_prepare_partition(), list the files to copy
+ Parse the files of which to copy.
"""
- extradir = "%s/extra.%d" % (cr_workdir, part.lineno)
- install_cmd = "install -d %s" % extradir
- exec_cmd(install_cmd)
-
- if not kernel_dir:
- kernel_dir = get_bitbake_var("DEPLOY_DIR_IMAGE")
- if not kernel_dir:
- raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting")
+ deploy_files = []
extra_files = None
for (fmt, id) in (("_uuid-%s", part.uuid), ("_label-%s", part.label), ("_part-name-%s", part.part_name), (None, None)):
@@ -65,10 +56,8 @@ class ExtraPartitionPlugin(SourcePlugin):
if extra_files is None:
raise WicError('No extra files defined, %s unset for entry #%d' % (cls.image_extra_partition_files_var_name, part.lineno))
- logger.info('Extra files: %s', extra_files)
- # list of tuples (src_name, dst_name)
- deploy_files = []
+ logger.info('Extra files: %s', extra_files)
for src_entry in re.findall(r'[\w;\-./*]+', extra_files):
if ';' in src_entry:
dst_entry = tuple(src_entry.split(';'))
@@ -103,6 +92,23 @@ class ExtraPartitionPlugin(SourcePlugin):
else:
cls.install_task.append((src, dst))
+ @classmethod
+ def do_configure_partition(cls, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ native_sysroot):
+ """
+ Called before do_prepare_partition(), list the files to copy
+ """
+ extradir = "%s/extra.%d" % (cr_workdir, part.lineno)
+ install_cmd = "install -d %s" % extradir
+ exec_cmd(install_cmd)
+
+ if not kernel_dir:
+ kernel_dir = get_bitbake_var("DEPLOY_DIR_IMAGE")
+ if not kernel_dir:
+ raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting")
+
+ cls._parse_extra_files(part, kernel_dir)
@classmethod
def do_prepare_partition(cls, part, source_params, cr, cr_workdir,
For organizational purposes, and to make the following patches easier to follow, move the extra file parsing to a dedicated method. Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- .../lib/wic/plugins/source/extra_partition.py | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-)