aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarius Avram <marius.avram@intel.com>2014-03-18 14:17:06 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-24 10:13:58 +0000
commitf34575809677dc52e1071a3ae3daebe92819cec0 (patch)
treeddf6699e992761cdd1699a141212df3e23c2e704 /lib
parent25faef3a047f9c7564089463d7c96f6910b640cb (diff)
downloadbitbake-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')
-rwxr-xr-xlib/bb/ui/crumbs/builder.py7
-rw-r--r--lib/bb/ui/crumbs/hobeventhandler.py22
-rw-r--r--lib/bb/ui/crumbs/hoblistmodel.py2
-rw-r--r--lib/bb/ui/crumbs/imageconfigurationpage.py3
-rwxr-xr-xlib/bb/ui/crumbs/packageselectionpage.py2
5 files changed, 22 insertions, 14 deletions
diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
index 1c8469b27..9adb1f7ba 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 46f36d8ad..73d5f98c3 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 cffe6e14b..02d63322d 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 c4fd3f746..2766bea8c 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 780f02647..7c62b36e6 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()