]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oe/image.py: Fix dependency handling for compressed types
authorOtavio Salvador <otavio@ossystems.com.br>
Tue, 13 Oct 2015 15:29:37 +0000 (12:29 -0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 14 Oct 2015 15:08:22 +0000 (18:08 +0300)
The dependency code needs to also include the dependency of base
types. For example:

 - sdcard.gz image with ext4

The dependency chain needs to include:

 - sdcard
 - ext4
 - gz

Until this change, the ext4 dependency were not being taken into
account when using the compressed one.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/image.py

index b0d81a6b2229c3c833df5446c2a9512bb0ca8164..b9eb3de5aa954d5c0a2b3aa30e3fddb412e4f9d2 100644 (file)
@@ -54,14 +54,16 @@ class ImageDepGraph(object):
             base_type = self._image_base_type(node)
             deps = (self.d.getVar('IMAGE_TYPEDEP_' + node, True) or "")
             base_deps = (self.d.getVar('IMAGE_TYPEDEP_' + base_type, True) or "")
-            if deps != "" or base_deps != "":
-                graph[node] = deps
-
-                for dep in deps.split() + base_deps.split():
-                    if not dep in graph:
-                        add_node(dep)
-            else:
-                graph[node] = ""
+
+            graph[node] = ""
+            for dep in deps.split() + base_deps.split():
+                if not dep in graph[node]:
+                    if graph[node] != "":
+                        graph[node] += " "
+                    graph[node] += dep
+
+                if not dep in graph:
+                    add_node(dep)
 
         for fstype in image_fstypes:
             add_node(fstype)