summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bblayers
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bblayers')
-rw-r--r--bitbake/lib/bblayers/action.py22
-rw-r--r--bitbake/lib/bblayers/query.py4
2 files changed, 17 insertions, 9 deletions
diff --git a/bitbake/lib/bblayers/action.py b/bitbake/lib/bblayers/action.py
index d6459d6617..5b78195ad4 100644
--- a/bitbake/lib/bblayers/action.py
+++ b/bitbake/lib/bblayers/action.py
@@ -143,11 +143,12 @@ build results (as the layer priority order has effectively changed).
143 143
144 applied_appends = [] 144 applied_appends = []
145 for layer in layers: 145 for layer in layers:
146 overlayed = [] 146 overlayed = set()
147 for f in self.tinfoil.cooker.collection.overlayed.keys(): 147 for mc in self.tinfoil.cooker.multiconfigs:
148 for of in self.tinfoil.cooker.collection.overlayed[f]: 148 for f in self.tinfoil.cooker.collections[mc].overlayed.keys():
149 if of.startswith(layer): 149 for of in self.tinfoil.cooker.collections[mc].overlayed[f]:
150 overlayed.append(of) 150 if of.startswith(layer):
151 overlayed.add(of)
151 152
152 logger.plain('Copying files from %s...' % layer ) 153 logger.plain('Copying files from %s...' % layer )
153 for root, dirs, files in os.walk(layer): 154 for root, dirs, files in os.walk(layer):
@@ -174,14 +175,21 @@ build results (as the layer priority order has effectively changed).
174 logger.warning('Overwriting file %s', fdest) 175 logger.warning('Overwriting file %s', fdest)
175 bb.utils.copyfile(f1full, fdest) 176 bb.utils.copyfile(f1full, fdest)
176 if ext == '.bb': 177 if ext == '.bb':
177 for append in self.tinfoil.cooker.collection.get_file_appends(f1full): 178 appends = set()
179 for mc in self.tinfoil.cooker.multiconfigs:
180 appends |= set(self.tinfoil.cooker.collections[mc].get_file_appends(f1full))
181 for append in appends:
178 if layer_path_match(append): 182 if layer_path_match(append):
179 logger.plain(' Applying append %s to %s' % (append, fdest)) 183 logger.plain(' Applying append %s to %s' % (append, fdest))
180 self.apply_append(append, fdest) 184 self.apply_append(append, fdest)
181 applied_appends.append(append) 185 applied_appends.append(append)
182 186
183 # Take care of when some layers are excluded and yet we have included bbappends for those recipes 187 # Take care of when some layers are excluded and yet we have included bbappends for those recipes
184 for b in self.tinfoil.cooker.collection.bbappends: 188 bbappends = set()
189 for mc in self.tinfoil.cooker.multiconfigs:
190 bbappends |= set(self.tinfoil.cooker.collections[mc].bbappends)
191
192 for b in bbappends:
185 (recipename, appendname) = b 193 (recipename, appendname) = b
186 if appendname not in applied_appends: 194 if appendname not in applied_appends:
187 first_append = None 195 first_append = None
diff --git a/bitbake/lib/bblayers/query.py b/bitbake/lib/bblayers/query.py
index e2cc310532..ee2db0efed 100644
--- a/bitbake/lib/bblayers/query.py
+++ b/bitbake/lib/bblayers/query.py
@@ -320,12 +320,12 @@ Lists recipes with the bbappends that apply to them as subitems.
320 def get_appends_for_files(self, filenames): 320 def get_appends_for_files(self, filenames):
321 appended, notappended = [], [] 321 appended, notappended = [], []
322 for filename in filenames: 322 for filename in filenames:
323 _, cls, _ = bb.cache.virtualfn2realfn(filename) 323 _, cls, mc = bb.cache.virtualfn2realfn(filename)
324 if cls: 324 if cls:
325 continue 325 continue
326 326
327 basename = os.path.basename(filename) 327 basename = os.path.basename(filename)
328 appends = self.tinfoil.cooker.collection.get_file_appends(basename) 328 appends = self.tinfoil.cooker.collections[mc].get_file_appends(basename)
329 if appends: 329 if appends:
330 appended.append((basename, list(appends))) 330 appended.append((basename, list(appends)))
331 else: 331 else: