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:
parent
81545301d7
commit
07dbea44c7
|
@ -33,6 +33,7 @@ import threading
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
from contextlib import closing
|
from contextlib import closing
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
from collections import defaultdict
|
||||||
import bb, bb.exceptions
|
import bb, bb.exceptions
|
||||||
from bb import utils, data, parse, event, cache, providers, taskdata, command, runqueue
|
from bb import utils, data, parse, event, cache, providers, taskdata, command, runqueue
|
||||||
|
|
||||||
|
@ -1060,6 +1061,18 @@ class BBCooker:
|
||||||
self.appendlist[base] = []
|
self.appendlist[base] = []
|
||||||
self.appendlist[base].append(f)
|
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)
|
return (bbfiles, masked)
|
||||||
|
|
||||||
def get_file_appends(self, fn):
|
def get_file_appends(self, fn):
|
||||||
|
|
Loading…
Reference in New Issue