diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index 8bf599ff64..393b40707c 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py @@ -71,7 +71,7 @@ class HobHandler(gobject.GObject): gobject.GObject.__init__(self) self.current_command = None - self.building = None + self.building = False self.build_toolchain = False self.build_toolchain_headers = False self.generating = False @@ -128,10 +128,10 @@ class HobHandler(gobject.GObject): self.server.runCommand(["resetCooker"]) self.server.runCommand(["reparseFiles"]) elif self.current_command == self.BUILD_IMAGE: - self.building = "image" if self.generating: self.emit("data-generated") self.generating = False + self.building = True self.server.runCommand(["buildTargets", self.build_queue, "build"]) self.build_queue = [] self.current_command = None @@ -247,11 +247,12 @@ class HobHandler(gobject.GObject): pmake = "-j %s" % threads self.server.runCommand(["setVariable", "BB_NUMBER_THREADS", pmake]) - def build_image(self, image, configurator): + def build_targets(self, tgts, configurator, build_type="image"): + self.build_type = build_type targets = [] nbbp = None nbbf = None - targets.append(image) + targets.extend(tgts) if self.build_toolchain and self.build_toolchain_headers: targets.append("meta-toolchain-sdk") elif self.build_toolchain: @@ -284,10 +285,6 @@ class HobHandler(gobject.GObject): self.current_command = self.REPARSE_FILES self.run_next_command() - def build_packages(self, pkgs): - self.building = "packages" - self.server.runCommand(["buildTargets", pkgs, "build"]) - def cancel_build(self, force=False): if force: # Force the cooker to stop as quickly as possible diff --git a/bitbake/lib/bb/ui/hob.py b/bitbake/lib/bb/ui/hob.py index 51a995e491..0f738ce4b5 100644 --- a/bitbake/lib/bb/ui/hob.py +++ b/bitbake/lib/bb/ui/hob.py @@ -459,6 +459,9 @@ class MainWindow (gtk.Window): image_name = recipepath.rstrip(".bb") path, sep, image_name = image_name.rpartition("/") + image = [] + image.append(image_name) + rep.writeRecipe(recipepath, self.model) # In the case where we saved the file for the purpose of building # it we should then delete it so that the users workspace doesn't @@ -466,9 +469,9 @@ class MainWindow (gtk.Window): if not self.save_path: self.files_to_clean.append(recipepath) - self.handler.build_image(image_name, self.configurator) + self.handler.build_targets(image, self.configurator) else: - self.handler.build_packages(self.model.get_selected_pn()) + self.handler.build_targets(self.model.get_selected_pn(), self.configurator, "packages") # Disable parts of the menu which shouldn't be used whilst building self.set_menus_sensitive(False) @@ -490,7 +493,7 @@ class MainWindow (gtk.Window): def build_complete_cb(self, running_build): # Have the handler process BB events again - self.handler.building = None + self.handler.building = False self.stopping = False self.back.connect("clicked", self.back_button_clicked_cb) self.back.set_sensitive(True) @@ -504,7 +507,7 @@ class MainWindow (gtk.Window): self.files_to_clean = [] lbl = "Build completed\n\nClick 'Edit Image' to start another build or 'View Messages' to view the messages output during the build." - if self.handler.building == "image" and self.build_succeeded: + if self.handler.build_type == "image" and self.build_succeeded: deploy = self.handler.get_image_deploy_dir() lbl = lbl + "\nBrowse folder of built images." % (deploy, deploy)