summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/builder.py
diff options
context:
space:
mode:
authorLiming An <limingx.l.an@intel.com>2012-05-08 19:48:08 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-09 21:56:47 +0100
commit6841abd17268a1c1ca5e3634f0ae9e21426ca9c9 (patch)
treefeca86dce10f797bb222fb8a86ac662f0ba73ee1 /bitbake/lib/bb/ui/crumbs/builder.py
parent71b277acb12353eac21fddc2531c8bac886b058b (diff)
downloadpoky-6841abd17268a1c1ca5e3634f0ae9e21426ca9c9.tar.gz
Hob: change the workflow about click 'Run Image' to run directly after builded a qemu image
[YOCTO #2155] (Bitbake rev: d8a1fc4613ce1d6c1d0e3dad53d7af15b2011fd5) Signed-off-by: Liming An <limingx.l.an@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.py52
1 files changed, 37 insertions, 15 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
index 4b274a75a1..42d0f2ca0e 100755
--- a/bitbake/lib/bb/ui/crumbs/builder.py
+++ b/bitbake/lib/bb/ui/crumbs/builder.py
@@ -1047,6 +1047,21 @@ class Builder(gtk.Window):
1047 response = dialog.run() 1047 response = dialog.run()
1048 dialog.destroy() 1048 dialog.destroy()
1049 1049
1050 def get_kernel_file_name(self, image_path):
1051 name_list = []
1052 kernel_name = ""
1053 if image_path:
1054 files = [f for f in os.listdir(image_path) if f[0] <> '.']
1055 for check_file in files:
1056 if check_file.endswith(".bin"):
1057 name_splits = check_file.split(".")[0]
1058 if self.configuration.curr_mach in name_splits.split("-"):
1059 kernel_name = check_file
1060 if not os.path.islink(os.path.join(image_path, check_file)):
1061 name_list.append(check_file)
1062
1063 return kernel_name, len(name_list)
1064
1050 def runqemu_image(self, image_name): 1065 def runqemu_image(self, image_name):
1051 if not image_name: 1066 if not image_name:
1052 lbl = "<b>Please select an image to launch in QEMU.</b>" 1067 lbl = "<b>Please select an image to launch in QEMU.</b>"
@@ -1057,24 +1072,31 @@ class Builder(gtk.Window):
1057 dialog.destroy() 1072 dialog.destroy()
1058 return 1073 return
1059 1074
1060 dialog = gtk.FileChooserDialog("Load Kernel Files", self, 1075 kernel_name, kernels_number = self.get_kernel_file_name(self.parameters.image_addr)
1061 gtk.FILE_CHOOSER_ACTION_SAVE) 1076 if not kernel_name or kernels_number > 1:
1062 button = dialog.add_button("Cancel", gtk.RESPONSE_NO) 1077 dialog = gtk.FileChooserDialog("Load Kernel Files", self,
1063 HobAltButton.style_button(button) 1078 gtk.FILE_CHOOSER_ACTION_SAVE)
1064 button = dialog.add_button("Open", gtk.RESPONSE_YES) 1079 button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
1065 HobButton.style_button(button) 1080 HobAltButton.style_button(button)
1066 filter = gtk.FileFilter() 1081 button = dialog.add_button("Open", gtk.RESPONSE_YES)
1067 filter.set_name("Kernel Files") 1082 HobButton.style_button(button)
1068 filter.add_pattern("*.bin") 1083 filter = gtk.FileFilter()
1069 dialog.add_filter(filter) 1084 filter.set_name("Kernel Files")
1085 filter.add_pattern("*.bin")
1086 dialog.add_filter(filter)
1070 1087
1071 dialog.set_current_folder(self.parameters.image_addr) 1088 dialog.set_current_folder(self.parameters.image_addr)
1072 1089
1073 response = dialog.run() 1090 response = dialog.run()
1074 if response == gtk.RESPONSE_YES: 1091 if response == gtk.RESPONSE_YES:
1075 kernel_path = dialog.get_filename() 1092 kernel_path = dialog.get_filename()
1093 image_path = os.path.join(self.parameters.image_addr, image_name)
1094 dialog.destroy()
1095
1096 elif kernel_name:
1097 kernel_path = os.path.join(self.parameters.image_addr, kernel_name)
1076 image_path = os.path.join(self.parameters.image_addr, image_name) 1098 image_path = os.path.join(self.parameters.image_addr, image_name)
1077 dialog.destroy() 1099 response = gtk.RESPONSE_YES
1078 1100
1079 if response == gtk.RESPONSE_YES: 1101 if response == gtk.RESPONSE_YES:
1080 source_env_path = os.path.join(self.parameters.core_base, "oe-init-build-env") 1102 source_env_path = os.path.join(self.parameters.core_base, "oe-init-build-env")