[OE-core] [PATCH 2/2] lib/oe/image.py: Handle compressed IMAGE_TYPEDEP values

Mario Domenech Goulart mario at ossystems.com.br
Tue Dec 9 20:51:12 UTC 2014


On Tue,  9 Dec 2014 18:24:48 -0200 Otavio Salvador <otavio at ossystems.com.br> wrote:

> When computing the dependency graph for the image generation, we need
> to take into account the compression type and identify the base type
> it relates to. This allow for a more robust graph generation even when
> using composed image types.
>
> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> ---
>  meta/lib/oe/image.py | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/meta/lib/oe/image.py b/meta/lib/oe/image.py
> index 7e080b0..9ac7d3d 100644
> --- a/meta/lib/oe/image.py
> +++ b/meta/lib/oe/image.py
> @@ -48,6 +48,7 @@ class ImageDepGraph(object):
>          graph = dict()
>  
>          def add_node(node):
> +            node = self._image_base_type(node)
>              deps = (self.d.getVar('IMAGE_TYPEDEP_' + node, True) or "")
>              if deps != "":
>                  graph[node] = deps
> @@ -72,6 +73,18 @@ class ImageDepGraph(object):
>          for item in remove_list:
>              self.graph.pop(item, None)
>  
> +    def _image_base_type(self, type):
> +        ctypes = self.d.getVar('COMPRESSIONTYPES', True).split()
> +        if type == "vmdk" or type == "live" or type == "iso" or type == "hddimg":

This could be shorter as

   if type in ["vmdk", "live", "iso", "hddimg" ]

> +            type = "ext3"
> +        basetype = type
> +        for ctype in ctypes:
> +            if type.endswith("." + ctype):
> +                basetype = type[:-len("." + ctype)]
> +                break
> +
> +        return basetype
> +
>      def _compute_dependencies(self):
>          """
>          returns dict object of nodes with [no_of_depends_on, no_of_depended_by]
> -- 
> 2.1.3

Best wishes.
Mario
-- 
http://www.ossystems.com.br



More information about the Openembedded-core mailing list