From 16bb0d2584757280f2a2de102f1bc53fa92179b7 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Mon, 7 Feb 2022 10:31:34 -0500 Subject: [PATCH] 18657: Almost working again, stupid Ruby Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- tools/arvbox/lib/arvbox/docker/Dockerfile.base | 2 +- tools/arvbox/lib/arvbox/docker/api-setup.sh | 4 ++-- tools/arvbox/lib/arvbox/docker/common.sh | 16 ++++++++++------ tools/arvbox/lib/arvbox/docker/createusers.sh | 4 ++-- .../lib/arvbox/docker/service/api/run-service | 2 +- .../lib/arvbox/docker/service/sdk/run-service | 4 ++-- .../arvbox/docker/service/workbench/run-service | 8 ++++---- 7 files changed, 22 insertions(+), 18 deletions(-) diff --git a/tools/arvbox/lib/arvbox/docker/Dockerfile.base b/tools/arvbox/lib/arvbox/docker/Dockerfile.base index c93c1a10a1..822eda0ad0 100644 --- a/tools/arvbox/lib/arvbox/docker/Dockerfile.base +++ b/tools/arvbox/lib/arvbox/docker/Dockerfile.base @@ -98,7 +98,7 @@ RUN /etc/init.d/postgresql start && \ su postgres -c 'createuser -s arvbox' && \ /etc/init.d/postgresql stop -ENV GEM_HOME /var/lib/arvados/lib/ruby/gems/2.5.0 +ENV GEM_HOME /var/lib/arvados/lib/ruby/gems/2.7.0 ENV PATH $PATH:$GEM_HOME/bin VOLUME /var/lib/docker diff --git a/tools/arvbox/lib/arvbox/docker/api-setup.sh b/tools/arvbox/lib/arvbox/docker/api-setup.sh index b1b6d37c03..6e455b8297 100755 --- a/tools/arvbox/lib/arvbox/docker/api-setup.sh +++ b/tools/arvbox/lib/arvbox/docker/api-setup.sh @@ -56,7 +56,7 @@ EOF fi if ! test -f $ARVADOS_CONTAINER_PATH/api_database_setup ; then - flock $GEM_HOME/gems.lock bin/bundle exec rake db:setup + flock $GEM_HOME/gems.lock bin/rake db:setup touch $ARVADOS_CONTAINER_PATH/api_database_setup fi @@ -68,4 +68,4 @@ fi rm -rf tmp mkdir -p tmp/cache -flock $GEM_HOME/gems.lock bin/bundle exec rake db:migrate +flock $GEM_HOME/gems.lock bin/rake db:migrate diff --git a/tools/arvbox/lib/arvbox/docker/common.sh b/tools/arvbox/lib/arvbox/docker/common.sh index 423cb463f9..14e850ed3d 100644 --- a/tools/arvbox/lib/arvbox/docker/common.sh +++ b/tools/arvbox/lib/arvbox/docker/common.sh @@ -2,8 +2,11 @@ # # SPDX-License-Identifier: AGPL-3.0 +export RUBY_VERSION=2.7.0 +export BUNDLER_VERSION=2.2.19 + export DEBIAN_FRONTEND=noninteractive -export GEM_HOME=/var/lib/arvados/lib/ruby/gems/2.5.0 +export GEM_HOME=/var/lib/arvados/lib/ruby/gems/$RUBY_VERSION export PATH=${PATH}:/usr/local/go/bin:$GEM_HOME/bin:/var/lib/arvados/bin export npm_config_cache=/var/lib/npm export npm_config_cache_min=Infinity @@ -60,18 +63,19 @@ else fi run_bundler() { + /var/lib/arvados/bin/gem install --no-document bundler:$BUNDLER_VERSION if test -f Gemfile.lock ; then frozen=--frozen else frozen="" fi - BUNDLER=bundler - if test -x $PWD/bin/bundler ; then + BUNDLER=bundle + if test -x $PWD/bin/bundle ; then # If present, use the one associated with rails workbench or API - BUNDLER=$PWD/bin/bundler + BUNDLER=$PWD/bin/bundle fi - if ! flock $GEM_HOME/gems.lock $BUNDLER install --binstubs --verbose --local --no-deployment $frozen "$@" ; then - flock $GEM_HOME/gems.lock $BUNDLER install --binstubs --verbose --no-deployment $frozen "$@" + if ! flock $GEM_HOME/gems.lock $BUNDLER install --verbose --local --no-deployment $frozen "$@" ; then + flock $GEM_HOME/gems.lock $BUNDLER install --verbose --no-deployment $frozen "$@" fi } diff --git a/tools/arvbox/lib/arvbox/docker/createusers.sh b/tools/arvbox/lib/arvbox/docker/createusers.sh index 66a4ff4747..6aeea1f076 100755 --- a/tools/arvbox/lib/arvbox/docker/createusers.sh +++ b/tools/arvbox/lib/arvbox/docker/createusers.sh @@ -5,7 +5,7 @@ set -e -o pipefail -export GEM_HOME=/var/lib/arvados/lib/ruby/gems/2.5.0 +export GEM_HOME=/var/lib/arvados/lib/ruby/gems/2.7.0 export ARVADOS_CONTAINER_PATH=/var/lib/arvados-arvbox if ! grep "^arvbox:" /etc/passwd >/dev/null 2>/dev/null ; then @@ -53,7 +53,7 @@ if ! grep "^arvbox:" /etc/passwd >/dev/null 2>/dev/null ; then cat < /etc/profile.d/paths.sh export PATH=/var/lib/arvados/bin:/usr/local/bin:/usr/bin:/bin -export GEM_HOME=/var/lib/arvados/lib/ruby/gems/2.5.0 +export GEM_HOME=/var/lib/arvados/lib/ruby/gems/2.7.0 export npm_config_cache=/var/lib/npm export npm_config_cache_min=Infinity export R_LIBS=/var/lib/Rlibs diff --git a/tools/arvbox/lib/arvbox/docker/service/api/run-service b/tools/arvbox/lib/arvbox/docker/service/api/run-service index ad18e3cc8d..e93dfec9bf 100755 --- a/tools/arvbox/lib/arvbox/docker/service/api/run-service +++ b/tools/arvbox/lib/arvbox/docker/service/api/run-service @@ -16,7 +16,7 @@ else export RAILS_ENV=development fi -run_bundler --without=development +run_bundler --without=development --binstubs flock $GEM_HOME/gems.lock bin/passenger-config build-native-support flock $GEM_HOME/gems.lock bin/passenger-config install-standalone-runtime diff --git a/tools/arvbox/lib/arvbox/docker/service/sdk/run-service b/tools/arvbox/lib/arvbox/docker/service/sdk/run-service index d66bf315b1..d98afe823e 100755 --- a/tools/arvbox/lib/arvbox/docker/service/sdk/run-service +++ b/tools/arvbox/lib/arvbox/docker/service/sdk/run-service @@ -15,8 +15,8 @@ download_cache = /var/lib/pip EOF cd /usr/src/arvados/sdk/cli -run_bundler --binstubs=$PWD/binstubs -ln -sf /usr/src/arvados/sdk/cli/binstubs/arv /usr/local/bin/arv +run_bundler --binstubs +ln -sf /usr/src/arvados/sdk/cli/bin/arv /usr/local/bin/arv export PYCMD=python3 diff --git a/tools/arvbox/lib/arvbox/docker/service/workbench/run-service b/tools/arvbox/lib/arvbox/docker/service/workbench/run-service index 008054376a..dde101e630 100755 --- a/tools/arvbox/lib/arvbox/docker/service/workbench/run-service +++ b/tools/arvbox/lib/arvbox/docker/service/workbench/run-service @@ -22,7 +22,7 @@ else export RAILS_ENV=development fi -run_bundler --without=development +run_bundler --without=development --binstubs flock $GEM_HOME/gems.lock bin/passenger-config build-native-support flock $GEM_HOME/gems.lock bin/passenger-config install-standalone-runtime mkdir -p /usr/src/arvados/apps/workbench/tmp @@ -34,7 +34,7 @@ cat >config/application.yml <