Supress duplicate setup_requires in mirror.
Use an unordered set to ensure that when we add setup_requires
to the list of frozen requirements we don't have duplicates.
Change-Id: I1f11cfe52b6732b5d7dc24b687b6f9f7ba3ffb99
Reviewed-on: https://review.openstack.org/24949
Reviewed-by: Khai Do <zaro0508@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
diff --git a/jeepyb/cmd/run_mirror.py b/jeepyb/cmd/run_mirror.py
index a47c6ef..52787ff 100644
--- a/jeepyb/cmd/run_mirror.py
+++ b/jeepyb/cmd/run_mirror.py
@@ -143,14 +143,14 @@
return new_reqs
def find_pkg_info(self, path):
- versions = []
+ versions = set()
for root, dirs, files in os.walk(path):
if not root.endswith('.egg'):
continue
if not os.path.exists(os.path.join(root, 'EGG-INFO', 'PKG-INFO')):
continue
package = pkginfo.Develop(root)
- versions.append('%s==%s' % (package.name, package.version))
+ versions.add('%s==%s' % (package.name, package.version))
return versions
def build_mirror(self, mirror):
@@ -232,8 +232,7 @@
for line in freeze.split("\n"):
if line.startswith("-e ") or (
"==" in line and " " not in line):
- if line not in requires:
- requires.append(line)
+ requires.add(line)
for r in requires:
reqfd.write(r + "\n")
reqfd.close()