Upgrade pip and setuptools in the mirror venv
Older pip does not process transitive dependencies properly. To ensure
that 3rd level transitive depends get processed by run-mirror, ensure
that we have current pip in our mirror build environment.
Without upgrading setuptools, we can hit the transitive depend problem.
Change-Id: I4a4611109ed9b35dea2efc00583ab69ebc1a39ba
diff --git a/jeepyb/cmd/run_mirror.py b/jeepyb/cmd/run_mirror.py
index 8e84479..5fded8c 100644
--- a/jeepyb/cmd/run_mirror.py
+++ b/jeepyb/cmd/run_mirror.py
@@ -160,6 +160,8 @@
pip_format = ("%s install -M -U %s --exists-action=w "
"--download-cache=%s --build %s -r %s")
venv_format = ("virtualenv --clear --extra-search-dir=%s %s")
+ upgrade_format = ("%s install -U --exists-action=w "
+ "--download-cache=%s --build %s %s")
workdir = tempfile.mkdtemp()
reqs = os.path.join(workdir, "reqs")
@@ -214,6 +216,12 @@
if reqlist:
out = self.run_command(venv_format %
(pip_cache_dir, venv))
+ out = self.run_command(upgrade_format %
+ (pip, pip_cache_dir,
+ build, "setuptools"))
+ out = self.run_command(upgrade_format %
+ (pip, pip_cache_dir,
+ build, "pip"))
if os.path.exists(build):
shutil.rmtree(build)
new_reqs = self.process_http_requirements(reqlist,