Blame SOURCES/BZ-1404239-fix-update-for-same-nevra.patch

0222c2
diff -up createrepo-0.9.9/createrepo/readMetadata.py.orig createrepo-0.9.9/createrepo/readMetadata.py
0222c2
--- createrepo-0.9.9/createrepo/readMetadata.py.orig	2017-03-02 13:03:29.417076819 +0100
0222c2
+++ createrepo-0.9.9/createrepo/readMetadata.py	2017-03-02 13:03:30.420070445 +0100
0222c2
@@ -107,7 +107,16 @@ class MetadataIndex(object):
0222c2
         """
0222c2
         if relpath in self.pkg_tups_by_path:
0222c2
             pkgtup = self.pkg_tups_by_path[relpath]
0222c2
-            return self._repo.sack.searchPkgTuple(pkgtup)[0]
0222c2
+            pos = self._repo.sack.searchPkgTuple(pkgtup)
0222c2
+            if len(pos) == 1:
0222c2
+                return pos[0]
0222c2
+            elif len(pos) > 1:
0222c2
+                # Multiple matches for this pkgtup so look at their relpath
0222c2
+                if self.opts.get('verbose'):
0222c2
+                    print _("Warning: Duplicate nevra detected for %s") % relpath
0222c2
+                for po in pos:
0222c2
+                    if po.relativepath == relpath:
0222c2
+                        return po
0222c2
         return None
0222c2
 
0222c2
     def cleanup(self):