1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
5 export RUBY_VERSION=3.2.2
6 export BUNDLER_VERSION=2.4.22
8 export DEBIAN_FRONTEND=noninteractive
9 export PATH=${PATH}:/usr/local/go/bin:/var/lib/arvados/bin:/usr/src/arvados/sdk/cli/binstubs
10 export npm_config_cache=/var/lib/npm
11 export npm_config_cache_min=Infinity
12 export R_LIBS=/var/lib/Rlibs
13 export HOME=$(getent passwd arvbox | cut -d: -f6)
14 export ARVADOS_CONTAINER_PATH=/var/lib/arvados-arvbox
15 export GEM_HOME=$HOME/.gem
16 GEMLOCK=$HOME/gems.lock
18 export LANG=en_US.UTF-8
19 export LANGUAGE=en_US:en
20 export LC_ALL=en_US.UTF-8
22 defaultdev=$(/sbin/ip route|awk '/default/ { print $5 }')
23 dockerip=$(/sbin/ip route | grep default | awk '{ print $3 }')
24 containerip=$(ip addr show $defaultdev | grep 'inet ' | sed 's/ *inet \(.*\)\/.*/\1/')
25 if test -s /var/run/localip_override ; then
26 localip=$(cat /var/run/localip_override)
31 root_cert=$ARVADOS_CONTAINER_PATH/root-cert.pem
32 root_cert_key=$ARVADOS_CONTAINER_PATH/root-cert.key
33 server_cert=$ARVADOS_CONTAINER_PATH/server-cert-${localip}.pem
34 server_cert_key=$ARVADOS_CONTAINER_PATH/server-cert-${localip}.key
43 [arv-git-httpd-ssl]=9000
47 [keep-web-dl-ssl]=9004
60 if test "$(id arvbox -u 2>/dev/null)" = 0 ; then
69 flock $GEMLOCK /var/lib/arvados/bin/gem install --no-document --user bundler:$BUNDLER_VERSION
72 if test -x $PWD/bin/bundle ; then
73 # If present, use the one associated with rails API
74 BUNDLER=$PWD/bin/bundle
77 # Use Gemfile.lock only if it is git tracked.
78 if git ls-files --error-unmatch Gemfile.lock ; then
79 flock $GEMLOCK $BUNDLER config set --local frozen true
81 flock $GEMLOCK $BUNDLER config set --local frozen false
83 flock $GEMLOCK $BUNDLER config set --local deployment false
85 if test -z "$(flock $GEMLOCK /var/lib/arvados/bin/gem list | grep 'arvados[[:blank:]].*[0-9.]*dev')" ; then
86 (cd /usr/src/arvados/sdk/ruby && \
87 /var/lib/arvados/bin/gem build arvados.gemspec && flock $GEMLOCK /var/lib/arvados/bin/gem install $(ls -1 *.gem | sort -r | head -n1))
90 if ! flock $GEMLOCK $BUNDLER install --verbose --local "$@" ; then
91 flock $GEMLOCK $BUNDLER install --verbose "$@"
97 if test -x $PWD/bin/bundle ; then
98 # If present, use the one associated with rails API
99 BUNDLER=$PWD/bin/bundle
101 flock $GEMLOCK $BUNDLER binstubs --all
107 for p in $(ls http*.tar.gz) $(ls http*.tar.bz2) $(ls http*.whl) $(ls http*.zip) ; do
109 ln -sf $p $(echo $p | sed 's/.*%2F\(.*\)/\1/')
114 if [ "$PYCMD" = "python3" ]; then
115 if ! pip3 install --prefix /usr/local --no-index --find-links /var/lib/pip $1 ; then
116 pip3 install --prefix /usr/local $1
119 if ! pip install --no-index --find-links /var/lib/pip $1 ; then