diff options
| -rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 39 |
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() |
