diff --git a/pisi/pgraph.py b/pisi/pgraph.py index b3c942f3..0bef13e5 100644 --- a/pisi/pgraph.py +++ b/pisi/pgraph.py @@ -19,7 +19,7 @@ class PGraph(digraph): if not pkg in self.vertices(): pkg2 = packagedb.get_package(depinfo.package) - self.add_edge(pkg, depinfo.package, ('d', depinfo), + self.add_edge(str(pkg), str(depinfo.package), ('d', depinfo), (pkg1.version, pkg1.release), (pkg2.version, pkg2.release) ) @@ -31,7 +31,7 @@ class PGraph(digraph): if not pkg in self.vertices(): pkg2 = packagedb.get_package(depinfo.package) - self.add_biedge(pkg, conflinfo.package, ('c', conflinfo) + self.add_biedge(str(pkg), str(conflinfo.package), ('c', conflinfo) (pkg1.version, pkg1.release), (pkg2.version, pkg2.release) ) diff --git a/pisi/toplevel.py b/pisi/toplevel.py index fc434f6e..343bbee7 100644 --- a/pisi/toplevel.py +++ b/pisi/toplevel.py @@ -58,6 +58,7 @@ def install_pkg_names(A): # find the "install closure" graph of G_f by package # set A using packagedb + print A B = A state = {} while len(B) > 0: @@ -73,7 +74,9 @@ def install_pkg_names(A): G_f.add_dep(x, dep) B = Bp G_f.write_graphviz(sys.stdout) - + l = G_f.topological_sort() + l.reverse() + print l def remove(packages): #TODO: this for loop is just a placeholder