diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index e55a538057..1cee33272c 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake @@ -148,7 +148,7 @@ Default BBFILES are the .bb files in the current directory.""") parser.add_option("-e", "--environment", help = "show the global or per-package environment (this is what used to be bbread)", action = "store_true", dest = "show_environment", default = False) - parser.add_option("-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax", + parser.add_option("-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax, and the pn-buildlist to show the build list", action = "store_true", dest = "dot_graph", default = False) parser.add_option("-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""", diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 9b8d4b23e5..361bc88a9d 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -534,11 +534,15 @@ class BBCooker: # Prints a flattened form of package-depends below where subpackages of a package are merged into the main pn depends_file = file('pn-depends.dot', 'w' ) + buildlist_file = file('pn-buildlist', 'w' ) print("digraph depends {", file=depends_file) for pn in depgraph["pn"]: fn = depgraph["pn"][pn]["filename"] version = depgraph["pn"][pn]["version"] print('"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn), file=depends_file) + print("%s" % pn, file=buildlist_file) + buildlist_file.close() + logger.info("PN build list saved to 'pn-buildlist'") for pn in depgraph["depends"]: for depend in depgraph["depends"][pn]: print('"%s" -> "%s"' % (pn, depend), file=depends_file)