From patchwork Thu Aug 16 01:14:20 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel,0/2] variable/include tracking and _remove Date: Thu, 16 Aug 2012 01:14:20 -0000 From: Peter Seebach X-Patchwork-Id: 34677 Message-Id: To: These aren't entirely related, but I don't think I could get the _remove feature separated out cleanly, and there was no way I could implement it on a tree without the variable tracking. :) Patch #1 is a rebase/merge/cleanup of the variable and include tracking feature I've previously sent in; this version is much cleaned up, and produces a lot less output (<1MB instead of >10MB for a typical project in our build system) which is substantially more informative. Patch #2 is a proof-of-concept demonstration of how to make a _remove keyword. Usage: DUMMY = "foo" DUMMY += "bar" DUMMY_remove = "foo" # DUMMY="bar" This only works for space-separated lists, but we have a LOT of those. The only obvious things I see that really are lists, and aren't space-separated, are OVERRIDES and PATH, and I'm pretty sure that we don't *need* to remove things from those. The following changes since commit 23bd5300b4a99218a15f4f6b0ab4091d63a602a5: Richard Purdie (1): data_smart: Fix unanchored regexp causing strange parsing issue are available in the git repository at: git://git.yoctoproject.org/poky-contrib seebs/remove http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=seebs/remove Peter Seebach (2): data_smart.py: track file inclusion and variable modifications data_smart.py: implement _remove as a keyword like _append. lib/bb/cooker.py | 2 + lib/bb/data.py | 65 ++++++++-- lib/bb/data_smart.py | 220 +++++++++++++++++++++++++++------- lib/bb/parse/__init__.py | 6 +- lib/bb/parse/ast.py | 76 +++++++----- lib/bb/parse/parse_py/ConfHandler.py | 6 +- 6 files changed, 286 insertions(+), 89 deletions(-)