diff options
author | 2005-05-04 13:27:57 +0000 | |
---|---|---|
committer | 2005-05-04 13:27:57 +0000 | |
commit | f7496d9b21fb6fd7b01e0dbcdb9ebeb2a2ba4f01 (patch) | |
tree | d3e00a9aa0f891addd827b7dc3c9ac6b475e4ab2 /bin | |
parent | Added remove_preferentials() method to the DependSpec class. Simplified (diff) | |
download | portage-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-x | bin/test_target_graph.py | 42 |
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 |