aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2016-01-22 00:53:16 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-22 12:45:44 +0000
commit05c17750c3c2f62473c892d10b179a1c16f440ed (patch)
tree6857a1cb6ecc4b0f86aabd52ac8fc838b467db4e /bitbake
parentcf9cb65eeccf26310177e4013848ebc609dfdb31 (diff)
downloadopenembedded-core-contrib-05c17750c3c2f62473c892d10b179a1c16f440ed.tar.gz
bitbake: taskdata.py: add RuntimeProviders to close matches
This is useful for newbie, for example: $ bitbake rpm-build ERROR: Nothing PROVIDES 'rpm-build'. Close matches: pm-utils rpm RPROVIDES rpm-build [YOCTO #8881] (Bitbake rev: 4b59eb8cc2321fe72f2988b6c9c0fecd4883255b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/taskdata.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py
index b08387067e..39c899ebb7 100644
--- a/bitbake/lib/bb/taskdata.py
+++ b/bitbake/lib/bb/taskdata.py
@@ -429,7 +429,14 @@ class TaskData:
return
if not item in dataCache.providers:
- 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)
+ close_matches = self.get_close_matches(item, dataCache.providers.keys())
+ # Is it in RuntimeProviders ?
+ all_p = bb.providers.getRuntimeProviders(dataCache, item)
+ for fn in all_p:
+ new = dataCache.pkg_fn[fn] + " RPROVIDES " + item
+ if new not in close_matches:
+ close_matches.append(new)
+ bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees_str(item), reasons=self.get_reasons(item), close_matches=close_matches), cfgData)
raise bb.providers.NoProvider(item)
if self.have_build_target(item):