summaryrefslogtreecommitdiffstats
path: root/docker/build
diff options
context:
space:
mode:
authorgjoranv <gv@yahoo-inc.com>2017-06-27 15:37:59 +0200
committergjoranv <gv@yahoo-inc.com>2017-06-27 15:42:48 +0200
commit4bfe4190fe97ad2c49467e2c531dab3535c04a3e (patch)
treeec913b4ad9635e4e80b5f48776dc875a1e1a58bc /docker/build
parent295b1b55af1179babd5a4fafedc8a494ec23b671 (diff)
Move enter-build-container-internal.sh into build/ folder.
+ cd to vespa dir to avoid repeated '../'
Diffstat (limited to 'docker/build')
-rwxr-xr-xdocker/build/enter-build-container-internal.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/docker/build/enter-build-container-internal.sh b/docker/build/enter-build-container-internal.sh
new file mode 100755
index 00000000000..ae76263e2c7
--- /dev/null
+++ b/docker/build/enter-build-container-internal.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+set -e
+
+if [ $# -ne 0 ]; then
+ echo "Usage: $0"
+ echo "This script should not be called manually."
+ exit 1
+fi
+
+USERNAME=builder
+VESPA_DIR=$(cd $(dirname "${BASH_SOURCE[0]}")/../.. && pwd)
+cd $VESPA_DIR
+
+CALLER_UID=$(stat -c "%u" $VESPA_DIR)
+
+if [ $CALLER_UID -ne 0 ]; then
+ # We are in a system that maps the uids and this dir is not owned by root
+ # Create a user with same uid and gid to avoid mixing
+ CALLER_GID=$(stat -c "%g" $VESPA_DIR)
+
+ groupadd -f -g $CALLER_GID $USERNAME
+ useradd -u $CALLER_UID -g $CALLER_GID $USERNAME
+ echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
+else
+ USERNAME=root
+fi
+
+su -c "mkdir -p $VESPA_DIR/.ccache" - $USERNAME
+su -c "ln -sf $VESPA_DIR/.ccache \$HOME/.ccache" - $USERNAME
+
+su -c "mkdir -p $VESPA_DIR/.m2" - $USERNAME
+su -c "ln -sf $VESPA_DIR/.m2 \$HOME/.m2" - $USERNAME
+
+su $USERNAME
+