hob: fix opening of image output dir on image build completion
authorJoshua Lock <josh@linux.intel.com>
Wed, 21 Sep 2011 01:08:28 +0000 (18:08 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 21 Sep 2011 13:07:30 +0000 (14:07 +0100)
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>
bitbake/lib/bb/ui/crumbs/hobeventhandler.py
bitbake/lib/bb/ui/crumbs/runningbuild.py

index 393b407..30504e1 100644 (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)
index bd0cbf0..509590a 100644 (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"):