diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/hobeventhandler.py')
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index 0b5b31808c..e8265f1136 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py | |||
@@ -20,6 +20,8 @@ | |||
20 | 20 | ||
21 | import gobject | 21 | import gobject |
22 | import logging | 22 | import logging |
23 | import tempfile | ||
24 | import datetime | ||
23 | 25 | ||
24 | progress_total = 0 | 26 | progress_total = 0 |
25 | 27 | ||
@@ -75,6 +77,7 @@ class HobHandler(gobject.GObject): | |||
75 | self.generating = False | 77 | self.generating = False |
76 | self.build_queue = [] | 78 | self.build_queue = [] |
77 | self.current_phase = None | 79 | self.current_phase = None |
80 | self.image_dir = None | ||
78 | 81 | ||
79 | self.model = taskmodel | 82 | self.model = taskmodel |
80 | self.server = server | 83 | self.server = server |
@@ -237,7 +240,7 @@ class HobHandler(gobject.GObject): | |||
237 | pmake = "-j %s" % threads | 240 | pmake = "-j %s" % threads |
238 | self.server.runCommand(["setVariable", "BB_NUMBER_THREADS", pmake]) | 241 | self.server.runCommand(["setVariable", "BB_NUMBER_THREADS", pmake]) |
239 | 242 | ||
240 | def build_image(self, image, image_path, configurator): | 243 | def build_image(self, image, configurator): |
241 | targets = [] | 244 | targets = [] |
242 | targets.append(image) | 245 | targets.append(image) |
243 | if self.build_toolchain and self.build_toolchain_headers: | 246 | if self.build_toolchain and self.build_toolchain_headers: |
@@ -248,24 +251,24 @@ class HobHandler(gobject.GObject): | |||
248 | 251 | ||
249 | bbpath_ok = False | 252 | bbpath_ok = False |
250 | bbpath = self.server.runCommand(["getVariable", "BBPATH"]) | 253 | bbpath = self.server.runCommand(["getVariable", "BBPATH"]) |
251 | if image_path in bbpath.split(":"): | 254 | if self.image_dir in bbpath.split(":"): |
252 | bbpath_ok = True | 255 | bbpath_ok = True |
253 | 256 | ||
254 | bbfiles_ok = False | 257 | bbfiles_ok = False |
255 | bbfiles = self.server.runCommand(["getVariable", "BBFILES"]).split(" ") | 258 | bbfiles = self.server.runCommand(["getVariable", "BBFILES"]).split(" ") |
256 | for files in bbfiles: | 259 | for files in bbfiles: |
257 | import re | 260 | import re |
258 | pattern = "%s/\*.bb" % image_path | 261 | pattern = "%s/\*.bb" % self.image_dir |
259 | if re.match(pattern, files): | 262 | if re.match(pattern, files): |
260 | bbfiles_ok = True | 263 | bbfiles_ok = True |
261 | 264 | ||
262 | if not bbpath_ok: | 265 | if not bbpath_ok: |
263 | nbbp = image_path | 266 | nbbp = self.image_dir |
264 | else: | 267 | else: |
265 | nbbp = None | 268 | nbbp = None |
266 | 269 | ||
267 | if not bbfiles_ok: | 270 | if not bbfiles_ok: |
268 | nbbf = "%s/*.bb" % image_path | 271 | nbbf = "%s/*.bb" % self.image_dir |
269 | else: | 272 | else: |
270 | nbbf = None | 273 | nbbf = None |
271 | 274 | ||
@@ -319,3 +322,16 @@ class HobHandler(gobject.GObject): | |||
319 | 322 | ||
320 | def get_image_deploy_dir(self): | 323 | def get_image_deploy_dir(self): |
321 | return self.server.runCommand(["getVariable", "DEPLOY_DIR_IMAGE"]) | 324 | return self.server.runCommand(["getVariable", "DEPLOY_DIR_IMAGE"]) |
325 | |||
326 | def make_temp_dir(self): | ||
327 | self.image_dir = os.path.join(tempfile.gettempdir(), 'hob-images') | ||
328 | bb.utils.mkdirhier(self.image_dir) | ||
329 | |||
330 | def remove_temp_dir(self): | ||
331 | bb.utils.remove(self.image_dir, True) | ||
332 | |||
333 | def get_temp_recipe_path(self, name): | ||
334 | timestamp = datetime.date.today().isoformat() | ||
335 | image_file = "hob-%s-variant-%s.bb" % (name, timestamp) | ||
336 | recipepath = os.path.join(self.image_dir, image_file) | ||
337 | return recipepath | ||