diff options
author | Joshua Lock <josh@linux.intel.com> | 2011-07-20 16:51:21 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-26 20:15:48 +0100 |
commit | b169dadb5fbf823a31140e28242c7d542b46f753 (patch) | |
tree | e7e64a0ef70631e7758c8e5cb2571a8843f502ad | |
parent | c884b52dd0b790d6e3686be4260a3cceff8846bd (diff) | |
download | poky-b169dadb5fbf823a31140e28242c7d542b46f753.tar.gz |
ui/crumbs/tasklistmodel: handle items added in by base image being removed
When building an image based on an existing image we need to correctly
handle removals from that images package set. Do so by testing if any of
the items brought in by the base image are removed and, if so, building
an image from scratch with all of the selected packages included.
Fixes [YOCTO #1232]
(Bitbake rev: 812ead4900714545850698d8ce29194f4ee8db0e)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/tasklistmodel.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/tasklistmodel.py b/bitbake/lib/bb/ui/crumbs/tasklistmodel.py index 36a56736db..e6af74f312 100644 --- a/bitbake/lib/bb/ui/crumbs/tasklistmodel.py +++ b/bitbake/lib/bb/ui/crumbs/tasklistmodel.py | |||
@@ -495,9 +495,23 @@ class TaskListModel(gtk.ListStore): | |||
495 | it = self.contents.iter_next(it) | 495 | it = self.contents.iter_next(it) |
496 | return userpkgs, allpkgs | 496 | return userpkgs, allpkgs |
497 | 497 | ||
498 | def image_contents_removed(self): | ||
499 | it = self.get_iter_first() | ||
500 | while it: | ||
501 | sel = self.get_value(it, self.COL_INC) | ||
502 | img = self.get_value(it, self.COL_IMG) | ||
503 | if img and not sel: | ||
504 | return True | ||
505 | it = self.iter_next(it) | ||
506 | return False | ||
507 | |||
498 | def get_build_rep(self): | 508 | def get_build_rep(self): |
499 | userpkgs, allpkgs = self.get_selected_packages() | 509 | userpkgs, allpkgs = self.get_selected_packages() |
500 | image = self.selected_image | 510 | # If base image contents have been removed start from an empty rootfs |
511 | if not self.selected_image or self.image_contents_removed(): | ||
512 | image = "empty" | ||
513 | else: | ||
514 | image = self.selected_image | ||
501 | 515 | ||
502 | return BuildRep(" ".join(userpkgs), " ".join(allpkgs), image) | 516 | return BuildRep(" ".join(userpkgs), " ".join(allpkgs), image) |
503 | 517 | ||