From 58570ec6a57b7e50e72066dc8f459ba9279d1752 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Thu, 8 Sep 2011 17:59:20 -0700 Subject: ui/crumbs/hobeventhandler: don't check BBPATH and BBFILES each build There's no need to check the BBPATH and BBFILES are set correctly each build when running multiple builds for one launch of the UI. Partially addresses [YOCTO #1468] (Bitbake rev: 39ed18e70e9f3a13b522b4ea02bf6f4bdb7de89c) Signed-off-by: Joshua Lock Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 39 +++++++++++++++-------------- 1 file 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): self.generating = False self.build_queue = [] self.current_phase = None + self.bbpath_ok = False + self.bbfiles_ok = False self.image_dir = os.path.join(tempfile.gettempdir(), 'hob-images') self.model = taskmodel @@ -247,6 +249,8 @@ class HobHandler(gobject.GObject): def build_image(self, image, configurator): targets = [] + nbbp = None + nbbf = None targets.append(image) if self.build_toolchain and self.build_toolchain_headers: targets.append("meta-toolchain-sdk") @@ -254,31 +258,28 @@ class HobHandler(gobject.GObject): targets.append("meta-toolchain") self.build_queue = targets - bbpath_ok = False - bbpath = self.server.runCommand(["getVariable", "BBPATH"]) - if self.image_dir in bbpath.split(":"): - bbpath_ok = True + if not self.bbpath_ok: + bbpath = self.server.runCommand(["getVariable", "BBPATH"]) + if self.image_dir in bbpath.split(":"): + self.bbpath_ok = True + else: + nbbp = self.image_dir - bbfiles_ok = False - bbfiles = self.server.runCommand(["getVariable", "BBFILES"]).split(" ") - for files in bbfiles: + if not self.bbfiles_ok: import re pattern = "%s/\*.bb" % self.image_dir - if re.match(pattern, files): - bbfiles_ok = True - - if not bbpath_ok: - nbbp = self.image_dir - else: - nbbp = None + bbfiles = self.server.runCommand(["getVariable", "BBFILES"]).split(" ") + for files in bbfiles: + if re.match(pattern, files): + self.bbfiles_ok = True - if not bbfiles_ok: - nbbf = "%s/*.bb" % self.image_dir - else: - nbbf = None + if not self.bbfiles_ok: + nbbf = "%s/*.bb" % self.image_dir - if not bbfiles_ok or not bbpath_ok: + if nbbp or nbbf: configurator.insertTempBBPath(nbbp, nbbf) + self.bbpath_ok = True + self.bbfiles_ok = True self.current_command = self.REPARSE_FILES self.run_next_command() -- cgit v1.2.3-54-g00ecf