bitbake: track 'overlayed' recipes

Recipes that have been 'overlayed' (where there is a recipe in another
layer where that layer has a higher priority) are now listed within
cooker.overlayedlist for use in bitbake-layers. This is a dict with
keys of the topmost (highest priority) recipe file.

(Bitbake rev: 370fc603d79f9c34cc23b4b520b685256c23df5d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2011-06-29 19:37:37 +01:00 committed by Richard Purdie
parent 81545301d7
commit 07dbea44c7
1 changed files with 13 additions and 0 deletions

View File

@ -33,6 +33,7 @@ import threading
from cStringIO import StringIO
from contextlib import closing
from functools import wraps
from collections import defaultdict
import bb, bb.exceptions
from bb import utils, data, parse, event, cache, providers, taskdata, command, runqueue
@ -1060,6 +1061,18 @@ class BBCooker:
self.appendlist[base] = []
self.appendlist[base].append(f)
# Find overlayed recipes
# bbfiles will be in priority order which makes this easy
bbfile_seen = dict()
self.overlayed = defaultdict(list)
for f in reversed(bbfiles):
base = os.path.basename(f)
if base not in bbfile_seen:
bbfile_seen[base] = f
else:
topfile = bbfile_seen[base]
self.overlayed[topfile].append(f)
return (bbfiles, masked)
def get_file_appends(self, fn):