mirror of
https://git.yoctoproject.org/poky
synced 2026-04-13 14:02:21 +02:00
lib/oe/image.py: Handle compressed IMAGE_TYPEDEP values
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. (From OE-Core rev: 6e7d1de6cc99ed2def346dc40310573f5f0ce5ca) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
7856fb3f0c
commit
01c7d083ef
@@ -48,11 +48,13 @@ class ImageDepGraph(object):
|
||||
graph = dict()
|
||||
|
||||
def add_node(node):
|
||||
base_type = self._image_base_type(node)
|
||||
deps = (self.d.getVar('IMAGE_TYPEDEP_' + node, True) or "")
|
||||
if deps != "":
|
||||
base_deps = (self.d.getVar('IMAGE_TYPEDEP_' + base_type, True) or "")
|
||||
if deps != "" or base_deps != "":
|
||||
graph[node] = deps
|
||||
|
||||
for dep in deps.split():
|
||||
for dep in deps.split() + base_deps.split():
|
||||
if not dep in graph:
|
||||
add_node(dep)
|
||||
else:
|
||||
@@ -72,6 +74,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 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]
|
||||
|
||||
Reference in New Issue
Block a user