|
 |
164e0b |
diff -up createrepo-0.9.9/createrepo/merge.py.old createrepo-0.9.9/createrepo/merge.py
|
|
 |
164e0b |
--- createrepo-0.9.9/createrepo/merge.py.old 2015-12-08 11:08:51.998837759 +0100
|
|
 |
164e0b |
+++ createrepo-0.9.9/createrepo/merge.py 2015-12-08 11:09:58.868951847 +0100
|
|
 |
164e0b |
@@ -70,9 +70,7 @@ class RepoMergeBase:
|
|
 |
164e0b |
|
|
 |
164e0b |
for repo in repos:
|
|
 |
164e0b |
for pkg in repo.sack:
|
|
 |
164e0b |
- others = self.yumbase.pkgSack.searchNevra(name=pkg.name, arch=pkg.arch)
|
|
 |
164e0b |
- # NOTE the above is definitely going to catch other versions which may
|
|
 |
164e0b |
- # be an invalid comparison
|
|
 |
164e0b |
+ others = self.yumbase.pkgSack.searchNevra(pkg.name, pkg.epoch, pkg.version, pkg.release, pkg.arch)
|
|
 |
164e0b |
if len(others) > 1:
|
|
 |
164e0b |
for thatpkg in others:
|
|
 |
164e0b |
if pkg.repoid == thatpkg.repoid: continue
|
|
 |
164e0b |
commit b8904f59773a478aedd416963ec451c678a6bb72
|
|
 |
164e0b |
Author: Zdenek Pavlas <zpavlas@redhat.com>
|
|
 |
164e0b |
Date: Wed Jan 29 09:53:37 2014 +0100
|
|
 |
164e0b |
|
|
 |
164e0b |
Support API users that set pkglist=<package sack>. BZ 1058975
|
|
 |
164e0b |
|
|
 |
164e0b |
Commit 84a237f6a2e661879147e1ee5f9a2be984267991
|
|
 |
164e0b |
broke this use case. Make it work again.
|
|
 |
164e0b |
|
|
 |
164e0b |
diff --git a/createrepo/__init__.py b/createrepo/__init__.py
|
|
 |
164e0b |
index b1875f6..85f2a3d 100644
|
|
 |
164e0b |
--- a/createrepo/__init__.py
|
|
 |
164e0b |
+++ b/createrepo/__init__.py
|
|
 |
164e0b |
@@ -400,7 +400,9 @@ class MetaDataGenerator:
|
|
 |
164e0b |
if self.conf.update:
|
|
 |
164e0b |
self._setup_old_metadata_lookup()
|
|
 |
164e0b |
# rpms we're going to be dealing with
|
|
 |
164e0b |
- if self.conf.pkglist:
|
|
 |
164e0b |
+ if isinstance(self.conf.pkglist, MetaSack):
|
|
 |
164e0b |
+ packages = self.conf.pkglist
|
|
 |
164e0b |
+ elif self.conf.pkglist:
|
|
 |
164e0b |
packages = []
|
|
 |
164e0b |
for pkg in self.conf.pkglist:
|
|
 |
164e0b |
if '://' in pkg: # remote
|