hob: fix opening of image output dir on image build completion

Firstly, rather than polling the DEPLOY_DIR_IMAGE directory each time an
image is built store the variable as a member of the hobeventhandler.
Secondly emit the generic "build-complete" signal *after* the specialised
"build-failed" or "build-succeeded" signals such that the appropriate
state variables are set before we try and use them.

(Bitbake rev: 043914a8b478fd4a7799acd1b44bdb3b0af2165a)

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-09-20 18:08:28 -07:00 committed by Richard Purdie
parent 7dc4495951
commit 863f43a093
2 changed files with 7 additions and 4 deletions

View File

@ -79,11 +79,14 @@ class HobHandler(gobject.GObject):
self.current_phase = None
self.bbpath_ok = False
self.bbfiles_ok = False
self.build_type = "image"
self.image_dir = os.path.join(tempfile.gettempdir(), 'hob-images')
self.model = taskmodel
self.server = server
deploy_dir = self.server.runCommand(["getVariable", "DEPLOY_DIR"])
self.image_out_dir = os.path.join(deploy_dir, "images")
self.image_output_types = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]).split(" ")
def run_next_command(self):
@ -324,7 +327,7 @@ class HobHandler(gobject.GObject):
return self.image_output_types
def get_image_deploy_dir(self):
return self.server.runCommand(["getVariable", "DEPLOY_DIR_IMAGE"])
return self.img_out_dir
def make_temp_dir(self):
bb.utils.mkdirhier(self.image_dir)

View File

@ -242,14 +242,14 @@ class RunningBuild (gobject.GObject):
Colors.OK,
0))
# Emit a generic "build-complete" signal for things wishing to
# handle when the build is finished
self.emit("build-complete")
# Emit the appropriate signal depending on the number of failures
if (failures >= 1):
self.emit ("build-failed")
else:
self.emit ("build-succeeded")
# Emit a generic "build-complete" signal for things wishing to
# handle when the build is finished
self.emit("build-complete")
elif isinstance(event, bb.command.CommandFailed):
if event.error.startswith("Exited with"):