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