[PATCH v5 2/6] wic: extra-partition: Move extra file parsing to a dedicated method

Adam Duskett
2026-01-16T09:32:25Z

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 | 35 +++++++++++--------
1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/scripts/lib/wic/plugins/source/extra_partition.py b/scripts/lib/wic/plugins/source/extra_partition.py
index a1d9aa9a7b..aa4fb931c2 100644
--- a/scripts/lib/wic/plugins/source/extra_partition.py
+++ b/scripts/lib/wic/plugins/source/extra_partition.py
@@ -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)):
@@ -66,9 +57,6 @@ class ExtraPartitionPlugin(SourcePlugin):
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 = []
for src_entry in re.findall(r'[\w;\-./*]+', extra_files):
if ';' in src_entry:
dst_entry = tuple(src_entry.split(';'))
@@ -103,6 +91,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,
--
2.52.0