Install upstream pip to work around Debian bug, no issue #
authorPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 18 Sep 2017 21:40:05 +0000 (17:40 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 21 Sep 2017 14:18:16 +0000 (10:18 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

tools/arvbox/lib/arvbox/docker/common.sh
tools/arvbox/lib/arvbox/docker/service/sdk/run-service

index 9bf92f4ee85d06acf8272090b6711797cd73b363..62225df6ceae523493a27450466345c28d4bc7a5 100644 (file)
@@ -67,7 +67,7 @@ pip_install() {
     done
     popd
 
-    if ! pip install --no-index --find-links /var/lib/pip --system $1 ; then
-        pip install --system $1
+    if ! pip install --no-index --find-links /var/lib/pip $1 ; then
+        pip install $1
     fi
 }
index 29bd040d6573cc91126ea7604285ec79322c2e12..0e937908e8116f5984c367e4cee25fb718b3f833 100755 (executable)
@@ -18,6 +18,18 @@ cd /usr/src/arvados/sdk/cli
 run_bundler --binstubs=$PWD/binstubs
 ln -sf /usr/src/arvados/sdk/cli/binstubs/arv /usr/local/bin/arv
 
+# Need to install the upstream version of pip because the python-pip package
+# shipped with Debian 9 is patched to change behavior in a way that breaks our
+# use case.
+# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876145
+# When a non-root user attempts to install system packages, it makes the
+# --ignore-installed flag the default (and there is no way to turn it off),
+# this has the effect of making it very hard to share dependencies shared among
+# multiple packages, because it will blindly install the latest version of each
+# dependency requested by each package, even if a compatible package version is
+# already installed.
+pip_install pip
+
 pip_install wheel
 
 cd /usr/src/arvados/sdk/python