From 10a6e618628185bf166c0aa2bc48db931305e1b5 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Mon, 18 Sep 2017 17:40:05 -0400 Subject: [PATCH] Install upstream pip to work around Debian bug, no issue # Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- tools/arvbox/lib/arvbox/docker/common.sh | 4 ++-- .../arvbox/lib/arvbox/docker/service/sdk/run-service | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/tools/arvbox/lib/arvbox/docker/common.sh b/tools/arvbox/lib/arvbox/docker/common.sh index 9bf92f4ee8..62225df6ce 100644 --- a/tools/arvbox/lib/arvbox/docker/common.sh +++ b/tools/arvbox/lib/arvbox/docker/common.sh @@ -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 } diff --git a/tools/arvbox/lib/arvbox/docker/service/sdk/run-service b/tools/arvbox/lib/arvbox/docker/service/sdk/run-service index 29bd040d65..0e937908e8 100755 --- a/tools/arvbox/lib/arvbox/docker/service/sdk/run-service +++ b/tools/arvbox/lib/arvbox/docker/service/sdk/run-service @@ -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 -- 2.30.2