summaryrefslogtreecommitdiff
path: root/doc/examples/dependant-pkgs.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/examples/dependant-pkgs.py')
-rw-r--r--doc/examples/dependant-pkgs.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/doc/examples/dependant-pkgs.py b/doc/examples/dependant-pkgs.py
new file mode 100644
index 00000000..656e38bf
--- /dev/null
+++ b/doc/examples/dependant-pkgs.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+import apt
+import sys
+
+pkgs = set()
+cache = apt.Cache()
+for pkg in cache:
+ candver = cache._depcache.GetCandidateVer(pkg._pkg)
+ if candver == None:
+ continue
+ dependslist = candver.DependsList
+ for dep in dependslist.keys():
+ # get the list of each dependency object
+ for depVerList in dependslist[dep]:
+ for z in depVerList:
+ # get all TargetVersions of
+ # the dependency object
+ for tpkg in z.AllTargets():
+ if sys.argv[1] == tpkg.ParentPkg.Name:
+ pkgs.add(pkg.name)
+
+main = []
+universe = []
+for pkg in pkgs:
+ if "universe" in cache[pkg].section:
+ universe.append(cache[pkg].sourcePackageName)
+ else:
+ main.append(cache[pkg].sourcePackageName)
+
+print "main:"
+print "\n".join(main)
+print
+
+print "universe:"
+print "\n".join(universe)