diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index 44b208a177..8427623b37 100755 --- a/bitbake/lib/bb/ui/crumbs/builder.py +++ b/bitbake/lib/bb/ui/crumbs/builder.py @@ -457,12 +457,15 @@ class Builder(gtk.Window): def generate_image(self): # Build image self.set_user_config() - all_packages = self.package_model.get_selected_packages() + packages = self.package_model.get_selected_packages() + toolchain_packages = [] + if self.configuration.toolchain_build: + toolchain_packages = self.package_model.get_selected_packages_toolchain() self.handler.reset_build() - self.handler.generate_image(all_packages, + self.handler.generate_image(packages, self.hob_image, self.hob_toolchain, - self.configuration.toolchain_build) + toolchain_packages) # Callback Functions def handler_config_updated_cb(self, handler, which, values): diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index 74081dcc84..8909e010f9 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py @@ -131,9 +131,8 @@ class HobHandler(gobject.GObject): targets = [self.hob_image] self.server.runCommand(["setVariable", "LINGUAS_INSTALL", ""]) self.server.runCommand(["setVariable", "PACKAGE_INSTALL", " ".join(self.package_queue)]) - if self.toolchain_build: - pkgs = self.package_queue + [i+'-dev' for i in self.package_queue] + [i+'-dbg' for i in self.package_queue] - self.server.runCommand(["setVariable", "TOOLCHAIN_TARGET_TASK", " ".join(pkgs)]) + if self.toolchain_packages: + self.server.runCommand(["setVariable", "TOOLCHAIN_TARGET_TASK", " ".join(self.toolchain_packages)]) targets.append(self.hob_toolchain) self.server.runCommand(["buildTargets", targets, "build"]) @@ -350,11 +349,11 @@ class HobHandler(gobject.GObject): self.commands_async.append(self.SUB_BUILD_RECIPES) self.run_next_command(self.GENERATE_PACKAGES) - def generate_image(self, tgts, hob_image, hob_toolchain, toolchain_build=False): + def generate_image(self, tgts, hob_image, hob_toolchain, toolchain_packages=[]): self.package_queue = tgts self.hob_image = hob_image self.hob_toolchain = hob_toolchain - self.toolchain_build = toolchain_build + self.toolchain_packages = toolchain_packages self.commands_async.append(self.SUB_PARSE_CONFIG) self.commands_async.append(self.SUB_BUILD_IMAGE) self.run_next_command(self.GENERATE_IMAGE) diff --git a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py index a09c7c726e..d4cae43892 100644 --- a/bitbake/lib/bb/ui/crumbs/hoblistmodel.py +++ b/bitbake/lib/bb/ui/crumbs/hoblistmodel.py @@ -357,6 +357,22 @@ class PackageListModel(gtk.TreeStore): return packagelist + def get_selected_packages_toolchain(self): + packagelist = [] + + it = self.get_iter_first() + while it: + if self.get_value(it, self.COL_INC): + child_it = self.iter_children(it) + while child_it: + name = self.get_value(child_it, self.COL_NAME) + inc = self.get_value(child_it, self.COL_INC) + if inc or name.endswith("-dev") or name.endswith("-dbg"): + packagelist.append(name) + child_it = self.iter_next(child_it) + it = self.iter_next(it) + + return packagelist """ Return the selected package size, unit is KB. """