diff options
Diffstat (limited to 'bitbake/lib/bb/command.py')
-rw-r--r-- | bitbake/lib/bb/command.py | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py index 6abf38668b..d11907e3ba 100644 --- a/bitbake/lib/bb/command.py +++ b/bitbake/lib/bb/command.py | |||
@@ -232,7 +232,11 @@ class CommandsSync: | |||
232 | 232 | ||
233 | def matchFile(self, command, params): | 233 | def matchFile(self, command, params): |
234 | fMatch = params[0] | 234 | fMatch = params[0] |
235 | return command.cooker.matchFile(fMatch) | 235 | try: |
236 | mc = params[0] | ||
237 | except IndexError: | ||
238 | mc = '' | ||
239 | return command.cooker.matchFile(fMatch, mc) | ||
236 | matchFile.needconfig = False | 240 | matchFile.needconfig = False |
237 | 241 | ||
238 | def getUIHandlerNum(self, command, params): | 242 | def getUIHandlerNum(self, command, params): |
@@ -395,22 +399,38 @@ class CommandsSync: | |||
395 | def getSkippedRecipes(self, command, params): | 399 | def getSkippedRecipes(self, command, params): |
396 | # Return list sorted by reverse priority order | 400 | # Return list sorted by reverse priority order |
397 | import bb.cache | 401 | import bb.cache |
398 | skipdict = OrderedDict(sorted(command.cooker.skiplist.items(), | 402 | def sortkey(x): |
399 | key=lambda x: (-command.cooker.collection.calc_bbfile_priority(bb.cache.virtualfn2realfn(x[0])[0]), x[0]))) | 403 | vfn, _ = x |
404 | realfn, _, mc = bb.cache.virtualfn2realfn(vfn) | ||
405 | return (-command.cooker.collections[mc].calc_bbfile_priority(realfn), vfn) | ||
406 | |||
407 | skipdict = OrderedDict(sorted(command.cooker.skiplist.items(), key=sortkey)) | ||
400 | return list(skipdict.items()) | 408 | return list(skipdict.items()) |
401 | getSkippedRecipes.readonly = True | 409 | getSkippedRecipes.readonly = True |
402 | 410 | ||
403 | def getOverlayedRecipes(self, command, params): | 411 | def getOverlayedRecipes(self, command, params): |
404 | return list(command.cooker.collection.overlayed.items()) | 412 | try: |
413 | mc = params[0] | ||
414 | except IndexError: | ||
415 | mc = '' | ||
416 | return list(command.cooker.collections[mc].overlayed.items()) | ||
405 | getOverlayedRecipes.readonly = True | 417 | getOverlayedRecipes.readonly = True |
406 | 418 | ||
407 | def getFileAppends(self, command, params): | 419 | def getFileAppends(self, command, params): |
408 | fn = params[0] | 420 | fn = params[0] |
409 | return command.cooker.collection.get_file_appends(fn) | 421 | try: |
422 | mc = params[1] | ||
423 | except IndexError: | ||
424 | mc = '' | ||
425 | return command.cooker.collections[mc].get_file_appends(fn) | ||
410 | getFileAppends.readonly = True | 426 | getFileAppends.readonly = True |
411 | 427 | ||
412 | def getAllAppends(self, command, params): | 428 | def getAllAppends(self, command, params): |
413 | return command.cooker.collection.bbappends | 429 | try: |
430 | mc = params[0] | ||
431 | except IndexError: | ||
432 | mc = '' | ||
433 | return command.cooker.collections[mc].bbappends | ||
414 | getAllAppends.readonly = True | 434 | getAllAppends.readonly = True |
415 | 435 | ||
416 | def findProviders(self, command, params): | 436 | def findProviders(self, command, params): |
@@ -496,6 +516,7 @@ class CommandsSync: | |||
496 | for the recipe. | 516 | for the recipe. |
497 | """ | 517 | """ |
498 | fn = params[0] | 518 | fn = params[0] |
519 | mc = bb.runqueue.mc_from_tid(fn) | ||
499 | appends = params[1] | 520 | appends = params[1] |
500 | appendlist = params[2] | 521 | appendlist = params[2] |
501 | if len(params) > 3: | 522 | if len(params) > 3: |
@@ -507,7 +528,7 @@ class CommandsSync: | |||
507 | if appendlist is not None: | 528 | if appendlist is not None: |
508 | appendfiles = appendlist | 529 | appendfiles = appendlist |
509 | else: | 530 | else: |
510 | appendfiles = command.cooker.collection.get_file_appends(fn) | 531 | appendfiles = command.cooker.collections[mc].get_file_appends(fn) |
511 | else: | 532 | else: |
512 | appendfiles = [] | 533 | appendfiles = [] |
513 | # We are calling bb.cache locally here rather than on the server, | 534 | # We are calling bb.cache locally here rather than on the server, |
@@ -517,7 +538,7 @@ class CommandsSync: | |||
517 | if config_data: | 538 | if config_data: |
518 | # We have to use a different function here if we're passing in a datastore | 539 | # We have to use a different function here if we're passing in a datastore |
519 | # NOTE: we took a copy above, so we don't do it here again | 540 | # NOTE: we took a copy above, so we don't do it here again |
520 | envdata = bb.cache.parse_recipe(config_data, fn, appendfiles)[''] | 541 | envdata = bb.cache.parse_recipe(config_data, fn, appendfiles, mc)[''] |
521 | else: | 542 | else: |
522 | # Use the standard path | 543 | # Use the standard path |
523 | parser = bb.cache.NoCache(command.cooker.databuilder) | 544 | parser = bb.cache.NoCache(command.cooker.databuilder) |