[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4003/8267] wic/isoimage-isohybrid: remove do_stage_partition()



commit 436df4de376c56685b7a982a0deaaeea236be86d
Author: Ioan-Adrian Ratiu <adrian ratiu ni com>
Date:   Fri Jan 6 20:03:05 2017 +0200

    wic/isoimage-isohybrid: remove do_stage_partition()
    
    The purpouse of this function was to check dependencies for building a
    hybrid iso and build them using bitbake if not found. Calling bitbake in
    this context means this wic plugin itself cannot be instrumented inside
    bitbake recipes which is undesirable, the benefits of this are clear:
    there is no need to maintain outside scripts to generate an iso using wic
    and the isohybrid building logic can be further abstracted away into an
    isohybrid.bbclass in the future which can be easily inherited or something
    similar.
    
    So remove the function and add all dependencies to NATIVE_RECIPES so that
    wic can print useful errors when they're not built.
    
    To automate building the isohybrid image dependencies, add the following
    somewhere in your image build inheritence hierarcy (or maybe create a
    bbclass in the future to do these sort of things automatically):
    
    DEPENDS += "syslinux syslinux-native cdrtools-native e2fsprogs-native \
                parted-native dosfstools-native mtools-native grub-efi-native"
    
    (From OE-Core rev: ba4346069ab87f1cf942d1928f911eca6a9d65cd)
    
    Signed-off-by: Ioan-Adrian Ratiu <adrian ratiu ni com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 .../lib/wic/plugins/source/isoimage-isohybrid.py   |   49 --------------------
 scripts/lib/wic/utils/oe/misc.py                   |    4 ++
 2 files changed, 4 insertions(+), 49 deletions(-)
---
diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py 
b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
index 3858fd4..15fd858 100644
--- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
+++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
@@ -194,55 +194,6 @@ class IsoImagePlugin(SourcePlugin):
         return initrd
 
     @classmethod
-    def do_stage_partition(cls, part, source_params, creator, cr_workdir,
-                           oe_builddir, bootimg_dir, kernel_dir,
-                           native_sysroot):
-        """
-        Special content staging called before do_prepare_partition().
-        It cheks if all necessary tools are available, if not
-        tries to instal them.
-        """
-        # Make sure parted is available in native sysroot
-        if not os.path.isfile("%s/usr/sbin/parted" % native_sysroot):
-            msger.info("Building parted-native...\n")
-            exec_cmd("bitbake parted-native")
-
-        # Make sure mkfs.ext2/3/4 is available in native sysroot
-        if not os.path.isfile("%s/sbin/mkfs.ext2" % native_sysroot):
-            msger.info("Building e2fsprogs-native...\n")
-            exec_cmd("bitbake e2fsprogs-native")
-
-        # Make sure syslinux is available in sysroot and in native sysroot
-        syslinux_dir = get_bitbake_var("STAGING_DATADIR")
-        if not syslinux_dir:
-            msger.error("Couldn't find STAGING_DATADIR, exiting.\n")
-        if not os.path.exists("%s/syslinux" % syslinux_dir):
-            msger.info("Building syslinux...\n")
-            exec_cmd("bitbake syslinux")
-        if not os.path.exists("%s/syslinux" % syslinux_dir):
-            msger.error("Please build syslinux first\n")
-
-        # Make sure syslinux is available in native sysroot
-        if not os.path.exists("%s/usr/bin/syslinux" % native_sysroot):
-            msger.info("Building syslinux-native...\n")
-            exec_cmd("bitbake syslinux-native")
-
-        #Make sure mkisofs is available in native sysroot
-        if not os.path.isfile("%s/usr/bin/mkisofs" % native_sysroot):
-            msger.info("Building cdrtools-native...\n")
-            exec_cmd("bitbake cdrtools-native")
-
-        # Make sure mkfs.vfat is available in native sysroot
-        if not os.path.isfile("%s/sbin/mkfs.vfat" % native_sysroot):
-            msger.info("Building dosfstools-native...\n")
-            exec_cmd("bitbake dosfstools-native")
-
-        # Make sure mtools is available in native sysroot
-        if not os.path.isfile("%s/usr/bin/mcopy" % native_sysroot):
-            msger.info("Building mtools-native...\n")
-            exec_cmd("bitbake mtools-native")
-
-    @classmethod
     def do_configure_partition(cls, part, source_params, creator, cr_workdir,
                                oe_builddir, bootimg_dir, kernel_dir,
                                native_sysroot):
diff --git a/scripts/lib/wic/utils/oe/misc.py b/scripts/lib/wic/utils/oe/misc.py
index 2a2fcc9..73d8c22 100644
--- a/scripts/lib/wic/utils/oe/misc.py
+++ b/scripts/lib/wic/utils/oe/misc.py
@@ -36,8 +36,11 @@ from wic.utils import runner
 
 # executable -> recipe pairs for exec_native_cmd
 NATIVE_RECIPES = {"bmaptool": "bmap-tools",
+                  "grub-mkimage": "grub-efi-native",
+                  "isohybrid": "syslinux",
                   "mcopy": "mtools",
                   "mkdosfs": "dosfstools",
+                  "mkisofs": "cdrtools",
                   "mkfs.btrfs": "btrfs-tools",
                   "mkfs.ext2": "e2fsprogs",
                   "mkfs.ext3": "e2fsprogs",
@@ -45,6 +48,7 @@ NATIVE_RECIPES = {"bmaptool": "bmap-tools",
                   "mkfs.vfat": "dosfstools",
                   "mksquashfs": "squashfs-tools",
                   "mkswap": "util-linux",
+                  "mmd": "syslinux",
                   "parted": "parted",
                   "sfdisk": "util-linux",
                   "sgdisk": "gptfdisk",


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]