diff options
| author | Cristiana Voicu <cristiana.voicu@intel.com> | 2013-07-29 09:55:06 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-08-06 13:02:24 +0100 |
| commit | 140744c4701bcac0dd61e11303d008f2ea34fc1b (patch) | |
| tree | 56d29d44308a0c357069b6e7957317a88111c273 /bitbake/lib/bb/ui | |
| parent | ee4fe5a229125d01cf8b697c759d0852f9a715a8 (diff) | |
| download | poky-140744c4701bcac0dd61e11303d008f2ea34fc1b.tar.gz | |
bitbake: hob/bitbake: create a template (a .bb file) from hob through bitbake
Modified generateNewImage function from cooker, in order to be used to
save a template in Hob.
Created a command to ensure that some dirs are created. The templates
(recipes) will be saved in {TOPDIR}/recipes/images folder.
Called these methods from Hob.
[YOCTO #4193]
(Bitbake rev: 96ffa00945c7eb09a0132fa47159aef3ef20fb3e)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui')
| -rwxr-xr-x | bitbake/lib/bb/ui/crumbs/builder.py | 10 | ||||
| -rw-r--r-- | bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py | 2 | ||||
| -rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 9 | ||||
| -rwxr-xr-x | bitbake/lib/bb/ui/crumbs/imagedetailspage.py | 2 |
4 files changed, 21 insertions, 2 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index 317a2fe16d..0a04c90bc6 100755 --- a/bitbake/lib/bb/ui/crumbs/builder.py +++ b/bitbake/lib/bb/ui/crumbs/builder.py | |||
| @@ -593,6 +593,16 @@ class Builder(gtk.Window): | |||
| 593 | toolchain_packages, | 593 | toolchain_packages, |
| 594 | self.configuration.default_task) | 594 | self.configuration.default_task) |
| 595 | 595 | ||
| 596 | def generate_new_image(self, image): | ||
| 597 | base_image = self.configuration.initial_selected_image | ||
| 598 | if base_image == self.recipe_model.__custom_image__: | ||
| 599 | base_image = None | ||
| 600 | packages = self.package_model.get_selected_packages() | ||
| 601 | self.handler.generate_new_image(image, base_image, packages) | ||
| 602 | |||
| 603 | def ensure_dir(self, directory): | ||
| 604 | self.handler.ensure_dir(directory) | ||
| 605 | |||
| 596 | def get_parameters_sync(self): | 606 | def get_parameters_sync(self): |
| 597 | return self.handler.get_parameters() | 607 | return self.handler.get_parameters() |
| 598 | 608 | ||
diff --git a/bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py b/bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py index 3fc389aaa1..b2fa3bd5a9 100644 --- a/bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py +++ b/bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py | |||
| @@ -117,7 +117,7 @@ class SaveImageDialog (CrumbsDialog): | |||
| 117 | text = self.name_entry.get_text() | 117 | text = self.name_entry.get_text() |
| 118 | new_text = text.replace("-","") | 118 | new_text = text.replace("-","") |
| 119 | if new_text.islower() and new_text.isalnum(): | 119 | if new_text.islower() and new_text.isalnum(): |
| 120 | print(text) | 120 | self.builder.generate_new_image(self.directory+text) |
| 121 | self.destroy() | 121 | self.destroy() |
| 122 | else: | 122 | else: |
| 123 | self.show_invalid_input_error_dialog() | 123 | self.show_invalid_input_error_dialog() |
diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index 294eb5dd1f..34cd3478ed 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py | |||
| @@ -176,7 +176,7 @@ class HobHandler(gobject.GObject): | |||
| 176 | hobImage = self.runCommand(["matchFile", "hob-image.bb"]) | 176 | hobImage = self.runCommand(["matchFile", "hob-image.bb"]) |
| 177 | if self.base_image != "Start with an empty image recipe": | 177 | if self.base_image != "Start with an empty image recipe": |
| 178 | baseImage = self.runCommand(["matchFile", self.base_image + ".bb"]) | 178 | baseImage = self.runCommand(["matchFile", self.base_image + ".bb"]) |
| 179 | version = self.runCommand(["generateNewImage", hobImage, baseImage, self.package_queue]) | 179 | version = self.runCommand(["generateNewImage", hobImage, baseImage, self.package_queue, True]) |
| 180 | targets[0] += version | 180 | targets[0] += version |
| 181 | self.recipe_model.set_custom_image_version(version) | 181 | self.recipe_model.set_custom_image_version(version) |
| 182 | 182 | ||
| @@ -426,6 +426,13 @@ class HobHandler(gobject.GObject): | |||
| 426 | self.commands_async.append(self.SUB_BUILD_IMAGE) | 426 | self.commands_async.append(self.SUB_BUILD_IMAGE) |
| 427 | self.run_next_command(self.GENERATE_IMAGE) | 427 | self.run_next_command(self.GENERATE_IMAGE) |
| 428 | 428 | ||
| 429 | def generate_new_image(self, image, base_image, package_queue): | ||
| 430 | base_image = self.runCommand(["matchFile", self.base_image + ".bb"]) | ||
| 431 | self.runCommand(["generateNewImage", image, base_image, package_queue, False]) | ||
| 432 | |||
| 433 | def ensure_dir(self, directory): | ||
| 434 | self.runCommand(["ensureDir", directory]) | ||
| 435 | |||
| 429 | def build_succeeded_async(self): | 436 | def build_succeeded_async(self): |
| 430 | self.building = False | 437 | self.building = False |
| 431 | 438 | ||
diff --git a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py index a02ab610c0..f55d43f30d 100755 --- a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py +++ b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py | |||
| @@ -624,6 +624,8 @@ class ImageDetailsPage (HobPage): | |||
| 624 | def save_button_clicked_cb(self, button): | 624 | def save_button_clicked_cb(self, button): |
| 625 | topdir = self.builder.get_topdir() | 625 | topdir = self.builder.get_topdir() |
| 626 | images_dir = topdir + "/recipes/images/" | 626 | images_dir = topdir + "/recipes/images/" |
| 627 | self.builder.ensure_dir(images_dir) | ||
| 628 | |||
| 627 | dialog = SaveImageDialog(images_dir, "Save image recipe", self.builder, | 629 | dialog = SaveImageDialog(images_dir, "Save image recipe", self.builder, |
| 628 | gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT) | 630 | gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT) |
| 629 | response = dialog.run() | 631 | response = dialog.run() |
