summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2011-07-20 16:44:06 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-21 22:08:11 +0100
commite2d2377257c974d954d68d37875eee84c13dead4 (patch)
tree15daf7a9cc993c595e3f6f4f128fa89a3dacddc2 /bitbake/lib
parent2bdd51854fde31c9f911b705a2053f684d25ebe3 (diff)
downloadpoky-e2d2377257c974d954d68d37875eee84c13dead4.tar.gz
ui/crumbs/tasklistmodel: ignore tasks and images when marking dependencies
When calculating what dependencies are affected by the removal of an item we should ignore images and tasks as they are not constructs which make sense in the GUI. E.g: if we don't ignore tasks and remove opkg from an image based on core-image-minimal the fact that opkg was brought in by task-core results in task-core and all of the packages it brought in being removed and, eventually, an empty image. (Bitbake rev: 205b52bfc7f28af0c50fef1f741fae6af16fb0dc) Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/bb/ui/crumbs/tasklistmodel.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/tasklistmodel.py b/bitbake/lib/bb/ui/crumbs/tasklistmodel.py
index e28dbe713a..112fddebfd 100644
--- a/bitbake/lib/bb/ui/crumbs/tasklistmodel.py
+++ b/bitbake/lib/bb/ui/crumbs/tasklistmodel.py
@@ -306,9 +306,16 @@ class TaskListModel(gtk.ListStore):
306 # Remove all dependent packages, update binb 306 # Remove all dependent packages, update binb
307 while it: 307 while it:
308 path = self.get_path(it) 308 path = self.get_path(it)
309 it = self.iter_next(it)
310
309 inc = self[path][self.COL_INC] 311 inc = self[path][self.COL_INC]
310 deps = self[path][self.COL_DEPS] 312 deps = self[path][self.COL_DEPS]
311 binb = self[path][self.COL_BINB] 313 binb = self[path][self.COL_BINB]
314 itype = self[path][self.COL_TYPE]
315
316 # We ignore anything that isn't a package
317 if not itype == "package":
318 continue
312 319
313 # FIXME: need to ensure partial name matching doesn't happen 320 # FIXME: need to ensure partial name matching doesn't happen
314 if inc and deps.count(name): 321 if inc and deps.count(name):
@@ -318,8 +325,6 @@ class TaskListModel(gtk.ListStore):
318 bib = self.find_alt_dependency(name) 325 bib = self.find_alt_dependency(name)
319 self[path][self.COL_BINB] = bib 326 self[path][self.COL_BINB] = bib
320 327
321 it = self.iter_next(it)
322
323 """ 328 """
324 Remove items from contents if the have an empty COL_BINB (brought in by) 329 Remove items from contents if the have an empty COL_BINB (brought in by)
325 caused by all packages they are a dependency of being removed. 330 caused by all packages they are a dependency of being removed.
@@ -488,10 +493,18 @@ class TaskListModel(gtk.ListStore):
488 it = self.contents.get_iter_first() 493 it = self.contents.get_iter_first()
489 494
490 while it: 495 while it:
491 if self.contents.get_value(it, self.COL_DEPS).count(pn) != 0: 496 name = self.contents.get_value(it, self.COL_NAME)
492 revdeps.append(self.contents.get_value(it, self.COL_NAME)) 497 itype = self.contents.get_value(it, self.COL_TYPE)
498 deps = self.contents.get_value(it, self.COL_DEPS)
499
493 it = self.contents.iter_next(it) 500 it = self.contents.iter_next(it)
494 501
502 if not itype == 'package':
503 continue
504
505 if deps.count(pn) != 0:
506 revdeps.append(name)
507
495 if pn in revdeps: 508 if pn in revdeps:
496 revdeps.remove(pn) 509 revdeps.remove(pn)
497 return revdeps 510 return revdeps