]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
wic: bootimg-efi: Support + symbol in filenames
authorIgor Opaniuk <igor.opaniuk@foundries.io>
Thu, 6 Feb 2025 20:05:18 +0000 (21:05 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 10 Feb 2025 13:02:38 +0000 (13:02 +0000)
Allow the '+' symbol as a valid character in filenames listed in the
IMAGE_EFI_BOOT_FILES variable.

The '+' symbol might be used to support boot counting for boot entries,
as described in the UAPI Boot Loader Specification [1]:

The boot counting data is stored in the name of the boot loader entry.
A boot loader entry file name may contain a plus (+) followed by a
number. This may optionally be followed by a minus (-)
followed by a second number. The dot (.) and file name suffix
(conf or efi) must immediately follow.
Boot counting is enabled for entries which match this pattern.

Example:
IMAGE_EFI_BOOT_FILES:append = " entry.conf;loader/entries/entry+3.conf"

[1] https://uapi-group.org/specifications/specs/boot_loader_specification/#boot-counting
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/wic/plugins/source/bootimg-efi.py

index c05f38f22975f85fb2134e20bb8b7dfcaf481686..96c710bf77add4fed54ee6c0fd6340a46f47b63e 100644 (file)
@@ -252,7 +252,7 @@ class BootimgEFIPlugin(SourcePlugin):
 
             # list of tuples (src_name, dst_name)
             deploy_files = []
-            for src_entry in re.findall(r'[\w;\-\./\*]+', boot_files):
+            for src_entry in re.findall(r'[\w;\-\.\+/\*]+', boot_files):
                 if ';' in src_entry:
                     dst_entry = tuple(src_entry.split(';'))
                     if not dst_entry[0] or not dst_entry[1]: