bitbake: hob/bitbake: save the description of a custom image

When an new image is saved, the dialog for this action has
a field for the description. Changed how an image is saved, by
appending the DESCRIPTION variable at the end of the .bb file.

[YOCTO #4193]
(Bitbake rev: 5629007f2b984005e3a8ac5d9b71422cbc2f1409)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Cristiana Voicu 2013-07-29 10:02:24 +00:00 committed by Richard Purdie
parent 140744c470
commit 564c83be5e
5 changed files with 14 additions and 8 deletions

View File

@ -215,8 +215,9 @@ class CommandsSync:
base_image = params[1]
package_queue = params[2]
timestamp = params[3]
description = params[4]
return command.cooker.generateNewImage(image, base_image,
package_queue, timestamp)
package_queue, timestamp, description)
def ensureDir(self, command, params):
directory = params[0]

View File

@ -1100,7 +1100,7 @@ class BBCooker:
self.configuration.server_register_idlecallback(buildTargetsIdle, rq)
def generateNewImage(self, image, base_image, package_queue, timestamp):
def generateNewImage(self, image, base_image, package_queue, timestamp, description):
'''
Create a new image with a "require"/"inherit" base_image statement
'''
@ -1125,6 +1125,9 @@ class BBCooker:
package_install += "\"\n"
imagefile.write(package_install)
description_var = "DESCRIPTION = \"" + description + "\"\n"
imagefile.write(description_var)
self.state = state.initial
if timestamp:
return timestr

View File

@ -593,12 +593,12 @@ class Builder(gtk.Window):
toolchain_packages,
self.configuration.default_task)
def generate_new_image(self, image):
def generate_new_image(self, image, description):
base_image = self.configuration.initial_selected_image
if base_image == self.recipe_model.__custom_image__:
base_image = None
packages = self.package_model.get_selected_packages()
self.handler.generate_new_image(image, base_image, packages)
self.handler.generate_new_image(image, base_image, packages, description)
def ensure_dir(self, directory):
self.handler.ensure_dir(directory)

View File

@ -116,8 +116,10 @@ class SaveImageDialog (CrumbsDialog):
def save_button_cb(self, button):
text = self.name_entry.get_text()
new_text = text.replace("-","")
description_buffer = self.description_entry.get_buffer()
description = description_buffer.get_text(description_buffer.get_start_iter(),description_buffer.get_end_iter())
if new_text.islower() and new_text.isalnum():
self.builder.generate_new_image(self.directory+text)
self.builder.generate_new_image(self.directory+text, description)
self.destroy()
else:
self.show_invalid_input_error_dialog()

View File

@ -176,7 +176,7 @@ class HobHandler(gobject.GObject):
hobImage = self.runCommand(["matchFile", "hob-image.bb"])
if self.base_image != "Start with an empty image recipe":
baseImage = self.runCommand(["matchFile", self.base_image + ".bb"])
version = self.runCommand(["generateNewImage", hobImage, baseImage, self.package_queue, True])
version = self.runCommand(["generateNewImage", hobImage, baseImage, self.package_queue, True, ""])
targets[0] += version
self.recipe_model.set_custom_image_version(version)
@ -426,9 +426,9 @@ class HobHandler(gobject.GObject):
self.commands_async.append(self.SUB_BUILD_IMAGE)
self.run_next_command(self.GENERATE_IMAGE)
def generate_new_image(self, image, base_image, package_queue):
def generate_new_image(self, image, base_image, package_queue, description):
base_image = self.runCommand(["matchFile", self.base_image + ".bb"])
self.runCommand(["generateNewImage", image, base_image, package_queue, False])
self.runCommand(["generateNewImage", image, base_image, package_queue, False, description])
def ensure_dir(self, directory):
self.runCommand(["ensureDir", directory])