[bitbake-devel] [PATCH 05/32] Hob: include hddimg and iso into image types.

Joshua Lock josh at linux.intel.com
Wed Feb 29 21:27:30 UTC 2012



On 29/02/12 06:15, Shane Wang wrote:
> For image types, so far we don't include hddimg and iso. Then those files can not be deployed because they are filtered out in the image selection dialog.
> This patch is to include hddimg and iso (which are "live" in image types).
>
> Again, we have a TODO in the code for the future, that is to retrieve image types from the bitbake server instead of to use the walkaround.
>
> Signed-off-by: Shane Wang<shane.wang at intel.com>

Could use a more useful comment in the code, see below, but other than that:

Signed-off-by: Joshua Lock <josh at linux.intel.com>

> ---
>   bitbake/lib/bb/ui/crumbs/builder.py         |    4 ++--
>   bitbake/lib/bb/ui/crumbs/hig.py             |    9 +++++----
>   bitbake/lib/bb/ui/crumbs/hobeventhandler.py |    9 ++++-----
>   bitbake/lib/bb/ui/crumbs/hobwidget.py       |   27 +++++++++++++++++++++++++++
>   4 files changed, 38 insertions(+), 11 deletions(-)
>
> diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
> index 0071673..eb38819 100755
> --- a/bitbake/lib/bb/ui/crumbs/builder.py
> +++ b/bitbake/lib/bb/ui/crumbs/builder.py
> @@ -758,8 +758,8 @@ class Builder(gtk.Window):
>               flags = gtk.DIALOG_MODAL
>                       | gtk.DIALOG_DESTROY_WITH_PARENT
>                       | gtk.DIALOG_NO_SEPARATOR,
> -            buttons = ("Close", gtk.RESPONSE_NO,
> -                       "Make usb image", gtk.RESPONSE_YES))
> +            buttons = ("Make usb image", gtk.RESPONSE_YES,
> +                       "Close", gtk.RESPONSE_NO))
>           response = dialog.run()
>           dialog.destroy()
>
> diff --git a/bitbake/lib/bb/ui/crumbs/hig.py b/bitbake/lib/bb/ui/crumbs/hig.py
> index 74f4f7b..cbad899 100644
> --- a/bitbake/lib/bb/ui/crumbs/hig.py
> +++ b/bitbake/lib/bb/ui/crumbs/hig.py
> @@ -28,7 +28,7 @@ import re
>   import subprocess
>   import shlex
>   from bb.ui.crumbs.hobcolor import HobColors
> -from bb.ui.crumbs.hobwidget import HobViewTable
> +from bb.ui.crumbs.hobwidget import hcc, HobViewTable
>   from bb.ui.crumbs.progressbar import HobProgressBar
>
>   """
> @@ -1083,9 +1083,10 @@ class ImageSelectionDialog (gtk.Dialog):
>               dirs[:] = []
>               for f in files:
>                   for image_type in self.image_types:
> -                    if f.endswith('.' + image_type):
> -                        imageset.add(f.rsplit('.' + image_type)[0])
> -                        self.image_list.append(f)
> +                    for real_image_type in hcc.SUPPORTED_IMAGE_TYPES[image_type]:
> +                        if f.endswith('.' + real_image_type):
> +                            imageset.add(f.rsplit('.' + real_image_type)[0])
> +                            self.image_list.append(f)
>
>           for image in imageset:
>               self.image_store.set(self.image_store.append(), 0, image, 1, False)
> diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
> index b071ad4..2bf4ed8 100644
> --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
> +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
> @@ -22,6 +22,7 @@
>   import gobject
>   import logging
>   from bb.ui.crumbs.runningbuild import RunningBuild
> +from bb.ui.crumbs.hobwidget import hcc
>
>   class HobHandler(gobject.GObject):
>
> @@ -450,10 +451,8 @@ class HobHandler(gobject.GObject):
>           params["incompat_license"] = self.server.runCommand(["getVariable", "INCOMPATIBLE_LICENSE"]) or ""
>           params["sdk_machine"] = self.server.runCommand(["getVariable", "SDKMACHINE"]) or self.server.runCommand(["getVariable", "SDK_ARCH"]) or ""
>
> -        #params["image_types"] = self.server.runCommand(["getVariable", "IMAGE_TYPES"]) or ""
>           params["image_fstypes"] = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]) or ""
> -        """
> -        A workaround
> -        """
> -        params["image_types"] = "jffs2 sum.jffs2 cramfs ext2 ext2.gz ext2.bz2 ext3 ext3.gz ext2.lzma btrfs live squashfs squashfs-lzma ubi tar tar.gz tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma"
> +
> +        # walkaround

It's nice that you point this out but you don't really tell us what 
you're working around.

> +        params["image_types"] = " ".join(hcc.SUPPORTED_IMAGE_TYPES.keys()).lstrip(" ")
>           return params
> diff --git a/bitbake/lib/bb/ui/crumbs/hobwidget.py b/bitbake/lib/bb/ui/crumbs/hobwidget.py
> index 664bf25..9afbfdb 100644
> --- a/bitbake/lib/bb/ui/crumbs/hobwidget.py
> +++ b/bitbake/lib/bb/ui/crumbs/hobwidget.py
> @@ -50,6 +50,33 @@ class hic:
>       ICON_INDI_CONFIRM_FILE        = os.path.join(HOB_ICON_BASE_DIR, ('indicators/confirmation.png'))
>       ICON_INDI_ERROR_FILE          = os.path.join(HOB_ICON_BASE_DIR, ('indicators/error.png'))
>
> +class hcc:
> +
> +    SUPPORTED_IMAGE_TYPES = {
> +        "jffs2"         : ["jffs2"],
> +        "sum.jffs2"     : ["sum.jffs2"],
> +        "cramfs"        : ["cramfs"],
> +        "ext2"          : ["ext2"],
> +        "ext2.gz"       : ["ext2.gz"],
> +        "ext2.bz2"      : ["ext2.bz2"],
> +        "ext3"          : ["ext3"],
> +        "ext3.gz"       : ["ext3.gz"],
> +        "ext2.lzma"     : ["ext2.lzma"],
> +        "btrfs"         : ["btrfs"],
> +        "live"          : ["hddimg", "iso"],
> +        "squashfs"      : ["squashfs"],
> +        "squashfs-lzma" : ["squashfs-lzma"],
> +        "ubi"           : ["ubi"],
> +        "tar"           : ["tar"],
> +        "tar.gz"        : ["tar.gz"],
> +        "tar.bz2"       : ["tar.bz2"],
> +        "tar.xz"        : ["tar.xz"],
> +        "cpio"          : ["cpio"],
> +        "cpio.gz"       : ["cpio.gz"],
> +        "cpio.xz"       : ["cpio.xz"],
> +        "cpio.lzma"     : ["cpio.lzma"],
> +    }
> +
>   class HobViewTable (gtk.VBox):
>       """
>       A VBox to contain the table for different recipe views and package view

-- 
Joshua Lock
         Yocto Project "Johannes factotum"
         Intel Open Source Technology Centre




More information about the bitbake-devel mailing list