# fpm depends on dotenv, but version 3.0 of that gem dropped support for
# Ruby 2.7, so we need to specifically install an older version.
RUN echo "gem: --no-document" >> ~/.gemrc && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '~> 2.4.0' bundler && \
gem install dotenv --version '~> 2.8' && \
gem install fpm --version 1.15.1 && \
bundle config --global jobs $(let a=$(grep -c processor /proc/cpuinfo )-1; echo $a)
unzip
RUN echo "gem: --no-document" >> ~/.gemrc && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '>= 2.4.0' bundler && \
gem install fpm --version 1.15.1 && \
bundle config --global jobs $(let a=$(grep -c processor /proc/cpuinfo )-1; echo $a)
# fpm depends on dotenv, but version 3.0 of that gem dropped support for
# Ruby 2.7, so we need to specifically install an older version.
RUN echo "gem: --no-document" >> ~/.gemrc && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '>= 2.4.0' bundler && \
gem install dotenv --version '~> 2.8' && \
gem install fpm --version 1.15.1 && \
bundle config --global jobs $(let a=$(grep -c processor /proc/cpuinfo )-1; echo $a)
# fpm depends on dotenv, but version 3.0 of that gem dropped support for
# Ruby 2.7, so we need to specifically install an older version.
RUN echo "gem: --no-document" >> ~/.gemrc && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '~> 2.4.0' bundler && \
gem install dotenv --version '~> 2.8' && \
gem install fpm --version 1.15.1 && \
bundle config --global jobs $(let a=$(grep -c processor /proc/cpuinfo )-1; echo $a)
unzip
RUN echo "gem: --no-document" >> ~/.gemrc && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '>= 2.4.0' bundler && \
gem install fpm --version 1.15.1 && \
bundle config --global jobs $(let a=$(grep -c processor /proc/cpuinfo )-1; echo $a)
RUN apt-get update && \
apt-get -y install --no-install-recommends curl ca-certificates gpg procps gpg-agent ruby ruby-dev && \
echo "gem: --no-document" >> /etc/gemrc && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '~> 2.4.0' bundler && \
mkdir -p /etc/udev/disabled && \
echo "deb file:///arvados/packages/debian11/ /" >>/etc/apt/sources.list
RUN apt-get update && \
apt-get -y install --no-install-recommends curl ca-certificates gpg procps gpg-agent ruby ruby-dev && \
echo "gem: --no-document" >> /etc/gemrc && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '>= 2.4.0' bundler && \
mkdir -p /etc/udev/disabled && \
echo "deb file:///arvados/packages/debian12/ /" >>/etc/apt/sources.list
RUN touch /var/lib/rpm/* && \
echo "gem: --no-document" >> ~/.gemrc && \
- gem install bundler --version 2.2.19
+ gem install --conservative --version '>= 2.4.0' bundler
COPY localrepo.repo /etc/yum.repos.d/localrepo.repo
# Install dependencies
RUN apt-get update && \
apt-get -y install --no-install-recommends curl ca-certificates gnupg2 ruby ruby-dev && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '~> 2.4.0' bundler && \
mkdir -p /etc/udev/disabled && \
echo "deb [trusted=yes] file:///arvados/packages/ubuntu2004/ /" >>/etc/apt/sources.list
# Install dependencies
RUN apt-get update && \
apt-get -y install --no-install-recommends curl ca-certificates gnupg2 ruby ruby-dev && \
- gem install bundler --version 2.2.19 && \
+ gem install --conservative --version '>= 2.4.0' bundler && \
mkdir -p /etc/udev/disabled && \
echo "deb [trusted=yes] file:///arvados/packages/ubuntu2204/ /" >>/etc/apt/sources.list
cd "$RELEASE_PATH"
export RAILS_ENV=production
- if ! bundle --version >/dev/null 2>&1; then
- run_and_report "Installing bundler" gem install bundler --version 2.2.19 --no-document
- fi
+ run_and_report "Installing bundler" gem install --conservative --version '~> 2.4.0' bundler
run_and_report "Running bundle config set --local path $SHARED_PATH/vendor_bundle" \
bundle config set --local path "$SHARED_PATH/vendor_bundle"
echo "Will install dependencies to $(gem env gemdir)"
echo "Will install bundler and arvados gems to $tmpdir_gem_home"
echo "Gem search path is GEM_PATH=$GEM_PATH"
- (
- export HOME=$GEMHOME
- versions=(2.2.19)
- for v in ${versions[@]}; do
- if ! gem list --installed --version "${v}" bundler >/dev/null; then
- gem install --no-document --user $(for v in ${versions[@]}; do echo bundler:${v}; done)
- break
- fi
- done
- "$bundle" version | tee /dev/stderr | grep -q 'version 2'
- ) || fatal 'install bundler'
+ gem install --user --no-document --conservative --version '~> 2.4.0' bundler \
+ || fatal 'install bundler'
if test -d /var/lib/arvados-arvbox/ ; then
# Inside arvbox, use bundler-installed binstubs. The
# system bundler and rail's own bin/bundle refuse to work.
if err != nil {
return err
}
- for _, version := range []string{"2.2.19"} {
- if !strings.Contains(buf.String(), "("+version+")") {
- err = super.RunProgram(ctx, appdir, runOptions{}, "gem", "install", "--user", "--conservative", "--no-document", "bundler:2.2.19")
- if err != nil {
- return err
- }
- break
- }
+ err = super.RunProgram(ctx, appdir, runOptions{}, "gem", "install", "--user", "--conservative", "--no-document", "--version", "~> 2.4.0", "bundler")
+ if err != nil {
+ return err
}
err = super.RunProgram(ctx, appdir, runOptions{}, "bundle", "config", "--set", "local", "path", filepath.Join(os.Getenv("HOME"), ".gem"))
if err != nil {
const (
defaultRubyVersion = "3.2.2"
- defaultBundlerVersion = "2.2.19"
+ defaultBundlerVersion = "~> 2.4.0"
defaultSingularityVersion = "3.10.4"
pjsversion = "1.9.8"
geckoversion = "0.24.0"
fmt.Fprintf(stderr, "invalid argument %q for -ruby-version\n", inst.RubyVersion)
return 2
}
- if ok, _ := regexp.MatchString(`^\d`, inst.BundlerVersion); !ok {
+ if ok, _ := regexp.MatchString(`^ *(|~>|[<>!=]=) *\d`, inst.BundlerVersion); !ok {
fmt.Fprintf(stderr, "invalid argument %q for -bundler-version\n", inst.BundlerVersion)
return 2
}
if [[ "$rubyversion" > "3" ]]; then
/var/lib/arvados/bin/gem update --no-document --system 3.4.21
fi
-/var/lib/arvados/bin/gem install bundler:`+inst.BundlerVersion+` --no-document
+/var/lib/arvados/bin/gem install --conservative --no-docuemnt --version '`+inst.BundlerVersion+`' bundler
`, stdout, stderr)
if err != nil {
return 1