summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2012-04-13 01:04:50 +0800
committerDongxiao Xu <dongxiao.xu@intel.com>2012-04-14 19:17:11 +0800
commita74a6a033e66a0ae7b47c84d842bdd54066c69a1 (patch)
tree0399e64c8e9bad75453065229494cd3e38a428c3 /lib
parent14a9da66fe08d181f45853c52e0c9f14773070a8 (diff)
downloadbitbake-contrib-a74a6a033e66a0ae7b47c84d842bdd54066c69a1.tar.gz
Hob: Build selected image if not customized
If user selected a base image and didn't customize it, Hob will still build the selected image instead of hob-image. This fixes [YOCTO #2253] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Diffstat (limited to 'lib')
-rwxr-xr-xlib/bb/ui/crumbs/builder.py19
-rw-r--r--lib/bb/ui/crumbs/hobeventhandler.py17
2 files changed, 23 insertions, 13 deletions
diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
index 5e90219b3..3f26bacec 100755
--- a/lib/bb/ui/crumbs/builder.py
+++ b/lib/bb/ui/crumbs/builder.py
@@ -395,16 +395,21 @@ class Builder(gtk.Window):
def generate_image_async(self):
self.switch_page(self.IMAGE_GENERATING)
+ self.handler.reset_build()
# Build image
self.set_user_config()
- 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(packages,
- self.hob_image,
+ if self.configuration.selected_image == self.recipe_model.__dummy_image__:
+ packages = self.package_model.get_selected_packages()
+ image = self.hob_image
+ else:
+ packages = []
+ image = self.configuration.selected_image
+ self.handler.generate_image(image,
self.hob_toolchain,
+ packages,
toolchain_packages)
def get_parameters_sync(self):
@@ -690,7 +695,11 @@ class Builder(gtk.Window):
elif self.current_step == self.IMAGE_GENERATING:
fraction = 1.0
self.parameters.image_names = []
- linkname = 'hob-image-' + self.configuration.curr_mach
+ selected_image = self.recipe_model.get_selected_image()
+ if selected_image == self.recipe_model.__dummy_image__:
+ linkname = 'hob-image-' + self.configuration.curr_mach
+ else:
+ linkname = selected_image + '-' + self.configuration.curr_mach
for image_type in self.parameters.image_types:
linkpath = self.parameters.image_addr + '/' + linkname + '.' + image_type
if os.path.exists(linkpath):
diff --git a/lib/bb/ui/crumbs/hobeventhandler.py b/lib/bb/ui/crumbs/hobeventhandler.py
index 292d9056b..c29786370 100644
--- a/lib/bb/ui/crumbs/hobeventhandler.py
+++ b/lib/bb/ui/crumbs/hobeventhandler.py
@@ -128,12 +128,13 @@ class HobHandler(gobject.GObject):
elif next_command == self.SUB_BUILD_IMAGE:
self.clear_busy()
self.building = True
- targets = [self.hob_image]
- self.server.runCommand(["setVariable", "LINGUAS_INSTALL", ""])
- self.server.runCommand(["setVariable", "PACKAGE_INSTALL", " ".join(self.package_queue)])
+ targets = [self.image]
+ if self.package_queue:
+ self.server.runCommand(["setVariable", "LINGUAS_INSTALL", ""])
+ self.server.runCommand(["setVariable", "PACKAGE_INSTALL", " ".join(self.package_queue)])
if self.toolchain_packages:
self.server.runCommand(["setVariable", "TOOLCHAIN_TARGET_TASK", " ".join(self.toolchain_packages)])
- targets.append(self.hob_toolchain)
+ targets.append(self.toolchain)
self.server.runCommand(["buildTargets", targets, "build"])
def handle_event(self, event):
@@ -352,10 +353,10 @@ 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_packages=[]):
- self.package_queue = tgts
- self.hob_image = hob_image
- self.hob_toolchain = hob_toolchain
+ def generate_image(self, image, toolchain, image_packages=[], toolchain_packages=[]):
+ self.image = image
+ self.toolchain = toolchain
+ self.package_queue = image_packages
self.toolchain_packages = toolchain_packages
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.commands_async.append(self.SUB_BUILD_IMAGE)