diff options
author | Marius Avram <marius.avram@intel.com> | 2014-03-18 14:17:06 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-24 10:13:58 +0000 |
commit | f34575809677dc52e1071a3ae3daebe92819cec0 (patch) | |
tree | ddf6699e992761cdd1699a141212df3e23c2e704 /lib/bb/ui/crumbs | |
parent | 25faef3a047f9c7564089463d7c96f6910b640cb (diff) | |
download | openembedded-core-contrib-f34575809677dc52e1071a3ae3daebe92819cec0.tar.gz |
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]
Signed-off-by: Marius Avram <marius.avram@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/ui/crumbs')
-rwxr-xr-x | lib/bb/ui/crumbs/builder.py | 7 | ||||
-rw-r--r-- | lib/bb/ui/crumbs/hobeventhandler.py | 22 | ||||
-rw-r--r-- | lib/bb/ui/crumbs/hoblistmodel.py | 2 | ||||
-rw-r--r-- | lib/bb/ui/crumbs/imageconfigurationpage.py | 3 | ||||
-rwxr-xr-x | lib/bb/ui/crumbs/packageselectionpage.py | 2 |
5 files changed, 22 insertions, 14 deletions
diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py index 1c8469b27e..9adb1f7ba3 100755 --- a/lib/bb/ui/crumbs/builder.py +++ b/lib/bb/ui/crumbs/builder.py @@ -447,7 +447,6 @@ class Builder(gtk.Window): self.handler.connect("package-populated", self.handler_package_populated_cb) self.handler.append_to_bbfiles("${TOPDIR}/recipes/images/custom/*.bb") - self.handler.generate_hob_base_image() self.initiate_new_build_async() signal.signal(signal.SIGINT, self.event_handle_SIGINT) @@ -738,6 +737,10 @@ class Builder(gtk.Window): self.configuration.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): self.configuration.curr_mach = "" self.configuration.clear_selection() @@ -962,7 +965,7 @@ class Builder(gtk.Window): if selected_image == self.recipe_model.__custom_image__: if self.configuration.initial_selected_image != selected_image: 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: linkname = selected_image + '-' + self.configuration.curr_mach image_extension = self.get_image_extension() diff --git a/lib/bb/ui/crumbs/hobeventhandler.py b/lib/bb/ui/crumbs/hobeventhandler.py index 46f36d8adc..73d5f98c39 100644 --- a/lib/bb/ui/crumbs/hobeventhandler.py +++ b/lib/bb/ui/crumbs/hobeventhandler.py @@ -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): diff --git a/lib/bb/ui/crumbs/hoblistmodel.py b/lib/bb/ui/crumbs/hoblistmodel.py index cffe6e14b4..02d63322d7 100644 --- a/lib/bb/ui/crumbs/hoblistmodel.py +++ b/lib/bb/ui/crumbs/hoblistmodel.py @@ -704,7 +704,7 @@ class RecipeListModel(gtk.ListStore): if ('packagegroup.bbclass' in " ".join(inherits)): atype = 'packagegroup' elif ('image.bbclass' in " ".join(inherits)): - if name != "hob-image": + if "edited" not in name: atype = 'image' install = event_model["rdepends-pkg"].get(item, []) + event_model["rrecs-pkg"].get(item, []) elif ('meta-' in name): diff --git a/lib/bb/ui/crumbs/imageconfigurationpage.py b/lib/bb/ui/crumbs/imageconfigurationpage.py index c4fd3f746c..2766bea8c7 100644 --- a/lib/bb/ui/crumbs/imageconfigurationpage.py +++ b/lib/bb/ui/crumbs/imageconfigurationpage.py @@ -459,6 +459,7 @@ class ImageConfigurationPage (HobPage): for i in self.builder.parameters.image_black_pattern.split(): black_pattern.append(re.compile(i)) black_pattern.append(re.compile("hob-image")) + black_pattern.append(re.compile("edited(-[0-9]*)*.bb$")) it = image_model.get_iter_first() self._image_combo_disconnect_signal() @@ -545,7 +546,7 @@ class ImageConfigurationPage (HobPage): self.builder.just_bake() 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() def my_images_button_clicked_cb(self, button): diff --git a/lib/bb/ui/crumbs/packageselectionpage.py b/lib/bb/ui/crumbs/packageselectionpage.py index 780f026470..7c62b36e6b 100755 --- a/lib/bb/ui/crumbs/packageselectionpage.py +++ b/lib/bb/ui/crumbs/packageselectionpage.py @@ -293,7 +293,7 @@ class PackageSelectionPage (HobPage): self.refresh_selection() if not self.builder.customized: 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.rcppkglist_populated() |