[bitbake-devel,0/2] variable/include tracking and _remove

Submitted by Peter Seebach on Aug. 16, 2012, 1:14 a.m. | Patch ID: 34677


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


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

Commit Message

Peter Seebach Aug. 16, 2012, 1:14 a.m.
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

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(-)