summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs
diff options
context:
space:
mode:
authorCristiana Voicu <cristiana.voicu@intel.com>2013-07-29 09:55:06 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-06 13:02:24 +0100
commit140744c4701bcac0dd61e11303d008f2ea34fc1b (patch)
tree56d29d44308a0c357069b6e7957317a88111c273 /bitbake/lib/bb/ui/crumbs
parentee4fe5a229125d01cf8b697c759d0852f9a715a8 (diff)
downloadpoky-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/crumbs')
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/builder.py10
-rw-r--r--bitbake/lib/bb/ui/crumbs/hig/saveimagedialog.py2
-rw-r--r--bitbake/lib/bb/ui/crumbs/hobeventhandler.py9
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/imagedetailspage.py2
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()