summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cooker.py
diff options
context:
space:
mode:
authorPeter Seebach <peter.seebach@windriver.com>2013-01-18 11:45:22 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-01-18 12:35:19 +0000
commit4dd6d9139cb77f2b0ff7ab9482e853108efad5aa (patch)
treef7fa2af68009e261946b767f2b3d6fc5f0258c5e /bitbake/lib/bb/cooker.py
parent9753283a3fe417ba827e4cee153184b6a25699de (diff)
downloadpoky-4dd6d9139cb77f2b0ff7ab9482e853108efad5aa.tar.gz
bitbake: bitbake: data_smart.py and friends: Track file inclusions for bitbake -e
This code adds inclusion history to bitbake -e output, showing which files were included, in what order. This doesn't completely resolve timing questions, because it doesn't show you which lines of a file were processed before or after a given include, but it does let you figure out what the path was by which a particular file ended up in your build at all. How it works: data_smart acquires a .history member, which is an IncludeHistory; this represents the inclusion of a file and all its inclusions, recursively. It provides methods for including files, for finishing inclusion (done as an __exit__), and for dumping the whole tree. The parser is modified to run includes inside a with() to push and pop the include filename. RP Modifications: a) Split Include and Variable tracking b) Replace deepcopy usage with dedicated copy function c) Simplify some variable and usage (Bitbake rev: b2dda721262da8abb7dc32d019e18fbc32ed8860) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r--bitbake/lib/bb/cooker.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 1d38164f56..f06b71c42c 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -338,6 +338,11 @@ class BBCooker:
338 parselog.exception("Unable to read %s", fn) 338 parselog.exception("Unable to read %s", fn)
339 raise 339 raise
340 340
341 # Display history
342 with closing(StringIO()) as env:
343 self.configuration.data.inchistory.emit(env)
344 logger.plain(env.getvalue())
345
341 # emit variables and shell functions 346 # emit variables and shell functions
342 data.update_data(envdata) 347 data.update_data(envdata)
343 with closing(StringIO()) as env: 348 with closing(StringIO()) as env: