diff options
authorRobert Yang <>2012-06-21 10:28:54 +0800
committerRichard Purdie <>2012-07-09 17:19:32 +0100
commit041a0e8dff1daf333613f3dd06a9bfc218213462 (patch)
parentc857fa97b417c26ef9625df453f98729ce217ecd (diff)
bitbake: 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] (Bitbake rev: 18aff925aece774d0172894e25584353519ca03f) Signed-off-by: Robert Yang <> Signed-off-by: Richard Purdie <>
2 files changed, 5 insertions, 1 deletions
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/ b/bitbake/lib/bb/
index 9b8d4b23e5..361bc88a9d 100644
--- a/bitbake/lib/bb/
+++ b/bitbake/lib/bb/
@@ -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('', '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()
+"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)