diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-01-20 18:39:00 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-01-20 18:39:00 +0000 |
commit | 1bfd6edef9db9c9175058ae801d1b601e4f15263 (patch) | |
tree | 899bc6771c9def07be628ba735c6bad158f7363e /bitbake-dev/lib/bb/parse | |
parent | d6c7a44b94aa0f871d3ad1a2097a4a8d773eabf5 (diff) | |
download | openembedded-core-1bfd6edef9db9c9175058ae801d1b601e4f15263.tar.gz openembedded-core-1bfd6edef9db9c9175058ae801d1b601e4f15263.tar.bz2 openembedded-core-1bfd6edef9db9c9175058ae801d1b601e4f15263.zip |
bitbake-dev: Sync with bitbake upstream
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'bitbake-dev/lib/bb/parse')
-rw-r--r-- | bitbake-dev/lib/bb/parse/parse_py/BBHandler.py | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py b/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py index 9b353634ed..86fa18ebd2 100644 --- a/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py @@ -185,18 +185,26 @@ def handle(fn, d, include = 0): multi = data.getVar('BBCLASSEXTEND', d, 1) if multi: based = bb.data.createCopy(d) + else: + based = d + try: finalise(fn, based) - darray = {"": based} - for cls in multi.split(): - pn = data.getVar('PN', d, True) - based = bb.data.createCopy(d) - data.setVar('PN', pn + '-' + cls, based) - inherit([cls], based) + except bb.parse.SkipPackage: + bb.data.setVar("__SKIPPED", True, based) + darray = {"": based} + + for cls in (multi or "").split(): + pn = data.getVar('PN', d, True) + based = bb.data.createCopy(d) + data.setVar('PN', pn + '-' + cls, based) + inherit([cls], based) + try: finalise(fn, based) - darray[cls] = based - return darray - else: - finalise(fn, d) + except bb.parse.SkipPackage: + bb.data.setVar("__SKIPPED", True, based) + darray[cls] = based + return darray + bbpath.pop(0) if oldfile: bb.data.setVar("FILE", oldfile, d) |