From: Robert Yang Date: Thu, 21 Jun 2012 02:28:54 +0000 (+0800) Subject: bitbake: bitbake/cooker: Print which pkgs would be built in -g output X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=041a0e8dff1daf333613f3dd06a9bfc218213462;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index e55a5380579..1cee33272cb 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 9b8d4b23e58..361bc88a9de 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)