diff options
authorRobert Yang <liezhi.yang@windriver.com>2012-06-21 10:28:54 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-09 17:18:18 +0100
commit18aff925aece774d0172894e25584353519ca03f (patch)
parent68af2b09315ba35eae24933a599014a662789c2c (diff)
bitbake/cooker: Print which pkgs would be built in -g output
This is for giving the user a clear list to show which pkg would be built, we have the "bitbake -g", but it is not easy to read for people, it is for "dot". Improve the "bitbake -g" to also save a pn-buildlist: $ bitbake -g core-image-sato ... NOTE: PN build list saved to 'pn-buildlist' [snip] The contents of pn-buildlist: busybox shadow-native pth sysfsutils qemu-helper-native curl-native ncurses-native gdbm xserver-xorg linux-libc-headers [snip] [YOCTO #2404] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 files changed, 5 insertions, 1 deletions
diff --git a/bin/bitbake b/bin/bitbake
index e55a5380..1cee3327 100755
--- a/bin/bitbake
+++ b/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/lib/bb/cooker.py b/lib/bb/cooker.py
index 9b8d4b23..361bc88a 100644
--- a/lib/bb/cooker.py
+++ b/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)