mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 12:49:46 +00:00
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:
committed by
Richard Purdie
parent
7dd4bf6310
commit
299fbbf31a
@@ -447,7 +447,6 @@ class Builder(gtk.Window):
|
|||||||
self.handler.connect("package-populated", self.handler_package_populated_cb)
|
self.handler.connect("package-populated", self.handler_package_populated_cb)
|
||||||
|
|
||||||
self.handler.append_to_bbfiles("${TOPDIR}/recipes/images/custom/*.bb")
|
self.handler.append_to_bbfiles("${TOPDIR}/recipes/images/custom/*.bb")
|
||||||
self.handler.generate_hob_base_image()
|
|
||||||
self.initiate_new_build_async()
|
self.initiate_new_build_async()
|
||||||
|
|
||||||
signal.signal(signal.SIGINT, self.event_handle_SIGINT)
|
signal.signal(signal.SIGINT, self.event_handle_SIGINT)
|
||||||
@@ -738,6 +737,10 @@ class Builder(gtk.Window):
|
|||||||
self.configuration.update(params)
|
self.configuration.update(params)
|
||||||
self.parameters.update(params)
|
self.parameters.update(params)
|
||||||
|
|
||||||
|
def set_base_image(self):
|
||||||
|
self.configuration.initial_selected_image = self.configuration.selected_image
|
||||||
|
self.hob_image = self.configuration.selected_image + "-edited"
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
self.configuration.curr_mach = ""
|
self.configuration.curr_mach = ""
|
||||||
self.configuration.clear_selection()
|
self.configuration.clear_selection()
|
||||||
@@ -962,7 +965,7 @@ class Builder(gtk.Window):
|
|||||||
if selected_image == self.recipe_model.__custom_image__:
|
if selected_image == self.recipe_model.__custom_image__:
|
||||||
if self.configuration.initial_selected_image != selected_image:
|
if self.configuration.initial_selected_image != selected_image:
|
||||||
version = self.recipe_model.get_custom_image_version()
|
version = self.recipe_model.get_custom_image_version()
|
||||||
linkname = 'hob-image' + version+ "-" + self.configuration.curr_mach
|
linkname = self.hob_image + version + "-" + self.configuration.curr_mach
|
||||||
else:
|
else:
|
||||||
linkname = selected_image + '-' + self.configuration.curr_mach
|
linkname = selected_image + '-' + self.configuration.curr_mach
|
||||||
image_extension = self.get_image_extension()
|
image_extension = self.get_image_extension()
|
||||||
|
|||||||
@@ -165,14 +165,17 @@ class HobHandler(gobject.GObject):
|
|||||||
self.clear_busy()
|
self.clear_busy()
|
||||||
self.building = True
|
self.building = True
|
||||||
target = self.image
|
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")
|
self.set_var_in_file("LINGUAS_INSTALL", "", "local.conf")
|
||||||
hobImage = self.runCommand(["matchFile", "hob-image.bb"])
|
hobImage = self.runCommand(["matchFile", target + ".bb"])
|
||||||
if self.base_image != "Start with an empty image recipe":
|
baseImage = self.runCommand(["matchFile", self.base_image + ".bb"])
|
||||||
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, ""])
|
target += version
|
||||||
target += version
|
self.recipe_model.set_custom_image_version(version)
|
||||||
self.recipe_model.set_custom_image_version(version)
|
|
||||||
targets = [target]
|
targets = [target]
|
||||||
if self.toolchain_packages:
|
if self.toolchain_packages:
|
||||||
self.set_var_in_file("TOOLCHAIN_TARGET_TASK", " ".join(self.toolchain_packages), "local.conf")
|
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"])
|
base_image = self.runCommand(["matchFile", self.base_image + ".bb"])
|
||||||
self.runCommand(["generateNewImage", image, base_image, package_queue, False, description])
|
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/"
|
image_dir = self.get_topdir() + "/recipes/images/"
|
||||||
|
recipe_name = hob_image + ".bb"
|
||||||
self.ensure_dir(image_dir)
|
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")
|
self.append_to_bbfiles(image_dir + "*.bb")
|
||||||
|
|
||||||
def ensure_dir(self, directory):
|
def ensure_dir(self, directory):
|
||||||
|
|||||||
@@ -704,7 +704,7 @@ class RecipeListModel(gtk.ListStore):
|
|||||||
if ('packagegroup.bbclass' in " ".join(inherits)):
|
if ('packagegroup.bbclass' in " ".join(inherits)):
|
||||||
atype = 'packagegroup'
|
atype = 'packagegroup'
|
||||||
elif ('image.bbclass' in " ".join(inherits)):
|
elif ('image.bbclass' in " ".join(inherits)):
|
||||||
if name != "hob-image":
|
if "edited" not in name:
|
||||||
atype = 'image'
|
atype = 'image'
|
||||||
install = event_model["rdepends-pkg"].get(item, []) + event_model["rrecs-pkg"].get(item, [])
|
install = event_model["rdepends-pkg"].get(item, []) + event_model["rrecs-pkg"].get(item, [])
|
||||||
elif ('meta-' in name):
|
elif ('meta-' in name):
|
||||||
|
|||||||
@@ -459,6 +459,7 @@ class ImageConfigurationPage (HobPage):
|
|||||||
for i in self.builder.parameters.image_black_pattern.split():
|
for i in self.builder.parameters.image_black_pattern.split():
|
||||||
black_pattern.append(re.compile(i))
|
black_pattern.append(re.compile(i))
|
||||||
black_pattern.append(re.compile("hob-image"))
|
black_pattern.append(re.compile("hob-image"))
|
||||||
|
black_pattern.append(re.compile("edited(-[0-9]*)*.bb$"))
|
||||||
|
|
||||||
it = image_model.get_iter_first()
|
it = image_model.get_iter_first()
|
||||||
self._image_combo_disconnect_signal()
|
self._image_combo_disconnect_signal()
|
||||||
@@ -545,7 +546,7 @@ class ImageConfigurationPage (HobPage):
|
|||||||
self.builder.just_bake()
|
self.builder.just_bake()
|
||||||
|
|
||||||
def edit_image_button_clicked_cb(self, button):
|
def edit_image_button_clicked_cb(self, button):
|
||||||
self.builder.configuration.initial_selected_image = self.builder.configuration.selected_image
|
self.builder.set_base_image()
|
||||||
self.builder.show_recipes()
|
self.builder.show_recipes()
|
||||||
|
|
||||||
def my_images_button_clicked_cb(self, button):
|
def my_images_button_clicked_cb(self, button):
|
||||||
|
|||||||
@@ -293,7 +293,7 @@ class PackageSelectionPage (HobPage):
|
|||||||
self.refresh_selection()
|
self.refresh_selection()
|
||||||
if not self.builder.customized:
|
if not self.builder.customized:
|
||||||
self.builder.customized = True
|
self.builder.customized = True
|
||||||
self.builder.configuration.initial_selected_image = self.builder.configuration.selected_image
|
self.builder.set_base_image()
|
||||||
self.builder.configuration.selected_image = self.recipe_model.__custom_image__
|
self.builder.configuration.selected_image = self.recipe_model.__custom_image__
|
||||||
self.builder.rcppkglist_populated()
|
self.builder.rcppkglist_populated()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user