]> code.ossystems Code Review - openembedded-core.git/commitdiff
isoimage-isohybrid.py: Support adding files/dirs
authorChaitanya Vadrevu <chaitanya.vadrevu@ni.com>
Tue, 3 Nov 2020 22:10:32 +0000 (16:10 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 8 Nov 2020 14:03:16 +0000 (14:03 +0000)
Add "payload_dir" parameter so user can add other files/dirs
to the ISO.

Signed-off-by: Chaitanya Vadrevu <chaitanya.vadrevu@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/wic/plugins/source/isoimage-isohybrid.py

index 11326a274b69767919a50826739d1bb9ac323f4e..afc9ea0f8fefff8b6beadc205ffec986aa46b157 100644 (file)
@@ -216,6 +216,18 @@ class IsoImagePlugin(SourcePlugin):
             creator.name = source_params['image_name'].strip()
             logger.debug("The name of the image is: %s", creator.name)
 
+    @staticmethod
+    def _install_payload(source_params, iso_dir):
+        """
+        Copies contents of payload directory (as specified in 'payload_dir' param) into iso_dir
+        """
+
+        if source_params.get('payload_dir'):
+            payload_dir = source_params['payload_dir']
+
+            logger.debug("Payload directory: %s", payload_dir)
+            shutil.copytree(payload_dir, iso_dir, symlinks=True, dirs_exist_ok=True)
+
     @classmethod
     def do_prepare_partition(cls, part, source_params, creator, cr_workdir,
                              oe_builddir, bootimg_dir, kernel_dir,
@@ -228,6 +240,8 @@ class IsoImagePlugin(SourcePlugin):
 
         isodir = "%s/ISO" % cr_workdir
 
+        cls._install_payload(source_params, isodir)
+
         if part.rootfs_dir is None:
             if not 'ROOTFS_DIR' in rootfs_dir:
                 raise WicError("Couldn't find --rootfs-dir, exiting.")