18657: Almost working again, stupid Ruby
authorPeter Amstutz <peter.amstutz@curii.com>
Mon, 7 Feb 2022 15:31:34 +0000 (10:31 -0500)
committerPeter Amstutz <peter.amstutz@curii.com>
Mon, 7 Feb 2022 15:31:34 +0000 (10:31 -0500)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

tools/arvbox/lib/arvbox/docker/Dockerfile.base
tools/arvbox/lib/arvbox/docker/api-setup.sh
tools/arvbox/lib/arvbox/docker/common.sh
tools/arvbox/lib/arvbox/docker/createusers.sh
tools/arvbox/lib/arvbox/docker/service/api/run-service
tools/arvbox/lib/arvbox/docker/service/sdk/run-service
tools/arvbox/lib/arvbox/docker/service/workbench/run-service

index c93c1a10a16438e0ee5945cd3356c1cc14b894ef..822eda0ad0d88b219571d737a3b0e9761328697f 100644 (file)
@@ -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
index b1b6d37c0381648f9518041854c4d8a72618ee87..6e455b8297fe2bc9c18e76a44b6fba27733d5f16 100755 (executable)
@@ -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
index 423cb463f98869ce42e5b807cb01347f5591d3fb..14e850ed3d493259e922a83cdb038dc2abc67704 100644 (file)
@@ -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
 }
 
index 66a4ff474768da2428e0404e021ce0d1ab6f4d13..6aeea1f076e3ded89ed8420aed9e8084d84ccf08 100755 (executable)
@@ -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 <<EOF > /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
index ad18e3cc8d79af7a686eb9c1935d146c8be3ff11..e93dfec9bf0cf4d305a686728053a4bc8cd89b4e 100755 (executable)
@@ -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
 
index d66bf315b12752338eed263aec2e3eff0218397e..d98afe823ef92eab499627dc972d31045992b471 100755 (executable)
@@ -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
 
index 008054376a7f206412bbaa46a9aed4ae23f4fd82..dde101e6306a7bf6574d17f7fb8f6bc6376ff39e 100755 (executable)
@@ -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 <<EOF
 $RAILS_ENV:
   keep_web_url: https://example.com/c=%{uuid_or_pdh}
 EOF
-   RAILS_GROUPS=assets flock $GEM_HOME/gems.lock bin/bundle exec rake npm:install
+   RAILS_GROUPS=assets flock $GEM_HOME/gems.lock bin/rake npm:install
    rm config/application.yml
    exit
 fi
@@ -43,5 +43,5 @@ set -u
 
 secret_token=$(cat $ARVADOS_CONTAINER_PATH/workbench_secret_token)
 
-RAILS_GROUPS=assets flock $GEM_HOME/gems.lock bin/bundle exec rake npm:install
-flock $GEM_HOME/gems.lock bin/bundle exec rake assets:precompile
+RAILS_GROUPS=assets flock $GEM_HOME/gems.lock bin/rake npm:install
+flock $GEM_HOME/gems.lock bin/rake assets:precompile