bitbake: hob: output filenames based on initial recipe name

If a recipe for an image was edited from the hob interface the name
of the files outputed in the <build_dir>/tmp/deploy/images/${MACHINE}/ and the
temporary recipes from <build_dir>/recipes/images/ contained only the
generic name "hob-image". From now on both the temporary recipes and
the output from the deploy/ directory will contain the name of the base
recipe appended by the "-edited" suffix, in the case when a base image recipe was
edited. The base recipe can be a standard recipe (e.g core-image-minimal) or
a custom created and saved by the user.

For example, if core-image-minimal is edited the deploy/ directory will contain
core-image-minimal-edited-20140318-140428-qemux86.ext3 and the recipes/images/
directory will contain the recipe core-image-minimal-edited-20140318-140428.bb.

[YOCTO #5002]

(Bitbake rev: f34575809677dc52e1071a3ae3daebe92819cec0)

Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Marius Avram
2014-03-18 14:17:06 +02:00
committed by Richard Purdie
parent 7dd4bf6310
commit 299fbbf31a
5 changed files with 22 additions and 14 deletions

View File

@@ -165,14 +165,17 @@ class HobHandler(gobject.GObject):
self.clear_busy()
self.building = True
target = self.image
if target == "hob-image":
if self.base_image:
# Request the build of a custom image
self.generate_hob_base_image(target)
self.set_var_in_file("LINGUAS_INSTALL", "", "local.conf")
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, ""])
target += version
self.recipe_model.set_custom_image_version(version)
hobImage = self.runCommand(["matchFile", target + ".bb"])
baseImage = self.runCommand(["matchFile", self.base_image + ".bb"])
version = self.runCommand(["generateNewImage", hobImage, baseImage, self.package_queue, True, ""])
target += version
self.recipe_model.set_custom_image_version(version)
targets = [target]
if self.toolchain_packages:
self.set_var_in_file("TOOLCHAIN_TARGET_TASK", " ".join(self.toolchain_packages), "local.conf")
@@ -440,10 +443,11 @@ class HobHandler(gobject.GObject):
base_image = self.runCommand(["matchFile", self.base_image + ".bb"])
self.runCommand(["generateNewImage", image, base_image, package_queue, False, description])
def generate_hob_base_image(self):
def generate_hob_base_image(self, hob_image):
image_dir = self.get_topdir() + "/recipes/images/"
recipe_name = hob_image + ".bb"
self.ensure_dir(image_dir)
self.generate_new_image(image_dir+"hob-image.bb", None, [], "")
self.generate_new_image(image_dir + recipe_name, None, [], "")
self.append_to_bbfiles(image_dir + "*.bb")
def ensure_dir(self, directory):