diff options
Diffstat (limited to 'bitbake/lib/bb/ui')
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/tasklistmodel.py | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/tasklistmodel.py b/bitbake/lib/bb/ui/crumbs/tasklistmodel.py index c0b0495d8c..1f00f6cfb2 100644 --- a/bitbake/lib/bb/ui/crumbs/tasklistmodel.py +++ b/bitbake/lib/bb/ui/crumbs/tasklistmodel.py | |||
@@ -226,32 +226,30 @@ class TaskListModel(gtk.ListStore): | |||
226 | lic = event_model["pn"][item]["license"] | 226 | lic = event_model["pn"][item]["license"] |
227 | group = event_model["pn"][item]["section"] | 227 | group = event_model["pn"][item]["section"] |
228 | filename = event_model["pn"][item]["filename"] | 228 | filename = event_model["pn"][item]["filename"] |
229 | depends = event_model["depends"].get(item, "") | ||
230 | rdepends = event_model["rdepends-pn"].get(item, "") | ||
231 | if rdepends: | ||
232 | for rdep in rdepends: | ||
233 | if event_model["packages"].get(rdep, ""): | ||
234 | pn = event_model["packages"][rdep].get("pn", "") | ||
235 | if pn: | ||
236 | depends.append(pn) | ||
237 | |||
238 | # uniquify the list of depends | ||
239 | depends = self.squish(depends) | ||
240 | # remove circular dependencies | ||
241 | if name in depends: | ||
242 | depends.remove(name) | ||
243 | deps = " ".join(depends) | ||
244 | |||
245 | if name.count('task-') > 0: | 229 | if name.count('task-') > 0: |
246 | atype = 'task' | 230 | atype = 'task' |
247 | elif name.count('-image-') > 0: | 231 | elif name.count('-image-') > 0: |
248 | atype = 'image' | 232 | atype = 'image' |
249 | 233 | ||
250 | self.set(self.append(), self.COL_NAME, name, self.COL_DESC, summary, | 234 | depends = event_model["depends"].get(item, []) |
251 | self.COL_LIC, lic, self.COL_GROUP, group, | 235 | rdepends = event_model["rdepends-pn"].get(item, []) |
252 | self.COL_DEPS, deps, self.COL_BINB, "", | 236 | if ("%s-dev" % item) in rdepends: |
253 | self.COL_TYPE, atype, self.COL_INC, False, | 237 | rdepends.remove("%s-dev" % item) |
254 | self.COL_IMG, False, self.COL_PATH, filename) | 238 | packages = {} |
239 | for pkg in event_model["packages"]: | ||
240 | if event_model["packages"][pkg]["pn"] == name: | ||
241 | deps = [] | ||
242 | deps.extend(depends) | ||
243 | deps.extend(event_model["rdepends-pkg"].get(pkg, [])) | ||
244 | deps.extend(rdepends) | ||
245 | packages[pkg] = deps | ||
246 | |||
247 | for p in packages: | ||
248 | self.set(self.append(), self.COL_NAME, p, self.COL_DESC, summary, | ||
249 | self.COL_LIC, lic, self.COL_GROUP, group, | ||
250 | self.COL_DEPS, " ".join(packages[p]), self.COL_BINB, "", | ||
251 | self.COL_TYPE, atype, self.COL_INC, False, | ||
252 | self.COL_IMG, False, self.COL_PATH, filename) | ||
255 | 253 | ||
256 | self.emit("tasklist-populated") | 254 | self.emit("tasklist-populated") |
257 | 255 | ||