* [Buildroot] [git commit] support/scripts/graph-depends: add --flat-list option
@ 2018-04-01 20:25 Peter Korsgaard
0 siblings, 0 replies; only message in thread
From: Peter Korsgaard @ 2018-04-01 20:25 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=3146ba76331690fb693de3ff2fcebbaec43ca54e
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
graph-depends currently spits out a graph in .dot format. However, as
part of the upcoming introduction of <pkg>-show-recursive-depends and
<pkg>-show-recursive-rdepends, we need graph-depends to be able to
display a flat list.
Signed-off-by: George Redivo <george.redivo@datacom.ind.br>
[Thomas:
- Rebase on top of graph-depends changes
- Do not display the package name itself in the list, only its
dependencies (or reverse dependencies)
- Display the result on a single line, instead of one package per
line, in order to match what <pkg>-show-depends and
<pkg>-show-rdepends are doing today.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
support/scripts/graph-depends | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
diff --git a/support/scripts/graph-depends b/support/scripts/graph-depends
index 4ec0e46f7b..621e603278 100755
--- a/support/scripts/graph-depends
+++ b/support/scripts/graph-depends
@@ -248,11 +248,14 @@ done_deps = []
# Print the dependency graph of a package
def print_pkg_deps(outfile, dict_deps, dict_version, stop_list, exclude_list,
- arrow_dir, depth, max_depth, pkg, colors):
+ arrow_dir, draw_graph, depth, max_depth, pkg, colors):
if pkg in done_deps:
return
done_deps.append(pkg)
- print_attrs(outfile, pkg, dict_version.get(pkg), depth, colors)
+ if draw_graph:
+ print_attrs(outfile, pkg, dict_version.get(pkg), depth, colors)
+ elif depth != 0:
+ outfile.write("%s " % pkg)
if pkg not in dict_deps:
return
for p in stop_list:
@@ -276,9 +279,10 @@ def print_pkg_deps(outfile, dict_deps, dict_version, stop_list, exclude_list,
add = False
break
if add:
- outfile.write("%s -> %s [dir=%s]\n" % (pkg_node_name(pkg), pkg_node_name(d), arrow_dir))
+ if draw_graph:
+ outfile.write("%s -> %s [dir=%s]\n" % (pkg_node_name(pkg), pkg_node_name(d), arrow_dir))
print_pkg_deps(outfile, dict_deps, dict_version, stop_list, exclude_list,
- arrow_dir, depth + 1, max_depth, d, colors)
+ arrow_dir, draw_graph, depth + 1, max_depth, d, colors)
def parse_args():
@@ -314,6 +318,8 @@ def parse_args():
help="Draw reverse dependencies")
parser.add_argument("--quiet", '-q', dest="quiet", action='store_true',
help="Quiet")
+ parser.add_argument("--flat-list", '-f', dest="flat_list", action='store_true', default=False,
+ help="Do not draw graph, just print a flat list")
return parser.parse_args()
@@ -359,6 +365,8 @@ def main():
get_depends_func = brpkgutil.get_rdepends
arrow_dir = "back"
+ draw_graph = not args.flat_list
+
# Get the colors: we need exactly three colors,
# so no need not split more than 4
# We'll let 'dot' validate the colors...
@@ -406,12 +414,16 @@ def main():
if pkg != "all" and not pkg.startswith("root")])
# Start printing the graph data
- outfile.write("digraph G {\n")
+ if draw_graph:
+ outfile.write("digraph G {\n")
print_pkg_deps(outfile, dict_deps, dict_version, stop_list, exclude_list,
- arrow_dir, 0, args.depth, rootpkg, colors)
+ arrow_dir, draw_graph, 0, args.depth, rootpkg, colors)
- outfile.write("}\n")
+ if draw_graph:
+ outfile.write("}\n")
+ else:
+ outfile.write("\n")
if __name__ == "__main__":
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2018-04-01 20:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-01 20:25 [Buildroot] [git commit] support/scripts/graph-depends: add --flat-list option Peter Korsgaard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.