* Örneğin bir kdelibs silindiğinde revdep db'sindeki listesini silmemeli.
Bu liste, liste elemanlarının sonuncusu kaldırıldığında yani bu liste boşaldığında silinmeli. # Bug 3558
This commit is contained in:
+10
-3
@@ -127,9 +127,16 @@ class PackageDB(object):
|
|||||||
if self.dr.has_key(dep_name, repo, txn):
|
if self.dr.has_key(dep_name, repo, txn):
|
||||||
revdep = self.dr.get_item(dep_name, repo, txn)
|
revdep = self.dr.get_item(dep_name, repo, txn)
|
||||||
revdep = filter(lambda (n,d):n!=name, revdep)
|
revdep = filter(lambda (n,d):n!=name, revdep)
|
||||||
self.dr.add_item(dep_name, revdep, repo, txn)
|
if revdep:
|
||||||
if self.dr.has_key(name, repo, txn=txn):
|
self.dr.add_item(dep_name, revdep, repo, txn)
|
||||||
self.dr.remove_item(name, repo, txn=txn)
|
else:
|
||||||
|
# Bug 3558: removal of revdep list of a package from revdepdb
|
||||||
|
# should only be done by the list members (dep. packages), not
|
||||||
|
# the package itself. So if a package is removed, it is removed
|
||||||
|
# from packagedb but its revdepdb part may still exist, until
|
||||||
|
# all the list members are removed.
|
||||||
|
self.dr.remove_item(dep_name, repo, txn=txn)
|
||||||
|
|
||||||
ctx.componentdb.remove_package(package_info.partOf, package_info.name, repo, txn)
|
ctx.componentdb.remove_package(package_info.partOf, package_info.name, repo, txn)
|
||||||
for (lang, doc) in package_info.summary.iteritems():
|
for (lang, doc) in package_info.summary.iteritems():
|
||||||
if lang in ['en', 'tr']:
|
if lang in ['en', 'tr']:
|
||||||
|
|||||||
Reference in New Issue
Block a user