Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions infra/base-images/base-builder-ruby/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ FROM gcr.io/oss-fuzz-base/base-builder

RUN git clone https://github.com/trailofbits/ruzzy.git $SRC/ruzzy

RUN install_ruby.sh
ENV PATH="$PATH:/usr/local/rvm/rubies/ruby-3.3.1/bin"

RUN gem update --system 3.5.11
RUN /usr/local/bin/install_ruby.sh
RUN /usr/local/bin/gem update --system 3.5.11

# Install ruzzy
WORKDIR $SRC/ruzzy
Expand Down
6 changes: 2 additions & 4 deletions infra/base-images/base-builder-ruby/ubuntu-20-04.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ FROM gcr.io/oss-fuzz-base/base-builder:ubuntu-20-04

RUN git clone https://github.com/trailofbits/ruzzy.git $SRC/ruzzy

RUN install_ruby.sh
ENV PATH="$PATH:/usr/local/rvm/rubies/ruby-3.3.1/bin"

RUN gem update --system 3.5.11
RUN /usr/local/bin/install_ruby.sh
RUN /usr/local/bin/gem update --system 3.5.11

# Install ruzzy
WORKDIR $SRC/ruzzy
Expand Down
4 changes: 2 additions & 2 deletions infra/base-images/base-builder-ruby/ubuntu-24-04.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ FROM gcr.io/oss-fuzz-base/base-builder:ubuntu-24-04

RUN git clone https://github.com/trailofbits/ruzzy.git $SRC/ruzzy

RUN install_ruby.sh
ENV PATH="$PATH:/usr/local/rvm/rubies/ruby-3.3.1/bin"
RUN /usr/local/bin/install_ruby.sh
RUN /usr/local/bin/gem update --system 3.5.11

RUN gem update --system 3.5.11

Expand Down
25 changes: 15 additions & 10 deletions infra/base-images/base-builder/install_ruby.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -eux
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -15,14 +15,19 @@
#
################################################################################

apt update
apt install -y lsb-release software-properties-common gnupg2 binutils xz-utils libyaml-dev
gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
echo "Starting ruby installation"
RUBY_VERSION=3.3.1
RUBY_DEPS="binutils xz-utils libyaml-dev libffi-dev zlib1g-dev"
apt update && apt install -y $RUBY_DEPS
curl -O https://cache.ruby-lang.org/pub/ruby/3.3/ruby-$RUBY_VERSION.tar.gz
tar -xvf ruby-$RUBY_VERSION.tar.gz
cd ruby-$RUBY_VERSION
./configure
make -j$(nproc)
make install
cd ../

curl -sSL https://get.rvm.io > ruby_installation.sh
chmod +x ruby_installation.sh
bash ruby_installation.sh stable
# Clean up the sources.
rm -rf ./ruby-$RUBY_VERSION ruby-$RUBY_VERSION.tar.gz

. /etc/profile.d/rvm.sh

rvm install ruby-3.3.1
echo "Finished installing ruby"
16 changes: 8 additions & 8 deletions infra/base-images/base-runner/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -109,14 +109,14 @@ RUN wget https://repo1.maven.org/maven2/org/jacoco/org.jacoco.cli/0.8.7/org.jaco
COPY install_javascript.sh /
RUN /install_javascript.sh && rm /install_javascript.sh

# Copy built ruby and ruzzy from builder
COPY --from=base-ruby /usr/local/rvm /usr/local/rvm
COPY --from=base-ruby /install/ruzzy /install/ruzzy
COPY ruzzy /usr/local/bin/ruzzy
ENV PATH="$PATH:/usr/local/rvm/rubies/ruby-3.3.1/bin"
# RubyGems installation directory
ENV GEM_HOME="$OUT/fuzz-gem"
ENV GEM_PATH="/install/ruzzy"
# Copy built ruby. It is up to the fuzzing harnesses
# themselves to set GEM_HOME and GEM_PATH appropriately, as this depends
# on how the harnesses are packaged.
COPY --from=base-ruby /usr/local/bin/ruby /usr/local/bin/ruby
COPY --from=base-ruby /usr/local/bin/gem /usr/local/bin/gem
COPY --from=base-ruby /usr/local/lib/ruby /usr/local/lib/ruby
COPY --from=base-ruby /usr/local/include/ruby-3.3.0 /usr/local/include/ruby-3.3.0


# Do this last to make developing these files easier/faster due to caching.
COPY bad_build_check \
Expand Down
15 changes: 7 additions & 8 deletions infra/base-images/base-runner/ubuntu-20-04.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -109,14 +109,13 @@ RUN wget https://repo1.maven.org/maven2/org/jacoco/org.jacoco.cli/0.8.7/org.jaco
COPY install_javascript.sh /
RUN /install_javascript.sh && rm /install_javascript.sh

# Copy built ruby and ruzzy from builder
COPY --from=base-ruby /usr/local/rvm /usr/local/rvm
COPY --from=base-ruby /install/ruzzy /install/ruzzy
COPY ruzzy /usr/bin/ruzzy
ENV PATH="$PATH:/usr/local/rvm/rubies/ruby-3.3.1/bin"
# RubyGems installation directory
ENV GEM_HOME="$OUT/fuzz-gem"
ENV GEM_PATH="/install/ruzzy"
# Copy built ruby. It is up to the fuzzing harnesses
# themselves to set GEM_HOME and GEM_PATH appropriately, as this depends
# on how the harnesses are packaged.
COPY --from=base-ruby /usr/local/bin/ruby /usr/local/bin/ruby
COPY --from=base-ruby /usr/local/bin/gem /usr/local/bin/gem
COPY --from=base-ruby /usr/local/lib/ruby /usr/local/lib/ruby
COPY --from=base-ruby /usr/local/include/ruby-3.3.0 /usr/local/include/ruby-3.3.0

# Do this last to make developing these files easier/faster due to caching.
COPY bad_build_check \
Expand Down
15 changes: 7 additions & 8 deletions infra/base-images/base-runner/ubuntu-24-04.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -109,14 +109,13 @@ RUN wget https://repo1.maven.org/maven2/org/jacoco/org.jacoco.cli/0.8.7/org.jaco
COPY install_javascript.sh /
RUN /install_javascript.sh && rm /install_javascript.sh

# Copy built ruby and ruzzy from builder
COPY --from=base-ruby /usr/local/rvm /usr/local/rvm
COPY --from=base-ruby /install/ruzzy /install/ruzzy
COPY ruzzy /usr/bin/ruzzy
ENV PATH="$PATH:/usr/local/rvm/rubies/ruby-3.3.1/bin"
# RubyGems installation directory
ENV GEM_HOME="$OUT/fuzz-gem"
ENV GEM_PATH="/install/ruzzy"
# Copy built ruby. It is up to the fuzzing harnesses
# themselves to set GEM_HOME and GEM_PATH appropriately, as this depends
# on how the harnesses are packaged.
COPY --from=base-ruby /usr/local/bin/ruby /usr/local/bin/ruby
COPY --from=base-ruby /usr/local/bin/gem /usr/local/bin/gem
COPY --from=base-ruby /usr/local/lib/ruby /usr/local/lib/ruby
COPY --from=base-ruby /usr/local/include/ruby-3.3.0 /usr/local/include/ruby-3.3.0

# Do this last to make developing these files easier/faster due to caching.
COPY bad_build_check \
Expand Down
Loading