When we use delta file to update from A to B, the B appears
only in the /gen directory.  Unless _groupCheckDataMDValid()
validates this, we can't use deltas to update from B to C.
---
 yum/yumRepo.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index 2ad607e..764c988 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -1516,6 +1516,12 @@ Insufficient space in download directory %s
         # YumPackageSack.populate ... and we look for the uncompressed versions
         # in retrieveMD.
         self._preload_md_from_system_cache(os.path.basename(local))
+
+        # Check the /gen version, too
+        if compressed and not os.path.exists(local):
+            local = self.cachedir + '/gen/%s.xml' % dbmdtype
+            self._preload_file_from_system_cache(local, 'gen/')
+
         if not self._checkMD(local, dbmdtype, openchecksum=compressed,
                              data=data, check_can_fail=True):
             return None
-- 
1.7.11.7

_______________________________________________
Yum-devel mailing list
[email protected]
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to