diff options
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/image.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/meta/lib/oe/image.py b/meta/lib/oe/image.py index 7e080b00dd..f9c8f84cf8 100644 --- a/meta/lib/oe/image.py +++ b/meta/lib/oe/image.py | |||
@@ -48,11 +48,13 @@ class ImageDepGraph(object): | |||
48 | graph = dict() | 48 | graph = dict() |
49 | 49 | ||
50 | def add_node(node): | 50 | def add_node(node): |
51 | base_type = self._image_base_type(node) | ||
51 | deps = (self.d.getVar('IMAGE_TYPEDEP_' + node, True) or "") | 52 | deps = (self.d.getVar('IMAGE_TYPEDEP_' + node, True) or "") |
52 | if deps != "": | 53 | base_deps = (self.d.getVar('IMAGE_TYPEDEP_' + base_type, True) or "") |
54 | if deps != "" or base_deps != "": | ||
53 | graph[node] = deps | 55 | graph[node] = deps |
54 | 56 | ||
55 | for dep in deps.split(): | 57 | for dep in deps.split() + base_deps.split(): |
56 | if not dep in graph: | 58 | if not dep in graph: |
57 | add_node(dep) | 59 | add_node(dep) |
58 | else: | 60 | else: |
@@ -72,6 +74,18 @@ class ImageDepGraph(object): | |||
72 | for item in remove_list: | 74 | for item in remove_list: |
73 | self.graph.pop(item, None) | 75 | self.graph.pop(item, None) |
74 | 76 | ||
77 | def _image_base_type(self, type): | ||
78 | ctypes = self.d.getVar('COMPRESSIONTYPES', True).split() | ||
79 | if type in ["vmdk", "live", "iso", "hddimg"]: | ||
80 | type = "ext3" | ||
81 | basetype = type | ||
82 | for ctype in ctypes: | ||
83 | if type.endswith("." + ctype): | ||
84 | basetype = type[:-len("." + ctype)] | ||
85 | break | ||
86 | |||
87 | return basetype | ||
88 | |||
75 | def _compute_dependencies(self): | 89 | def _compute_dependencies(self): |
76 | """ | 90 | """ |
77 | returns dict object of nodes with [no_of_depends_on, no_of_depended_by] | 91 | returns dict object of nodes with [no_of_depends_on, no_of_depended_by] |