summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/builder.py
diff options
context:
space:
mode:
authorShane Wang <shane.wang@intel.com>2012-05-23 23:19:44 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-23 18:17:02 +0100
commit49694d650c61547d881a782af2a0f24dc39a042f (patch)
tree3850a6d5f7ca9adfbd047bf4da60a03f984fdc45 /bitbake/lib/bb/ui/crumbs/builder.py
parent799e076938b49353d1653e90206701069b8edb0b (diff)
downloadpoky-49694d650c61547d881a782af2a0f24dc39a042f.tar.gz
Hob: Adjust the progress bar and set 100% only when all is done.
After parsing recipes, Hob will populate recipes and packages, which is probably time exhaused. So, this patch is to adjust the progress bar and ensure 100% is set if and only if all populations are done. The patch also fixes "weird 18 second delay when parsing recipes" on build appliance. Because Hob is doing something, but the progress bar shows 100% and wait there. [Yocto #2341] (Bitbake rev: 2c4a21dc8a588c8cf05549ddd9734731a46bea10) Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/builder.py')
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/builder.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
index 141ee2c560..80a8d0160a 100755
--- a/bitbake/lib/bb/ui/crumbs/builder.py
+++ b/bitbake/lib/bb/ui/crumbs/builder.py
@@ -424,6 +424,8 @@ class Builder(gtk.Window):
424 self.handler.connect("data-generated", self.handler_data_generated_cb) 424 self.handler.connect("data-generated", self.handler_data_generated_cb)
425 self.handler.connect("command-succeeded", self.handler_command_succeeded_cb) 425 self.handler.connect("command-succeeded", self.handler_command_succeeded_cb)
426 self.handler.connect("command-failed", self.handler_command_failed_cb) 426 self.handler.connect("command-failed", self.handler_command_failed_cb)
427 self.handler.connect("recipe-populated", self.handler_recipe_populated_cb)
428 self.handler.connect("package-populated", self.handler_package_populated_cb)
427 429
428 self.handler.set_config_filter(hob_conf_filter) 430 self.handler.set_config_filter(hob_conf_filter)
429 431
@@ -773,6 +775,12 @@ class Builder(gtk.Window):
773 def packagelist_changed_cb(self, package_model): 775 def packagelist_changed_cb(self, package_model):
774 self.package_details_page.refresh_selection() 776 self.package_details_page.refresh_selection()
775 777
778 def handler_recipe_populated_cb(self, handler):
779 self.image_configuration_page.update_progress_bar("Populated recipes", 0.99)
780
781 def handler_package_populated_cb(self, handler):
782 self.image_configuration_page.update_progress_bar("Populated packages", 1.0)
783
776 def handler_parsing_started_cb(self, handler, message): 784 def handler_parsing_started_cb(self, handler, message):
777 if self.current_step != self.RCPPKGINFO_POPULATING: 785 if self.current_step != self.RCPPKGINFO_POPULATING:
778 return 786 return
@@ -792,7 +800,7 @@ class Builder(gtk.Window):
792 800
793 fraction = message["current"] * 1.0/message["total"] 801 fraction = message["current"] * 1.0/message["total"]
794 if message["eventname"] == "TreeDataPreparationProgress": 802 if message["eventname"] == "TreeDataPreparationProgress":
795 fraction = 0.6 + 0.4 * fraction 803 fraction = 0.6 + 0.38 * fraction
796 else: 804 else:
797 fraction = 0.6 * fraction 805 fraction = 0.6 * fraction
798 self.image_configuration_page.update_progress_bar(message["title"], fraction) 806 self.image_configuration_page.update_progress_bar(message["title"], fraction)
@@ -802,7 +810,7 @@ class Builder(gtk.Window):
802 return 810 return
803 811
804 if message["eventname"] == "TreeDataPreparationCompleted": 812 if message["eventname"] == "TreeDataPreparationCompleted":
805 fraction = 1.0 813 fraction = 0.98
806 else: 814 else:
807 fraction = 0.6 815 fraction = 0.6
808 self.image_configuration_page.update_progress_bar(message["title"], fraction) 816 self.image_configuration_page.update_progress_bar(message["title"], fraction)