diff options
Diffstat (limited to 'bitbake/lib/bb/taskdata.py')
| -rw-r--r-- | bitbake/lib/bb/taskdata.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index c08186a718..58fe1995f2 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py | |||
| @@ -390,6 +390,17 @@ class TaskData: | |||
| 390 | reasons.append("%s PROVIDES %s but was skipped: %s" % (skipitem.pn, item, skipitem.skipreason)) | 390 | reasons.append("%s PROVIDES %s but was skipped: %s" % (skipitem.pn, item, skipitem.skipreason)) |
| 391 | return reasons | 391 | return reasons |
| 392 | 392 | ||
| 393 | def get_close_matches(self, item, provider_list): | ||
| 394 | import difflib | ||
| 395 | if self.skiplist: | ||
| 396 | skipped = [] | ||
| 397 | for fn in self.skiplist: | ||
| 398 | skipped.append(self.skiplist[fn].pn) | ||
| 399 | full_list = provider_list + skipped | ||
| 400 | else: | ||
| 401 | full_list = provider_list | ||
| 402 | return difflib.get_close_matches(item, full_list, cutoff=0.7) | ||
| 403 | |||
| 393 | def add_provider(self, cfgData, dataCache, item): | 404 | def add_provider(self, cfgData, dataCache, item): |
| 394 | try: | 405 | try: |
| 395 | self.add_provider_internal(cfgData, dataCache, item) | 406 | self.add_provider_internal(cfgData, dataCache, item) |
| @@ -411,7 +422,7 @@ class TaskData: | |||
| 411 | return | 422 | return |
| 412 | 423 | ||
| 413 | if not item in dataCache.providers: | 424 | if not item in dataCache.providers: |
| 414 | bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees_str(item), reasons=self.get_reasons(item)), cfgData) | 425 | bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees_str(item), reasons=self.get_reasons(item), close_matches=self.get_close_matches(item, dataCache.providers.keys())), cfgData) |
| 415 | raise bb.providers.NoProvider(item) | 426 | raise bb.providers.NoProvider(item) |
| 416 | 427 | ||
| 417 | if self.have_build_target(item): | 428 | if self.have_build_target(item): |
