From 9fe29fd7db125d8f1295086b003d925c255303f4 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Thu, 30 Jun 2011 23:02:51 -0700 Subject: command|cooker|event: add findConfigFilePath command This takes the name of a .conf file and returns the full path to it (Bitbake rev: 22c8600b885faf841795b872d82f68dfb644a26e) Signed-off-by: Joshua Lock Signed-off-by: Richard Purdie --- bitbake/lib/bb/command.py | 10 ++++++++++ bitbake/lib/bb/cooker.py | 4 ++++ bitbake/lib/bb/event.py | 8 ++++++++ 3 files changed, 22 insertions(+) (limited to 'bitbake/lib') diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py index d597d1d39b..2f37938cee 100644 --- a/bitbake/lib/bb/command.py +++ b/bitbake/lib/bb/command.py @@ -251,6 +251,16 @@ class CommandsAsync: command.finishAsyncCommand() findConfigFiles.needcache = True + def findConfigFilePath(self, command, params): + """ + Find the path of the requested configuration file + """ + configfile = params[0] + + command.cooker.findConfigFilePath(configfile) + command.finishAsyncCommand() + findConfigFilePath.needcache = False + def showVersions(self, command, params): """ Show the currently selected versions diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 369444b9b3..e537634df8 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -516,6 +516,10 @@ class BBCooker: if regex in unmatched: collectlog.warn("No bb files matched BBFILE_PATTERN_%s '%s'" % (collection, pattern)) + def findConfigFilePath(self, configfile): + path = self._findConfigFile(configfile) + bb.event.fire(bb.event.ConfigFilePathFound(path), self.configuration.data) + def findConfigFiles(self, varname): """ Find config files which are appropriate values for varname. diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 7d47edb9e7..7c49d464dd 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -399,6 +399,14 @@ class ConfigFilesFound(Event): self._variable = variable self._values = values +class ConfigFilePathFound(Event): + """ + Event when a path for a config file has been found + """ + def __init__(self, path): + Event.__init__(self) + self._path = path + class MsgBase(Event): """Base class for messages""" -- cgit v1.2.3-54-g00ecf