diff options
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/builder.py')
| -rwxr-xr-x | bitbake/lib/bb/ui/crumbs/builder.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index dcc4104262..457cadc77a 100755 --- a/bitbake/lib/bb/ui/crumbs/builder.py +++ b/bitbake/lib/bb/ui/crumbs/builder.py | |||
| @@ -1359,6 +1359,25 @@ class Builder(gtk.Window): | |||
| 1359 | 1359 | ||
| 1360 | return kernel_path | 1360 | return kernel_path |
| 1361 | 1361 | ||
| 1362 | def show_load_run_script_dialog(self): | ||
| 1363 | dialog = gtk.FileChooserDialog("Select Run Script", self, | ||
| 1364 | gtk.FILE_CHOOSER_ACTION_OPEN) | ||
| 1365 | button = dialog.add_button("Cancel", gtk.RESPONSE_NO) | ||
| 1366 | HobAltButton.style_button(button) | ||
| 1367 | button = dialog.add_button("Select", gtk.RESPONSE_YES) | ||
| 1368 | HobButton.style_button(button) | ||
| 1369 | |||
| 1370 | dialog.set_current_folder(self.parameters.image_addr) | ||
| 1371 | |||
| 1372 | response = dialog.run() | ||
| 1373 | run_script_path = "" | ||
| 1374 | if response == gtk.RESPONSE_YES: | ||
| 1375 | run_script_path = dialog.get_filename() | ||
| 1376 | |||
| 1377 | dialog.destroy() | ||
| 1378 | |||
| 1379 | return run_script_path | ||
| 1380 | |||
| 1362 | def runqemu_image(self, image_name, kernel_name): | 1381 | def runqemu_image(self, image_name, kernel_name): |
| 1363 | if not image_name or not kernel_name: | 1382 | if not image_name or not kernel_name: |
| 1364 | lbl = "<b>Please select %s to launch in QEMU.</b>" % ("a kernel" if image_name else "an image") | 1383 | lbl = "<b>Please select %s to launch in QEMU.</b>" % ("a kernel" if image_name else "an image") |
| @@ -1397,6 +1416,46 @@ class Builder(gtk.Window): | |||
| 1397 | dialog.run() | 1416 | dialog.run() |
| 1398 | dialog.destroy() | 1417 | dialog.destroy() |
| 1399 | 1418 | ||
| 1419 | def run_custom_image(self, image_name, custom_sim_path): | ||
| 1420 | if not image_name or not custom_sim_path: | ||
| 1421 | if not image_name: | ||
| 1422 | lbl = "<b>Please select an image to launch in the custom simulator.</b>" | ||
| 1423 | else: | ||
| 1424 | lbl = "<b>Please select a custom simulator for launching the selected image.</b>" | ||
| 1425 | dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_INFO) | ||
| 1426 | button = dialog.add_button("Close", gtk.RESPONSE_OK) | ||
| 1427 | HobButton.style_button(button) | ||
| 1428 | dialog.run() | ||
| 1429 | dialog.destroy() | ||
| 1430 | return | ||
| 1431 | |||
| 1432 | image_path = os.path.join(self.parameters.image_addr, image_name) | ||
| 1433 | |||
| 1434 | source_env_path = os.path.join(self.parameters.core_base, "oe-init-build-env") | ||
| 1435 | tmp_path = self.parameters.tmpdir | ||
| 1436 | cmdline = bb.ui.crumbs.utils.which_terminal() | ||
| 1437 | if os.path.exists(image_path) and os.path.exists(custom_sim_path) \ | ||
| 1438 | and os.path.exists(source_env_path) and os.path.exists(tmp_path) \ | ||
| 1439 | and cmdline: | ||
| 1440 | cmdline += "\' bash -c \"export OE_TMPDIR=" + tmp_path + "; " | ||
| 1441 | cmdline += "source " + source_env_path + " " + os.getcwd() + "; " | ||
| 1442 | cmdline += custom_sim_path + " " + image_path + "\"\'" | ||
| 1443 | subprocess.Popen(shlex.split(cmdline)) | ||
| 1444 | else: | ||
| 1445 | lbl = "<b>Path error</b>" | ||
| 1446 | msg = "One of your paths is wrong," | ||
| 1447 | msg = msg + " please make sure the following paths exist:\n" | ||
| 1448 | msg = msg + "image path:" + image_path + "\n" | ||
| 1449 | msg = msg + "custom simulator path:" + custom_sim_path + "\n" | ||
| 1450 | msg = msg + "source environment path:" + source_env_path + "\n" | ||
| 1451 | msg = msg + "tmp path: " + tmp_path + "." | ||
| 1452 | msg = msg + "You may be missing either xterm or vte for terminal services." | ||
| 1453 | dialog = CrumbsMessageDialog(self, lbl, gtk.MESSAGE_ERROR, msg) | ||
| 1454 | button = dialog.add_button("Close", gtk.RESPONSE_OK) | ||
| 1455 | HobButton.style_button(button) | ||
| 1456 | dialog.run() | ||
| 1457 | dialog.destroy() | ||
| 1458 | |||
| 1400 | def show_packages(self): | 1459 | def show_packages(self): |
| 1401 | self.package_details_page.refresh_tables() | 1460 | self.package_details_page.refresh_tables() |
| 1402 | self.switch_page(self.PACKAGE_SELECTION) | 1461 | self.switch_page(self.PACKAGE_SELECTION) |
