cooker: only return *Found events if something was actually found

The cooker methods which fire FooBarFound style events should only fire the
event when an item was actually found, rather than each time the method
is called.

Fixes [YOCTO #1219]

(Bitbake rev: 5c8eeefc79455f058dda8f04cf4c12dc5418e00f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Lock 2011-07-13 09:06:41 -07:00 committed by Richard Purdie
parent ffaf73eb9e
commit 0fc41bdf07
1 changed files with 8 additions and 4 deletions

View File

@ -549,14 +549,15 @@ class BBCooker:
def findConfigFilePath(self, configfile): def findConfigFilePath(self, configfile):
path = self._findConfigFile(configfile) path = self._findConfigFile(configfile)
bb.event.fire(bb.event.ConfigFilePathFound(path), self.configuration.data) if path:
bb.event.fire(bb.event.ConfigFilePathFound(path), self.configuration.data)
def findFilesMatchingInDir(self, filepattern, directory): def findFilesMatchingInDir(self, filepattern, directory):
""" """
Searches for files matching the regex 'pattern' which are children of Searches for files matching the regex 'pattern' which are children of
'directory' in each BBPATH. i.e. to find all rootfs package classes available 'directory' in each BBPATH. i.e. to find all rootfs package classes available
to BitBake one could call findFilesMatchingInDir(self, 'rootfs_', 'classes') to BitBake one could call findFilesMatchingInDir(self, 'rootfs_', 'classes')
or to find all machine configuration files on could call or to find all machine configuration files one could call:
findFilesMatchingInDir(self, 'conf/machines', 'conf') findFilesMatchingInDir(self, 'conf/machines', 'conf')
""" """
import re import re
@ -572,7 +573,8 @@ class BBCooker:
if p.search(f): if p.search(f):
matches.append(f) matches.append(f)
bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.configuration.data) if matches:
bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.configuration.data)
def findConfigFiles(self, varname): def findConfigFiles(self, varname):
""" """
@ -595,7 +597,8 @@ class BBCooker:
if end == 'conf': if end == 'conf':
possible.append(val) possible.append(val)
bb.event.fire(bb.event.ConfigFilesFound(var, possible), self.configuration.data) if possible:
bb.event.fire(bb.event.ConfigFilesFound(var, possible), self.configuration.data)
def findInheritsClass(self, klass): def findInheritsClass(self, klass):
""" """
@ -670,6 +673,7 @@ class BBCooker:
return confpath return confpath
path, _ = os.path.split(path) path, _ = os.path.split(path)
return None
def _findLayerConf(self): def _findLayerConf(self):
return self._findConfigFile("bblayers.conf") return self._findConfigFile("bblayers.conf")