summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/hobeventhandler.py')
-rw-r--r--bitbake/lib/bb/ui/crumbs/hobeventhandler.py39
1 files changed, 20 insertions, 19 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
index 4ed65900cd..8bf599ff64 100644
--- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
+++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py
@@ -77,6 +77,8 @@ class HobHandler(gobject.GObject):
77 self.generating = False 77 self.generating = False
78 self.build_queue = [] 78 self.build_queue = []
79 self.current_phase = None 79 self.current_phase = None
80 self.bbpath_ok = False
81 self.bbfiles_ok = False
80 self.image_dir = os.path.join(tempfile.gettempdir(), 'hob-images') 82 self.image_dir = os.path.join(tempfile.gettempdir(), 'hob-images')
81 83
82 self.model = taskmodel 84 self.model = taskmodel
@@ -247,6 +249,8 @@ class HobHandler(gobject.GObject):
247 249
248 def build_image(self, image, configurator): 250 def build_image(self, image, configurator):
249 targets = [] 251 targets = []
252 nbbp = None
253 nbbf = None
250 targets.append(image) 254 targets.append(image)
251 if self.build_toolchain and self.build_toolchain_headers: 255 if self.build_toolchain and self.build_toolchain_headers:
252 targets.append("meta-toolchain-sdk") 256 targets.append("meta-toolchain-sdk")
@@ -254,31 +258,28 @@ class HobHandler(gobject.GObject):
254 targets.append("meta-toolchain") 258 targets.append("meta-toolchain")
255 self.build_queue = targets 259 self.build_queue = targets
256 260
257 bbpath_ok = False 261 if not self.bbpath_ok:
258 bbpath = self.server.runCommand(["getVariable", "BBPATH"]) 262 bbpath = self.server.runCommand(["getVariable", "BBPATH"])
259 if self.image_dir in bbpath.split(":"): 263 if self.image_dir in bbpath.split(":"):
260 bbpath_ok = True 264 self.bbpath_ok = True
265 else:
266 nbbp = self.image_dir
261 267
262 bbfiles_ok = False 268 if not self.bbfiles_ok:
263 bbfiles = self.server.runCommand(["getVariable", "BBFILES"]).split(" ")
264 for files in bbfiles:
265 import re 269 import re
266 pattern = "%s/\*.bb" % self.image_dir 270 pattern = "%s/\*.bb" % self.image_dir
267 if re.match(pattern, files): 271 bbfiles = self.server.runCommand(["getVariable", "BBFILES"]).split(" ")
268 bbfiles_ok = True 272 for files in bbfiles:
269 273 if re.match(pattern, files):
270 if not bbpath_ok: 274 self.bbfiles_ok = True
271 nbbp = self.image_dir
272 else:
273 nbbp = None
274 275
275 if not bbfiles_ok: 276 if not self.bbfiles_ok:
276 nbbf = "%s/*.bb" % self.image_dir 277 nbbf = "%s/*.bb" % self.image_dir
277 else:
278 nbbf = None
279 278
280 if not bbfiles_ok or not bbpath_ok: 279 if nbbp or nbbf:
281 configurator.insertTempBBPath(nbbp, nbbf) 280 configurator.insertTempBBPath(nbbp, nbbf)
281 self.bbpath_ok = True
282 self.bbfiles_ok = True
282 283
283 self.current_command = self.REPARSE_FILES 284 self.current_command = self.REPARSE_FILES
284 self.run_next_command() 285 self.run_next_command()