diff --git a/pisi/dependency.py b/pisi/dependency.py index f4f0dfca..0cf2a810 100644 --- a/pisi/dependency.py +++ b/pisi/dependency.py @@ -38,15 +38,13 @@ class Dependency(pisi.relation.Relation): s += _(" release ") + self.release return s -def dict_satisfies_dep(dict, depinfo): - """determine if a package in a dictionary satisfies given dependency spec""" - pkg_name = depinfo.package - if not dict.has_key(pkg_name): - return False - else: - pkg = dict[pkg_name] - (version, release) = (pkg.version, pkg.release) - return depinfo.satisfies_relation(version, release) + def satisfied_by_dict_repo(dict_repo): + if not dict_repo.has_key(self.package): + return False + else: + pkg = dict_repo[self.package] + (version, release) = (pkg.version, pkg.release) + return self.satisfies_relation(version, release) def installed_satisfies_dep(depinfo): """determine if a package in *repository* satisfies given diff --git a/pisi/operations/install.py b/pisi/operations/install.py index 8ddd4f21..665fa24d 100644 --- a/pisi/operations/install.py +++ b/pisi/operations/install.py @@ -130,7 +130,7 @@ def install_pkg_files(package_URIs, reinstall = False): # is dependency satisfied among available packages # or packages to be installed? return dependency.installed_satisfies_dep(dep) \ - or dependency.dict_satisfies_dep(d_t, dep) + or dep.satisfied_by_dict_repo(d_t) # for this case, we have to determine the dependencies # that aren't already satisfied and try to install them @@ -186,7 +186,7 @@ in the respective order to satisfy extra dependencies: for x in B: pkg = packagedb.get_package(x) for dep in pkg.runtimeDependencies(): - if dependency.dict_satisfies_dep(d_t, dep): + if dep.satisfied_by_dict_repo(d_t): if not dep.package in G_f.vertices(): Bp.add(str(dep.package)) G_f.add_dep(x, dep)