From bac16a5205ed4d12a0a94b11605ff1872448d5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Wed, 12 Apr 2006 17:24:13 +0000 Subject: [PATCH] * fix: remove must look at installed db not the remote repository! * fix: db code, make get_rev_deps and has_key work with repo args... --- pisi/itembyrepodb.py | 3 ++- pisi/operations.py | 4 ++-- pisi/packagedb.py | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pisi/itembyrepodb.py b/pisi/itembyrepodb.py index 73313e8e..d8fb056a 100644 --- a/pisi/itembyrepodb.py +++ b/pisi/itembyrepodb.py @@ -113,7 +113,8 @@ class ItemByRepoDB(object): if not repo: return haskey else: - return haskey and self.d.get(name, txn).has_key(repo) + repostr = self.repo_str(repo) + return haskey and self.d.get(name, txn).has_key(repostr) def get_item_repo(self, name, repo = None, txn = None): name = str(name) diff --git a/pisi/operations.py b/pisi/operations.py index b9e54860..ddd2ae6e 100644 --- a/pisi/operations.py +++ b/pisi/operations.py @@ -493,8 +493,8 @@ def plan_remove(A): while len(B) > 0: Bp = set() for x in B: - pkg = ctx.packagedb.get_package(x) - rev_deps = ctx.packagedb.get_rev_deps(x) + pkg = ctx.packagedb.get_package(x, pisi.itembyrepodb.installed) + rev_deps = ctx.packagedb.get_rev_deps(x, pisi.itembyrepodb.installed) for (rev_dep, depinfo) in rev_deps: # we don't deal with uninstalled rev deps # and unsatisfied dependencies (this is important, too) diff --git a/pisi/packagedb.py b/pisi/packagedb.py index fc0272b5..30cb52c7 100644 --- a/pisi/packagedb.py +++ b/pisi/packagedb.py @@ -73,9 +73,9 @@ class PackageDB(object): def which_repo(self, name, txn = None): return self.d.which_repo(name, txn=txn) - def get_rev_deps(self, name): - if self.dr.has_key(name): - return self.dr.get_item(name) + def get_rev_deps(self, name, repo = None, txn = None): + if self.dr.has_key(name, repo, txn=txn): + return self.dr.get_item(name, repo, txn=txn) else: return []