11ARG os=debian
2- ARG version=bullseye
2+ ARG version=bookworm
33ARG variant=-slim
44ARG mirror=http://deb.debian.org/debian
5- ARG system_ruby=ruby2.7
5+ ARG system_ruby=ruby3.1
66
77# rake -j interpret non-numeric argument as number of CPUs plus 3.
88ARG j=numcpu_plus_alpha
@@ -56,16 +56,14 @@ RUN rm -rf Rakefile versions/ patch/ DIST build/*/log build/*/ruby*/ \
5656RUN find /build-all-ruby -type f \( -name ruby -o -name '*.so' \) -exec sh -c 'file $1 | grep -q "not stripped"' - '{}' \; -print0 | xargs -0 strip
5757
5858# =============================================================================
59- # Base build environment: Debian Bullseye (for modern Ruby versions )
59+ # Base build environment: Debian Bullseye (for Ruby 1.2-3.0 )
6060# =============================================================================
61- FROM ${os}:${version}${variant} AS builder-bullseye
61+ FROM debian:bullseye-slim AS builder-bullseye
6262ENV DEBIAN_FRONTEND=noninteractive
6363ARG mirror
64- ARG version
65- ARG system_ruby
6664
6765RUN dpkg --add-architecture i386 \
68- && echo "deb-src ${mirror} ${version} main" > /etc/apt/sources.list.d/deb-src.list \
66+ && echo "deb-src ${mirror} bullseye main" > /etc/apt/sources.list.d/deb-src.list \
6967 && echo 'Dpkg::Use-Pty "0";\n quiet "2";\n APT::Install-Recommends "0";' > /etc/apt/apt.conf.d/99autopilot \
7068 && echo 'Acquire::HTTP::No-Cache "True";' > /etc/apt/apt.conf.d/99no-cache \
7169 && apt-get update \
@@ -75,9 +73,9 @@ RUN dpkg --add-architecture i386 \
7573 bison \
7674 rdfind \
7775 file \
78- lib${system_ruby} :amd64 \
79- lib${system_ruby} :i386 \
80- && apt-get build-dep ${system_ruby} \
76+ libruby2.7 :amd64 \
77+ libruby2.7 :i386 \
78+ && apt-get build-dep ruby2.7 \
8179 && rm -rf /var/lib/apt/lists/*
8280
8381WORKDIR /all-ruby
@@ -228,10 +226,42 @@ RUN rm -rf Rakefile versions/ patch/ DIST build/*/log build/*/ruby*/ \
228226 rm -f build/*/lib/libruby-static.a build/*/bin/gcc build/*/bin/cc
229227RUN find /build-all-ruby -type f \( -name ruby -o -name '*.so' \) -exec sh -c 'file $1 | grep -q "not stripped"' - '{}' \; -print0 | xargs -0 strip
230228
229+ # =============================================================================
230+ # Base build environment: Debian Bookworm (for Ruby 3.1+)
231+ # =============================================================================
232+ FROM ${os}:${version}${variant} AS builder-bookworm
233+ ENV DEBIAN_FRONTEND=noninteractive
234+ ARG mirror
235+ ARG version
236+ ARG system_ruby
237+
238+ RUN dpkg --add-architecture i386 \
239+ && echo "deb-src ${mirror} ${version} main" > /etc/apt/sources.list.d/deb-src.list \
240+ && echo 'Dpkg::Use-Pty "0";\n quiet "2";\n APT::Install-Recommends "0";' > /etc/apt/apt.conf.d/99autopilot \
241+ && echo 'Acquire::HTTP::No-Cache "True";' > /etc/apt/apt.conf.d/99no-cache \
242+ && apt-get update \
243+ && apt-get install \
244+ build-essential \
245+ gcc-multilib \
246+ bison \
247+ rdfind \
248+ file \
249+ lib${system_ruby}:amd64 \
250+ lib${system_ruby}:i386 \
251+ && apt-get build-dep ${system_ruby} \
252+ && rm -rf /var/lib/apt/lists/*
253+
254+ WORKDIR /all-ruby
255+
256+ COPY Rakefile /all-ruby/
257+ COPY lib/ruby_version.rb /all-ruby/lib/
258+ COPY patch /all-ruby/patch/
259+ RUN rake setup_build
260+
231261# =============================================================================
232262# Ruby 3.1
233263# =============================================================================
234- FROM builder-bullseye AS ruby-3.1
264+ FROM builder-bookworm AS ruby-3.1
235265ARG j=numcpu_plus_alpha
236266
237267COPY versions/3.1* /all-ruby/versions/
@@ -245,7 +275,7 @@ RUN find /build-all-ruby -type f \( -name ruby -o -name '*.so' \) -exec sh -c 'f
245275# =============================================================================
246276# Ruby 3.2
247277# =============================================================================
248- FROM builder-bullseye AS ruby-3.2
278+ FROM builder-bookworm AS ruby-3.2
249279ARG j=numcpu_plus_alpha
250280
251281COPY versions/3.2* /all-ruby/versions/
@@ -259,7 +289,7 @@ RUN find /build-all-ruby -type f \( -name ruby -o -name '*.so' \) -exec sh -c 'f
259289# =============================================================================
260290# Ruby 3.3
261291# =============================================================================
262- FROM builder-bullseye AS ruby-3.3
292+ FROM builder-bookworm AS ruby-3.3
263293ARG j=numcpu_plus_alpha
264294
265295COPY versions/3.3* /all-ruby/versions/
@@ -273,7 +303,7 @@ RUN find /build-all-ruby -type f \( -name ruby -o -name '*.so' \) -exec sh -c 'f
273303# =============================================================================
274304# Ruby 3.4
275305# =============================================================================
276- FROM builder-bullseye AS ruby-3.4
306+ FROM builder-bookworm AS ruby-3.4
277307ARG j=numcpu_plus_alpha
278308
279309COPY versions/3.4* /all-ruby/versions/
@@ -287,7 +317,7 @@ RUN find /build-all-ruby -type f \( -name ruby -o -name '*.so' \) -exec sh -c 'f
287317# =============================================================================
288318# Ruby 3.5-4.0
289319# =============================================================================
290- FROM builder-bullseye AS ruby-3.5-4.0
320+ FROM builder-bookworm AS ruby-3.5-4.0
291321ARG j=numcpu_plus_alpha
292322
293323COPY versions/3.5* versions/4.0* /all-ruby/versions/
0 commit comments