From a16ab5a1fe4951b038ea1b378af4a4ded107c414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= Date: Thu, 13 May 2010 11:23:06 +0000 Subject: [PATCH] installdb: Cleanup reverse dependency info when adding/removing a package --- pisi/db/installdb.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pisi/db/installdb.py b/pisi/db/installdb.py index 69f4f62c..02b0f7d0 100644 --- a/pisi/db/installdb.py +++ b/pisi/db/installdb.py @@ -257,12 +257,23 @@ class InstallDB(lazydb.LazyDB): self.__mark_package(ctx.const.needs_reboot, package) def add_package(self, pkginfo): + # Cleanup old revdep info + for revdep_info in self.rev_deps_db.values(): + if pkginfo.name in revdep_info: + del revdep_info[pkginfo.name] + self.installed_db[pkginfo.name] = "%s-%s" % (pkginfo.version, pkginfo.release) self.__add_to_revdeps(pkginfo.name, self.rev_deps_db) def remove_package(self, package_name): if self.installed_db.has_key(package_name): del self.installed_db[package_name] + + # Cleanup revdep info + for revdep_info in self.rev_deps_db.values(): + if package_name in revdep_info: + del revdep_info[package_name] + self.clear_pending(package_name) def list_pending(self):