graph-depends: Strip skeleton from dependency

skeleton being a mandatory dependency, we don't want all our packages to
have a link back to that node, the graph would be awful.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Maxime Hadjinlian 2015-07-14 13:36:26 +02:00 committed by Thomas Petazzoni
parent 7a6b83a211
commit f53d69614e

View File

@ -271,16 +271,17 @@ def remove_transitive_deps(pkg,deps):
new_d.append(d[i]) new_d.append(d[i])
return new_d return new_d
# This function removes the dependency on the 'toolchain' package # This function removes the dependency on some 'mandatory' package, like the
def remove_toolchain_deps(pkg,deps): # 'toolchain' package, or the 'skeleton' package
return [p for p in deps[pkg] if not p == 'toolchain'] def remove_mandatory_deps(pkg,deps):
return [p for p in deps[pkg] if p not in ['toolchain', 'skeleton']]
# This functions trims down the dependency list of all packages. # This functions trims down the dependency list of all packages.
# It applies in sequence all the dependency-elimination methods. # It applies in sequence all the dependency-elimination methods.
def remove_extra_deps(deps): def remove_extra_deps(deps):
for pkg in list(deps.keys()): for pkg in list(deps.keys()):
if not pkg == 'all': if not pkg == 'all':
deps[pkg] = remove_toolchain_deps(pkg,deps) deps[pkg] = remove_mandatory_deps(pkg,deps)
for pkg in list(deps.keys()): for pkg in list(deps.keys()):
if not transitive or pkg == 'all': if not transitive or pkg == 'all':
deps[pkg] = remove_transitive_deps(pkg,deps) deps[pkg] = remove_transitive_deps(pkg,deps)