diff --git a/pisi/atomicoperations.py b/pisi/atomicoperations.py index 65e3f49a..07978169 100644 --- a/pisi/atomicoperations.py +++ b/pisi/atomicoperations.py @@ -349,6 +349,7 @@ class Remove(AtomicOperation): def remove_db(self): ctx.installdb.remove(self.package_name) + ctx.filesdb.remove_files(ctx.installdb.files(self.package_name)) #FIXME: this looks like a mistake! packagedb.remove_package(self.package_name) diff --git a/pisi/files.py b/pisi/files.py index 808f57fd..db697e72 100644 --- a/pisi/files.py +++ b/pisi/files.py @@ -112,6 +112,10 @@ class FilesDB(shelve.LockedDBShelf): for x in files.list: self[str(x.path)] = (pkg_name, x) + def remove_files(self, files): + for x in files.list: + self.delete(str(x.path)) + def has_file(self, path): return self.has_key(str(path))