summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bblayers/action.py
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2020-06-05 22:15:29 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-06-10 12:30:01 +0100
commitb9fdb6a4261754459a01f9689010a38922fe0c8a (patch)
treef06ef9f8d1ad7ffa27f64e501228f4d312bdbc94 /bitbake/lib/bblayers/action.py
parentf08d269c484417f3284c683ed690584642d33915 (diff)
downloadpoky-b9fdb6a4261754459a01f9689010a38922fe0c8a.tar.gz
bitbake: bitbake: cooker: Split file collections per multiconfig
Splits the cooker to track a collection per multiconfig instead of a single collection for all multiconfigs. Practically speaking, this allows each multiconfigs to each have different BBMASKs that apply to it instead of each one using the mask specified in the base configuration. (Bitbake rev: dd6d8eca2027f8d9be8a734a493227b440075e49) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bblayers/action.py')
-rw-r--r--bitbake/lib/bblayers/action.py22
1 files changed, 15 insertions, 7 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