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):