summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cooker.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2011-06-29 19:37:37 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-05 13:36:49 +0100
commit07dbea44c76640ca484fbaeb00821eaf1739388d (patch)
tree919d48a5becfcd45919ca8ab0bc8418c4f908ee2 /bitbake/lib/bb/cooker.py
parent81545301d742caefe1e05ebe1c82aab103951220 (diff)
downloadast2050-yocto-poky-07dbea44c76640ca484fbaeb00821eaf1739388d.zip
ast2050-yocto-poky-07dbea44c76640ca484fbaeb00821eaf1739388d.tar.gz
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>
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r--bitbake/lib/bb/cooker.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 6d59660..cd32dd4 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -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):
OpenPOWER on IntegriCloud