[yum-commits] 2 commits - yum/depsolve.py

zpavlas at osuosl.org zpavlas at osuosl.org
Thu Apr 4 15:48:52 UTC 2013


 yum/depsolve.py |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

New commits:
commit fe5cedf2ce54407b4f11a2505aa38c53db6c2857
Author: Zdenek Pavlas <zpavlas at redhat.com>
Date:   Thu Apr 4 10:13:16 2013 +0200

    resolveDeps: Keep installedFileRequires in sync. BZ 920758

diff --git a/yum/depsolve.py b/yum/depsolve.py
index 7a494e5..60047a9 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -903,6 +903,7 @@ class Depsolve(object):
                 if True: # Always have to check obsoletes...
                     if self._checkObsoletes():
                         CheckDeps = True
+                        CheckRemoves = True
                         self._last_req = None
 
                 if CheckDeps:
@@ -1318,6 +1319,8 @@ class Depsolve(object):
             # was maybe used to resolve something ... ?
             self.pkgSack.delPackage(otxmbr.po)
             self.up.delPackage(otxmbr.pkgtup)
+            # Remove it from the installed file requires cache
+            (self.installedFileRequires or {}).pop(otxmbr.pkgtup, None)
 
         for po in self.rpmdb.returnObsoletePackages():
             if self.tsInfo.getMembersWithState(po.pkgtup, output_states=TS_REMOVE_STATES):
commit 4dbb5bbe5fec3e81490063dd11c10c374f839876
Author: Zdenek Pavlas <zpavlas at redhat.com>
Date:   Thu Apr 4 09:55:47 2013 +0200

    Add each (pkgtup, file) require only once.

diff --git a/yum/depsolve.py b/yum/depsolve.py
index d810a17..7a494e5 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -1187,10 +1187,10 @@ class Depsolve(object):
 
         # get file requirements from new packages
         for txmbr in self._tsInfo.getMembersWithState(output_states=TS_INSTALL_STATES):
+            files = []
             for name, flag, evr in txmbr.po.requires:
                 if name.startswith('/'):
-                    pt = txmbr.po.pkgtup
-                    self.installedFileRequires.setdefault(pt, []).append(name)
+                    files.append(name)
                     # check if file requires was already unresolved in update
                     if name in self.installedUnresolvedFileRequires:
                         already_broken = False
@@ -1204,6 +1204,7 @@ class Depsolve(object):
                         nfileRequires.add(name)
                     fileRequires.add(name)
                     reverselookup.setdefault(name, []).append(txmbr.po.pkgtup)
+            self.installedFileRequires[txmbr.po.pkgtup] = files
 
         todel = []
         for fname in self.installedFileProviders:


More information about the Yum-commits mailing list