From 05c17750c3c2f62473c892d10b179a1c16f440ed Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Fri, 22 Jan 2016 00:53:16 -0800 Subject: 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 Signed-off-by: Richard Purdie --- bitbake/lib/bb/taskdata.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'bitbake/lib/bb') 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): -- cgit v1.2.3-54-g00ecf