[bitbake-devel] v4 or so [PATCH 0/2] variable/include tracking: revised

Submitted by Peter Seebach on Sept. 18, 2012, 2:11 a.m.


Message ID cover.1347933709.git.peter.seebach@windriver.com
State New
Headers show


git://git.yoctoproject.org/poky-contrib seebs/incvar

Commit Message

Peter Seebach Sept. 18, 2012, 2:11 a.m.
This is a revision of the variable/include tracking stuff. The first
patch adds include tracking, the second adds variable tracking on top of

I am a little unsure about some of this. The big design issue I ran into
is that I often wanted to specify the name of the variable being passed,
but that if I passed a **loginfo containing a 'var' key, this clashed with
the positional 'var' parameter. So I changed the name to 'variable'. I also
made the inference code smarter; it can guess at variable name and value
in common cases, reducing typing. Similarly, there is no longer a need
for an explicit 'ignore'; rather, if the keyword dictionary is empty,
'ignore' is assumed. (It can still be specified explicitly if we find
an exception, such as a case where we often but not always want to record
an operation.)

There's a lot of things that could likely be improved with this; my
starting point was to make it produce basically the same results as the
previous patch set, then clean up the output quite a bit. So reporting
on overrides and _append/_prepend overrides is smarter now, output
format is cleaned up a bit, and so on.

Feedback welcome, as always. There may be some loose ends left over from
things I tried and then abandoned; I've tried to catch them all, but the
code's all blurred together for me at this point. Sending it out in part
because I suspect people might want to mess with this a bit, or give feedback.

The following changes since commit ac75b06744e73399ca1fbda322ef851ae5754b0a:
  Valentin Popa (1):
        Implement 'settings' dialog as designed

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib seebs/incvar

Peter Seebach (2):
  data_smart.py and friends: Track file inclusions for bitbake -e
  data_smart.py and friends: Track variable history

 lib/bb/cooker.py                   |   15 +++-
 lib/bb/data.py                     |   28 ++++-
 lib/bb/data_smart.py               |  216 ++++++++++++++++++++++++++++++++----
 lib/bb/parse/__init__.py           |    3 +-
 lib/bb/parse/ast.py                |   25 ++++-
 lib/bb/parse/parse_py/BBHandler.py |    6 +-
 6 files changed, 257 insertions(+), 36 deletions(-)