aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorJason Stubbs <jstubbs@gentoo.org>2005-05-04 13:27:57 +0000
committerJason Stubbs <jstubbs@gentoo.org>2005-05-04 13:27:57 +0000
commitf7496d9b21fb6fd7b01e0dbcdb9ebeb2a2ba4f01 (patch)
treed3e00a9aa0f891addd827b7dc3c9ac6b475e4ab2 /bin
parentAdded remove_preferentials() method to the DependSpec class. Simplified (diff)
downloadportage-cvs-f7496d9b21fb6fd7b01e0dbcdb9ebeb2a2ba4f01.tar.gz
portage-cvs-f7496d9b21fb6fd7b01e0dbcdb9ebeb2a2ba4f01.tar.bz2
portage-cvs-f7496d9b21fb6fd7b01e0dbcdb9ebeb2a2ba4f01.zip
pym/portage_syntax.py pym/portage_dep.py: Filled out most of TargetGraph.
Still need to complete support for OR deps. Added a bit some more support functions to Atom and DependSpec. bin/test_target_graph.py: Just a script to help test and show the usage of TargetGraph.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/test_target_graph.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/bin/test_target_graph.py b/bin/test_target_graph.py
new file mode 100755
index 0000000..aafe533
--- /dev/null
+++ b/bin/test_target_graph.py
@@ -0,0 +1,42 @@
+#!/usr/bin/python
+
+import portage
+from portage_dep import *
+from portage_syntax import *
+
+vdb = portage.db["/"]["vartree"].dbapi
+
+preferred = []
+for cp in vdb.cp_all():
+ preferred.append(Atom(cp))
+
+preferred = prepare_prefdict(preferred)
+
+tgraph = TargetGraph()
+
+for cp in vdb.cp_all():
+ for cpv in vdb.match(cp):
+ aux = vdb.aux_get(cpv, ["SLOT","USE","RDEPEND","PDEPEND"])
+ slot = aux[0]
+ use = aux[1].split()
+ rdeps = DependSpec(aux[2] + " " + aux[3], Atom)
+ rdeps.resolve_conditions(use)
+ transform_dependspec(rdeps, preferred)
+ y = str(rdeps)
+ pkg = GluePkg(cpv, "installed", slot, use, DependSpec(), rdeps)
+ tgraph.add_package(pkg)
+
+for x in tgraph.unmatched_atoms.keys():
+ if portage.settings.virtuals.has_key(x):
+ cpv = x+"-1.0"
+ slot = "0"
+ use = []
+ rdeps = DependSpec("|| ( "+" ".join(portage.settings.virtuals[x])+" )", Atom)
+ pkg = GluePkg(cpv, "virtual", slot, use, DependSpec(), rdeps)
+ tgraph.add_package(pkg)
+
+for x in tgraph.pkgrec:
+ if tgraph.pkgrec[x][1]:
+ print x, tgraph.pkgrec[x]
+
+print tgraph.unmatched_atoms