From a564feaaee4c8647c299ab11d41498468bb9af7b Mon Sep 17 00:00:00 2001 From: Nathan Ehresman Date: Tue, 31 Mar 2020 12:21:12 -0400 Subject: [PATCH 001/132] Upgrade Ruby version 2.4.9 to 2.4.10, 2.5.7 to 2.5.8, 2.6.5 to 2.6.6, 2.7.0 to 2.7.1 (#310) * Upgrade Ruby version 2.4.9 to 2.4.10, 2.5.7 to 2.5.8, 2.6.5 to 2.6.6, 2.7.0 to 2.7.1 * correct SHA256 hash values for the .tar.xz files * updating Ruby version/hashes in a few missed files --- 2.4/alpine3.10/Dockerfile | 4 ++-- 2.4/alpine3.11/Dockerfile | 4 ++-- 2.4/buster/Dockerfile | 4 ++-- 2.4/buster/slim/Dockerfile | 4 ++-- 2.4/stretch/Dockerfile | 4 ++-- 2.4/stretch/slim/Dockerfile | 4 ++-- 2.5/alpine3.10/Dockerfile | 4 ++-- 2.5/alpine3.11/Dockerfile | 4 ++-- 2.5/buster/Dockerfile | 4 ++-- 2.5/buster/slim/Dockerfile | 4 ++-- 2.5/stretch/Dockerfile | 4 ++-- 2.5/stretch/slim/Dockerfile | 4 ++-- 2.6/alpine3.10/Dockerfile | 4 ++-- 2.6/alpine3.11/Dockerfile | 4 ++-- 2.6/buster/Dockerfile | 4 ++-- 2.6/buster/slim/Dockerfile | 4 ++-- 2.6/stretch/Dockerfile | 4 ++-- 2.6/stretch/slim/Dockerfile | 4 ++-- 2.7/alpine3.10/Dockerfile | 4 ++-- 2.7/alpine3.11/Dockerfile | 4 ++-- 2.7/buster/Dockerfile | 4 ++-- 2.7/buster/slim/Dockerfile | 4 ++-- 22 files changed, 44 insertions(+), 44 deletions(-) diff --git a/2.4/alpine3.10/Dockerfile b/2.4/alpine3.10/Dockerfile index 0d8ad7728d..0529f0daf0 100644 --- a/2.4/alpine3.10/Dockerfile +++ b/2.4/alpine3.10/Dockerfile @@ -12,8 +12,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.9 -ENV RUBY_DOWNLOAD_SHA256 0c4e000253ef7187feeb940a01a1c7594f28d63aa16f978e892a0e2864f58614 +ENV RUBY_VERSION 2.4.10 +ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.4/alpine3.11/Dockerfile b/2.4/alpine3.11/Dockerfile index 063754cd22..25b4cc6fe9 100644 --- a/2.4/alpine3.11/Dockerfile +++ b/2.4/alpine3.11/Dockerfile @@ -12,8 +12,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.9 -ENV RUBY_DOWNLOAD_SHA256 0c4e000253ef7187feeb940a01a1c7594f28d63aa16f978e892a0e2864f58614 +ENV RUBY_VERSION 2.4.10 +ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.4/buster/Dockerfile b/2.4/buster/Dockerfile index 1ecd8300d4..8b79d29287 100644 --- a/2.4/buster/Dockerfile +++ b/2.4/buster/Dockerfile @@ -9,8 +9,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.9 -ENV RUBY_DOWNLOAD_SHA256 0c4e000253ef7187feeb940a01a1c7594f28d63aa16f978e892a0e2864f58614 +ENV RUBY_VERSION 2.4.10 +ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.4/buster/slim/Dockerfile b/2.4/buster/slim/Dockerfile index fbe2173228..7346987f8e 100644 --- a/2.4/buster/slim/Dockerfile +++ b/2.4/buster/slim/Dockerfile @@ -23,8 +23,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.9 -ENV RUBY_DOWNLOAD_SHA256 0c4e000253ef7187feeb940a01a1c7594f28d63aa16f978e892a0e2864f58614 +ENV RUBY_VERSION 2.4.10 +ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.4/stretch/Dockerfile b/2.4/stretch/Dockerfile index 61eeb47f1f..e45b9c24d2 100644 --- a/2.4/stretch/Dockerfile +++ b/2.4/stretch/Dockerfile @@ -9,8 +9,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.9 -ENV RUBY_DOWNLOAD_SHA256 0c4e000253ef7187feeb940a01a1c7594f28d63aa16f978e892a0e2864f58614 +ENV RUBY_VERSION 2.4.10 +ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.4/stretch/slim/Dockerfile b/2.4/stretch/slim/Dockerfile index cda7d3db9a..8a078383e9 100644 --- a/2.4/stretch/slim/Dockerfile +++ b/2.4/stretch/slim/Dockerfile @@ -23,8 +23,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.9 -ENV RUBY_DOWNLOAD_SHA256 0c4e000253ef7187feeb940a01a1c7594f28d63aa16f978e892a0e2864f58614 +ENV RUBY_VERSION 2.4.10 +ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/alpine3.10/Dockerfile b/2.5/alpine3.10/Dockerfile index 58839f007d..0b50fa1c06 100644 --- a/2.5/alpine3.10/Dockerfile +++ b/2.5/alpine3.10/Dockerfile @@ -12,8 +12,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.7 -ENV RUBY_DOWNLOAD_SHA256 201870e8f58957d542233fef588b1d76f7bf962fea44dcbd2237f4a5899a3f95 +ENV RUBY_VERSION 2.5.8 +ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/alpine3.11/Dockerfile b/2.5/alpine3.11/Dockerfile index 5f6221819e..9707bb7738 100644 --- a/2.5/alpine3.11/Dockerfile +++ b/2.5/alpine3.11/Dockerfile @@ -12,8 +12,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.7 -ENV RUBY_DOWNLOAD_SHA256 201870e8f58957d542233fef588b1d76f7bf962fea44dcbd2237f4a5899a3f95 +ENV RUBY_VERSION 2.5.8 +ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/buster/Dockerfile b/2.5/buster/Dockerfile index d6f4a4995b..69889c0f2d 100644 --- a/2.5/buster/Dockerfile +++ b/2.5/buster/Dockerfile @@ -9,8 +9,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.7 -ENV RUBY_DOWNLOAD_SHA256 201870e8f58957d542233fef588b1d76f7bf962fea44dcbd2237f4a5899a3f95 +ENV RUBY_VERSION 2.5.8 +ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/buster/slim/Dockerfile b/2.5/buster/slim/Dockerfile index 600f0879e9..cbb641b636 100644 --- a/2.5/buster/slim/Dockerfile +++ b/2.5/buster/slim/Dockerfile @@ -23,8 +23,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.7 -ENV RUBY_DOWNLOAD_SHA256 201870e8f58957d542233fef588b1d76f7bf962fea44dcbd2237f4a5899a3f95 +ENV RUBY_VERSION 2.5.8 +ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/stretch/Dockerfile b/2.5/stretch/Dockerfile index acc9c60713..7c461bbeba 100644 --- a/2.5/stretch/Dockerfile +++ b/2.5/stretch/Dockerfile @@ -9,8 +9,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.7 -ENV RUBY_DOWNLOAD_SHA256 201870e8f58957d542233fef588b1d76f7bf962fea44dcbd2237f4a5899a3f95 +ENV RUBY_VERSION 2.5.8 +ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/stretch/slim/Dockerfile b/2.5/stretch/slim/Dockerfile index cf6a31990e..eff91d0d2f 100644 --- a/2.5/stretch/slim/Dockerfile +++ b/2.5/stretch/slim/Dockerfile @@ -23,8 +23,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.7 -ENV RUBY_DOWNLOAD_SHA256 201870e8f58957d542233fef588b1d76f7bf962fea44dcbd2237f4a5899a3f95 +ENV RUBY_VERSION 2.5.8 +ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.6/alpine3.10/Dockerfile b/2.6/alpine3.10/Dockerfile index 002cdac271..dda82a06f6 100644 --- a/2.6/alpine3.10/Dockerfile +++ b/2.6/alpine3.10/Dockerfile @@ -12,8 +12,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.5 -ENV RUBY_DOWNLOAD_SHA256 d5d6da717fd48524596f9b78ac5a2eeb9691753da5c06923a6c31190abe01a62 +ENV RUBY_VERSION 2.6.6 +ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/alpine3.11/Dockerfile b/2.6/alpine3.11/Dockerfile index a1705f4095..0fa1ca0569 100644 --- a/2.6/alpine3.11/Dockerfile +++ b/2.6/alpine3.11/Dockerfile @@ -12,8 +12,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.5 -ENV RUBY_DOWNLOAD_SHA256 d5d6da717fd48524596f9b78ac5a2eeb9691753da5c06923a6c31190abe01a62 +ENV RUBY_VERSION 2.6.6 +ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/buster/Dockerfile b/2.6/buster/Dockerfile index c933cbd4f6..a674f91ec7 100644 --- a/2.6/buster/Dockerfile +++ b/2.6/buster/Dockerfile @@ -9,8 +9,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.5 -ENV RUBY_DOWNLOAD_SHA256 d5d6da717fd48524596f9b78ac5a2eeb9691753da5c06923a6c31190abe01a62 +ENV RUBY_VERSION 2.6.6 +ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/buster/slim/Dockerfile b/2.6/buster/slim/Dockerfile index c22da5c666..22c3b4f383 100644 --- a/2.6/buster/slim/Dockerfile +++ b/2.6/buster/slim/Dockerfile @@ -23,8 +23,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.5 -ENV RUBY_DOWNLOAD_SHA256 d5d6da717fd48524596f9b78ac5a2eeb9691753da5c06923a6c31190abe01a62 +ENV RUBY_VERSION 2.6.6 +ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/stretch/Dockerfile b/2.6/stretch/Dockerfile index 7e1988b4ca..d1f91b35ef 100644 --- a/2.6/stretch/Dockerfile +++ b/2.6/stretch/Dockerfile @@ -9,8 +9,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.5 -ENV RUBY_DOWNLOAD_SHA256 d5d6da717fd48524596f9b78ac5a2eeb9691753da5c06923a6c31190abe01a62 +ENV RUBY_VERSION 2.6.6 +ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/stretch/slim/Dockerfile b/2.6/stretch/slim/Dockerfile index 524cb9fd28..49b5d1c0d6 100644 --- a/2.6/stretch/slim/Dockerfile +++ b/2.6/stretch/slim/Dockerfile @@ -23,8 +23,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.5 -ENV RUBY_DOWNLOAD_SHA256 d5d6da717fd48524596f9b78ac5a2eeb9691753da5c06923a6c31190abe01a62 +ENV RUBY_VERSION 2.6.6 +ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.10/Dockerfile b/2.7/alpine3.10/Dockerfile index 26a0394a60..d237a1ad4f 100644 --- a/2.7/alpine3.10/Dockerfile +++ b/2.7/alpine3.10/Dockerfile @@ -12,8 +12,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.0 -ENV RUBY_DOWNLOAD_SHA256 27d350a52a02b53034ca0794efe518667d558f152656c2baaf08f3d0c8b02343 +ENV RUBY_VERSION 2.7.1 +ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.11/Dockerfile b/2.7/alpine3.11/Dockerfile index 31f09e31a4..e075c99ded 100644 --- a/2.7/alpine3.11/Dockerfile +++ b/2.7/alpine3.11/Dockerfile @@ -12,8 +12,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.0 -ENV RUBY_DOWNLOAD_SHA256 27d350a52a02b53034ca0794efe518667d558f152656c2baaf08f3d0c8b02343 +ENV RUBY_VERSION 2.7.1 +ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index fbe54e26d9..87d102d00b 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -9,8 +9,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.0 -ENV RUBY_DOWNLOAD_SHA256 27d350a52a02b53034ca0794efe518667d558f152656c2baaf08f3d0c8b02343 +ENV RUBY_VERSION 2.7.1 +ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/slim/Dockerfile b/2.7/buster/slim/Dockerfile index 470a521e1f..e1a9bdbcae 100644 --- a/2.7/buster/slim/Dockerfile +++ b/2.7/buster/slim/Dockerfile @@ -23,8 +23,8 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.0 -ENV RUBY_DOWNLOAD_SHA256 27d350a52a02b53034ca0794efe518667d558f152656c2baaf08f3d0c8b02343 +ENV RUBY_VERSION 2.7.1 +ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From c27ff1e843711e3717b9163f643a93038a015126 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 13 Apr 2020 13:24:41 -0700 Subject: [PATCH 002/132] Remove 2.4 (EOL) See https://www.ruby-lang.org/en/news/2020/04/05/support-of-ruby-2-4-has-ended/ --- .travis.yml | 6 -- 2.4/alpine3.10/Dockerfile | 132 ------------------------------------ 2.4/alpine3.11/Dockerfile | 132 ------------------------------------ 2.4/buster/Dockerfile | 91 ------------------------- 2.4/buster/slim/Dockerfile | 117 -------------------------------- 2.4/stretch/Dockerfile | 91 ------------------------- 2.4/stretch/slim/Dockerfile | 116 ------------------------------- 7 files changed, 685 deletions(-) delete mode 100644 2.4/alpine3.10/Dockerfile delete mode 100644 2.4/alpine3.11/Dockerfile delete mode 100644 2.4/buster/Dockerfile delete mode 100644 2.4/buster/slim/Dockerfile delete mode 100644 2.4/stretch/Dockerfile delete mode 100644 2.4/stretch/slim/Dockerfile diff --git a/.travis.yml b/.travis.yml index 30d9b7fc23..cbd03ade36 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,12 +18,6 @@ env: - VERSION=2.5 VARIANT=stretch/slim - VERSION=2.5 VARIANT=alpine3.11 - VERSION=2.5 VARIANT=alpine3.10 - - VERSION=2.4 VARIANT=buster - - VERSION=2.4 VARIANT=buster/slim - - VERSION=2.4 VARIANT=stretch - - VERSION=2.4 VARIANT=stretch/slim - - VERSION=2.4 VARIANT=alpine3.11 - - VERSION=2.4 VARIANT=alpine3.10 install: - git clone --depth 1 https://github.com/docker-library/official-images.git ~/official-images diff --git a/2.4/alpine3.10/Dockerfile b/2.4/alpine3.10/Dockerfile deleted file mode 100644 index 0529f0daf0..0000000000 --- a/2.4/alpine3.10/Dockerfile +++ /dev/null @@ -1,132 +0,0 @@ -FROM alpine:3.10 - -RUN apk add --no-cache \ - gmp-dev - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.10 -ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.4/alpine3.11/Dockerfile b/2.4/alpine3.11/Dockerfile deleted file mode 100644 index 25b4cc6fe9..0000000000 --- a/2.4/alpine3.11/Dockerfile +++ /dev/null @@ -1,132 +0,0 @@ -FROM alpine:3.11 - -RUN apk add --no-cache \ - gmp-dev - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.10 -ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.4/buster/Dockerfile b/2.4/buster/Dockerfile deleted file mode 100644 index 8b79d29287..0000000000 --- a/2.4/buster/Dockerfile +++ /dev/null @@ -1,91 +0,0 @@ -FROM buildpack-deps:buster - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.10 -ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.4/buster/slim/Dockerfile b/2.4/buster/slim/Dockerfile deleted file mode 100644 index 7346987f8e..0000000000 --- a/2.4/buster/slim/Dockerfile +++ /dev/null @@ -1,117 +0,0 @@ -FROM debian:buster-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.10 -ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - autoconf \ - bison \ - dpkg-dev \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libgdbm-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - ruby \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.4/stretch/Dockerfile b/2.4/stretch/Dockerfile deleted file mode 100644 index e45b9c24d2..0000000000 --- a/2.4/stretch/Dockerfile +++ /dev/null @@ -1,91 +0,0 @@ -FROM buildpack-deps:stretch - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.10 -ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.4/stretch/slim/Dockerfile b/2.4/stretch/slim/Dockerfile deleted file mode 100644 index 8a078383e9..0000000000 --- a/2.4/stretch/slim/Dockerfile +++ /dev/null @@ -1,116 +0,0 @@ -FROM debian:stretch-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV RUBY_MAJOR 2.4 -ENV RUBY_VERSION 2.4.10 -ENV RUBY_DOWNLOAD_SHA256 d5668ed11544db034f70aec37d11e157538d639ed0d0a968e2f587191fc530df -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - autoconf \ - bison \ - dpkg-dev \ - gcc \ - libbz2-dev \ - libgdbm-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - ruby \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] From 3bda762014de29eb12759413226eee2fb2dc3394 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 28 Apr 2020 16:04:33 -0700 Subject: [PATCH 003/132] Add initial GitHub Actions CI --- .github/workflows/ci.yml | 48 ++++++++++++++++++++++++++++++++++++++++ .travis.yml | 42 ----------------------------------- README.md | 10 ++++----- update.sh | 6 ----- 4 files changed, 53 insertions(+), 53 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..155ef3165b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,48 @@ +name: GitHub CI + +on: + pull_request: + push: + schedule: + - cron: 0 0 * * 0 + +defaults: + run: + shell: 'bash -Eeuo pipefail -x {0}' + +jobs: + + generate-jobs: + name: Generate Jobs + runs-on: ubuntu-latest + outputs: + strategy: ${{ steps.generate-jobs.outputs.strategy }} + steps: + - uses: actions/checkout@v1 + - id: generate-jobs + name: Generate Jobs + run: | + git clone --depth 1 https://github.com/docker-library/bashbrew.git -b master ~/bashbrew + strategy="$(~/bashbrew/scripts/github-actions/generate.sh)" + jq . <<<"$strategy" # sanity check / debugging aid + echo "::set-output name=strategy::$strategy" + + test: + needs: generate-jobs + strategy: ${{ fromJson(needs.generate-jobs.outputs.strategy) }} + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v1 + - name: Prepare Environment + run: ${{ matrix.runs.prepare }} + - name: Pull Dependencies + run: ${{ matrix.runs.pull }} + - name: Build ${{ matrix.name }} + run: ${{ matrix.runs.build }} + - name: History ${{ matrix.name }} + run: ${{ matrix.runs.history }} + - name: Test ${{ matrix.name }} + run: ${{ matrix.runs.test }} + - name: '"docker images"' + run: ${{ matrix.runs.images }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index cbd03ade36..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,42 +0,0 @@ -language: bash -services: docker - -env: - - VERSION=2.7 VARIANT=buster - - VERSION=2.7 VARIANT=buster/slim - - VERSION=2.7 VARIANT=alpine3.11 - - VERSION=2.7 VARIANT=alpine3.10 - - VERSION=2.6 VARIANT=buster - - VERSION=2.6 VARIANT=buster/slim - - VERSION=2.6 VARIANT=stretch - - VERSION=2.6 VARIANT=stretch/slim - - VERSION=2.6 VARIANT=alpine3.11 - - VERSION=2.6 VARIANT=alpine3.10 - - VERSION=2.5 VARIANT=buster - - VERSION=2.5 VARIANT=buster/slim - - VERSION=2.5 VARIANT=stretch - - VERSION=2.5 VARIANT=stretch/slim - - VERSION=2.5 VARIANT=alpine3.11 - - VERSION=2.5 VARIANT=alpine3.10 - -install: - - git clone --depth 1 https://github.com/docker-library/official-images.git ~/official-images - -before_script: - - env | sort - - cd "$VERSION/$VARIANT" - - slash='/'; image="ruby:${VERSION}-${VARIANT//$slash/-}" - -script: - - | - ( - set -Eeuo pipefail - set -x - travis_retry docker build -t "$image" . - ~/official-images/test/run.sh "$image" - ) - -after_script: - - docker images - -# vim:set et ts=2 sw=2: diff --git a/README.md b/README.md index 74ca5de3cf..d77a68e19e 100644 --- a/README.md +++ b/README.md @@ -14,13 +14,13 @@ For outstanding `ruby` image PRs, check [PRs with the "library/ruby" label on th --- -- [![build status badge](https://img.shields.io/travis/docker-library/ruby/master.svg?label=Travis%20CI)](https://travis-ci.org/docker-library/ruby/branches) -- [![build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/update.sh/job/ruby.svg?label=Automated%20update.sh)](https://doi-janky.infosiftr.net/job/update.sh/job/ruby) +- [![build status badge](https://img.shields.io/github/workflow/status/docker-library/ruby/GitHub%20CI/master?label=GitHub%20CI)](https://github.com/docker-library/ruby/actions?query=workflow%3A%22GitHub+CI%22+branch%3Amaster) +- [![build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/update.sh/job/ruby.svg?label=Automated%20update.sh)](https://doi-janky.infosiftr.net/job/update.sh/job/ruby/) | Build | Status | Badges | (per-arch) | |:-:|:-:|:-:|:-:| -| [![amd64 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/amd64/job/ruby.svg?label=amd64)](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/ruby) | [![arm32v5 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/ruby.svg?label=arm32v5)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/ruby) | [![arm32v6 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/ruby.svg?label=arm32v6)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/ruby) | [![arm32v7 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/ruby.svg?label=arm32v7)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/ruby) | -| [![arm64v8 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/ruby.svg?label=arm64v8)](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/ruby) | [![i386 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/i386/job/ruby.svg?label=i386)](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/ruby) | [![ppc64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/ruby.svg?label=ppc64le)](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/ruby) | [![s390x build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/s390x/job/ruby.svg?label=s390x)](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/ruby) | -| [![put-shared build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/put-shared/job/light/job/ruby.svg?label=put-shared)](https://doi-janky.infosiftr.net/job/put-shared/job/light/job/ruby) | +| [![amd64 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/amd64/job/ruby.svg?label=amd64)](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/ruby/) | [![arm32v5 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/ruby.svg?label=arm32v5)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/ruby/) | [![arm32v6 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/ruby.svg?label=arm32v6)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/ruby/) | [![arm32v7 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/ruby.svg?label=arm32v7)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/ruby/) | +| [![arm64v8 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/ruby.svg?label=arm64v8)](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/ruby/) | [![i386 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/i386/job/ruby.svg?label=i386)](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/ruby/) | [![mips64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/ruby.svg?label=mips64le)](https://doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/ruby/) | [![ppc64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/ruby.svg?label=ppc64le)](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/ruby/) | +| [![s390x build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/s390x/job/ruby.svg?label=s390x)](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/ruby/) | [![put-shared build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/put-shared/job/light/job/ruby.svg?label=put-shared)](https://doi-janky.infosiftr.net/job/put-shared/job/light/job/ruby/) | diff --git a/update.sh b/update.sh index 5be166cbd4..48a3f3cf39 100755 --- a/update.sh +++ b/update.sh @@ -25,7 +25,6 @@ declare -A newEnoughRubygems=( ) # TODO once all versions are in this family of "new enough", remove RUBYGEMS_VERSION code entirely -travisEnv= for version in "${versions[@]}"; do rcGrepV='-v' rcVersion="${version%-rc}" @@ -108,10 +107,5 @@ for version in "${versions[@]}"; do if [ -n "${newEnoughRubygems[$rcVersion]:-}" ]; then sed -ri -e '/RUBYGEMS_VERSION/d' "$dir/Dockerfile" fi - - travisEnv='\n - VERSION='"$version VARIANT=$v$travisEnv" done done - -travis="$(awk -v 'RS=\n\n' '$1 == "env:" { $0 = "env:'"$travisEnv"'" } { printf "%s%s", $0, RS }' .travis.yml)" -echo "$travis" > .travis.yml From 27938afac28fcb1fc167ddf6ee15520e88d90259 Mon Sep 17 00:00:00 2001 From: J0WI Date: Wed, 10 Jun 2020 23:23:05 +0200 Subject: [PATCH 004/132] Add Alpine 3.12 --- 2.5/alpine3.11/Dockerfile | 1 + 2.5/{alpine3.10 => alpine3.12}/Dockerfile | 3 ++- 2.6/alpine3.11/Dockerfile | 1 + 2.6/{alpine3.10 => alpine3.12}/Dockerfile | 3 ++- 2.7/alpine3.11/Dockerfile | 1 + 2.7/{alpine3.10 => alpine3.12}/Dockerfile | 3 ++- Dockerfile-alpine.template | 1 + generate-stackbrew-library.sh | 4 ++-- update.sh | 2 +- 9 files changed, 13 insertions(+), 6 deletions(-) rename 2.5/{alpine3.10 => alpine3.12}/Dockerfile (99%) rename 2.6/{alpine3.10 => alpine3.12}/Dockerfile (99%) rename 2.7/{alpine3.10 => alpine3.12}/Dockerfile (99%) diff --git a/2.5/alpine3.11/Dockerfile b/2.5/alpine3.11/Dockerfile index 9707bb7738..9c077a2e84 100644 --- a/2.5/alpine3.11/Dockerfile +++ b/2.5/alpine3.11/Dockerfile @@ -41,6 +41,7 @@ RUN set -eux; \ ncurses-dev \ openssl \ openssl-dev \ + patch \ procps \ readline-dev \ ruby \ diff --git a/2.5/alpine3.10/Dockerfile b/2.5/alpine3.12/Dockerfile similarity index 99% rename from 2.5/alpine3.10/Dockerfile rename to 2.5/alpine3.12/Dockerfile index 0b50fa1c06..4e72886b1c 100644 --- a/2.5/alpine3.10/Dockerfile +++ b/2.5/alpine3.12/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.10 +FROM alpine:3.12 RUN apk add --no-cache \ gmp-dev @@ -41,6 +41,7 @@ RUN set -eux; \ ncurses-dev \ openssl \ openssl-dev \ + patch \ procps \ readline-dev \ ruby \ diff --git a/2.6/alpine3.11/Dockerfile b/2.6/alpine3.11/Dockerfile index 0fa1ca0569..5f78e80591 100644 --- a/2.6/alpine3.11/Dockerfile +++ b/2.6/alpine3.11/Dockerfile @@ -40,6 +40,7 @@ RUN set -eux; \ ncurses-dev \ openssl \ openssl-dev \ + patch \ procps \ readline-dev \ ruby \ diff --git a/2.6/alpine3.10/Dockerfile b/2.6/alpine3.12/Dockerfile similarity index 99% rename from 2.6/alpine3.10/Dockerfile rename to 2.6/alpine3.12/Dockerfile index dda82a06f6..f59cd698ab 100644 --- a/2.6/alpine3.10/Dockerfile +++ b/2.6/alpine3.12/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.10 +FROM alpine:3.12 RUN apk add --no-cache \ gmp-dev @@ -40,6 +40,7 @@ RUN set -eux; \ ncurses-dev \ openssl \ openssl-dev \ + patch \ procps \ readline-dev \ ruby \ diff --git a/2.7/alpine3.11/Dockerfile b/2.7/alpine3.11/Dockerfile index e075c99ded..0936248b6c 100644 --- a/2.7/alpine3.11/Dockerfile +++ b/2.7/alpine3.11/Dockerfile @@ -40,6 +40,7 @@ RUN set -eux; \ ncurses-dev \ openssl \ openssl-dev \ + patch \ procps \ readline-dev \ ruby \ diff --git a/2.7/alpine3.10/Dockerfile b/2.7/alpine3.12/Dockerfile similarity index 99% rename from 2.7/alpine3.10/Dockerfile rename to 2.7/alpine3.12/Dockerfile index d237a1ad4f..6f45f215f7 100644 --- a/2.7/alpine3.10/Dockerfile +++ b/2.7/alpine3.12/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.10 +FROM alpine:3.12 RUN apk add --no-cache \ gmp-dev @@ -40,6 +40,7 @@ RUN set -eux; \ ncurses-dev \ openssl \ openssl-dev \ + patch \ procps \ readline-dev \ ruby \ diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 8b46d6afc6..1a72213bd8 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -41,6 +41,7 @@ RUN set -eux; \ ncurses-dev \ openssl \ openssl-dev \ + patch \ procps \ readline-dev \ ruby \ diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index b6bdf9868a..e1b2fe0e2d 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -10,7 +10,7 @@ defaultDebianSuite='buster' declare -A debianSuites=( #[2.7]='buster' ) -defaultAlpineVersion='3.11' +defaultAlpineVersion='3.12' declare -A alpineVersion=( #[2.3]='3.8' ) @@ -80,7 +80,7 @@ join() { for version in "${versions[@]}"; do for v in \ {buster,stretch}{,/slim} \ - alpine{3.11,3.10} \ + alpine{3.12,3.11} \ ; do dir="$version/$v" variant="$(basename "$v")" diff --git a/update.sh b/update.sh index 48a3f3cf39..1df7ba411e 100755 --- a/update.sh +++ b/update.sh @@ -70,7 +70,7 @@ for version in "${versions[@]}"; do echo "$version: $fullVersion; $shaVal" for v in \ - alpine{3.10,3.11} \ + alpine{3.12,3.11} \ {stretch,buster}{/slim,} \ ; do dir="$version/$v" From 8e49e25b591d4cfa6324b6dada4f16629a1e51ce Mon Sep 17 00:00:00 2001 From: Fumiaki MATSUSHIMA Date: Sat, 13 Jun 2020 13:37:45 +0900 Subject: [PATCH 005/132] Set LANG by default Ruby docker images officially provided by ruby-lang.org set `LANG` as `C.UTF-8` by default. https://hub.docker.com/r/rubylang/ruby/ https://github.com/ruby/ruby-docker-images/blob/36c5d8b68eb91e34825500e50ca677f5574401f7/Dockerfile#L3 https://github.com/docker-library/ruby/issues/45#issuecomment-117298344 > I'd rather see something more official from either Ruby or Rails upstreams > recommending a UTF-8 locale by default than just the anecdote that it's > "more common" or "more convenient". I think it's the one so we should set it by default. --- 2.5/alpine3.11/Dockerfile | 1 + 2.5/alpine3.12/Dockerfile | 1 + 2.5/buster/Dockerfile | 1 + 2.5/buster/slim/Dockerfile | 1 + 2.5/stretch/Dockerfile | 1 + 2.5/stretch/slim/Dockerfile | 1 + 2.6/alpine3.11/Dockerfile | 1 + 2.6/alpine3.12/Dockerfile | 1 + 2.6/buster/Dockerfile | 1 + 2.6/buster/slim/Dockerfile | 1 + 2.6/stretch/Dockerfile | 1 + 2.6/stretch/slim/Dockerfile | 1 + 2.7/alpine3.11/Dockerfile | 1 + 2.7/alpine3.12/Dockerfile | 1 + 2.7/buster/Dockerfile | 1 + 2.7/buster/slim/Dockerfile | 1 + Dockerfile-alpine.template | 1 + Dockerfile-debian.template | 1 + Dockerfile-slim.template | 1 + 19 files changed, 19 insertions(+) diff --git a/2.5/alpine3.11/Dockerfile b/2.5/alpine3.11/Dockerfile index 9c077a2e84..ead925c040 100644 --- a/2.5/alpine3.11/Dockerfile +++ b/2.5/alpine3.11/Dockerfile @@ -11,6 +11,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 ENV RUBY_VERSION 2.5.8 ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d diff --git a/2.5/alpine3.12/Dockerfile b/2.5/alpine3.12/Dockerfile index 4e72886b1c..ae82cee2fc 100644 --- a/2.5/alpine3.12/Dockerfile +++ b/2.5/alpine3.12/Dockerfile @@ -11,6 +11,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 ENV RUBY_VERSION 2.5.8 ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d diff --git a/2.5/buster/Dockerfile b/2.5/buster/Dockerfile index 69889c0f2d..cee7ea7bae 100644 --- a/2.5/buster/Dockerfile +++ b/2.5/buster/Dockerfile @@ -8,6 +8,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 ENV RUBY_VERSION 2.5.8 ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d diff --git a/2.5/buster/slim/Dockerfile b/2.5/buster/slim/Dockerfile index cbb641b636..05c0daa250 100644 --- a/2.5/buster/slim/Dockerfile +++ b/2.5/buster/slim/Dockerfile @@ -22,6 +22,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 ENV RUBY_VERSION 2.5.8 ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d diff --git a/2.5/stretch/Dockerfile b/2.5/stretch/Dockerfile index 7c461bbeba..2edae2c2d4 100644 --- a/2.5/stretch/Dockerfile +++ b/2.5/stretch/Dockerfile @@ -8,6 +8,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 ENV RUBY_VERSION 2.5.8 ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d diff --git a/2.5/stretch/slim/Dockerfile b/2.5/stretch/slim/Dockerfile index eff91d0d2f..4297e7a4a0 100644 --- a/2.5/stretch/slim/Dockerfile +++ b/2.5/stretch/slim/Dockerfile @@ -22,6 +22,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 ENV RUBY_VERSION 2.5.8 ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d diff --git a/2.6/alpine3.11/Dockerfile b/2.6/alpine3.11/Dockerfile index 5f78e80591..b0aa8d8601 100644 --- a/2.6/alpine3.11/Dockerfile +++ b/2.6/alpine3.11/Dockerfile @@ -11,6 +11,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 ENV RUBY_VERSION 2.6.6 ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f diff --git a/2.6/alpine3.12/Dockerfile b/2.6/alpine3.12/Dockerfile index f59cd698ab..5ab1287e4c 100644 --- a/2.6/alpine3.12/Dockerfile +++ b/2.6/alpine3.12/Dockerfile @@ -11,6 +11,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 ENV RUBY_VERSION 2.6.6 ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f diff --git a/2.6/buster/Dockerfile b/2.6/buster/Dockerfile index a674f91ec7..6b805a515a 100644 --- a/2.6/buster/Dockerfile +++ b/2.6/buster/Dockerfile @@ -8,6 +8,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 ENV RUBY_VERSION 2.6.6 ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f diff --git a/2.6/buster/slim/Dockerfile b/2.6/buster/slim/Dockerfile index 22c3b4f383..50bb840912 100644 --- a/2.6/buster/slim/Dockerfile +++ b/2.6/buster/slim/Dockerfile @@ -22,6 +22,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 ENV RUBY_VERSION 2.6.6 ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f diff --git a/2.6/stretch/Dockerfile b/2.6/stretch/Dockerfile index d1f91b35ef..c750094399 100644 --- a/2.6/stretch/Dockerfile +++ b/2.6/stretch/Dockerfile @@ -8,6 +8,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 ENV RUBY_VERSION 2.6.6 ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f diff --git a/2.6/stretch/slim/Dockerfile b/2.6/stretch/slim/Dockerfile index 49b5d1c0d6..f48b28a98d 100644 --- a/2.6/stretch/slim/Dockerfile +++ b/2.6/stretch/slim/Dockerfile @@ -22,6 +22,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 ENV RUBY_VERSION 2.6.6 ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f diff --git a/2.7/alpine3.11/Dockerfile b/2.7/alpine3.11/Dockerfile index 0936248b6c..d79df1ee7c 100644 --- a/2.7/alpine3.11/Dockerfile +++ b/2.7/alpine3.11/Dockerfile @@ -11,6 +11,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 ENV RUBY_VERSION 2.7.1 ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 diff --git a/2.7/alpine3.12/Dockerfile b/2.7/alpine3.12/Dockerfile index 6f45f215f7..3bee12933d 100644 --- a/2.7/alpine3.12/Dockerfile +++ b/2.7/alpine3.12/Dockerfile @@ -11,6 +11,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 ENV RUBY_VERSION 2.7.1 ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index 87d102d00b..12efa7fb27 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -8,6 +8,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 ENV RUBY_VERSION 2.7.1 ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 diff --git a/2.7/buster/slim/Dockerfile b/2.7/buster/slim/Dockerfile index e1a9bdbcae..bf5a4aee8f 100644 --- a/2.7/buster/slim/Dockerfile +++ b/2.7/buster/slim/Dockerfile @@ -22,6 +22,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 ENV RUBY_VERSION 2.7.1 ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 1a72213bd8..71bff794d5 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -11,6 +11,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR %%VERSION%% ENV RUBY_VERSION %%FULL_VERSION%% ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index 33314a1356..6df3acde71 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -8,6 +8,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR %%VERSION%% ENV RUBY_VERSION %%FULL_VERSION%% ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% diff --git a/Dockerfile-slim.template b/Dockerfile-slim.template index e286ccc349..4ba64e7eaa 100644 --- a/Dockerfile-slim.template +++ b/Dockerfile-slim.template @@ -22,6 +22,7 @@ RUN set -eux; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc +ENV LANG C.UTF-8 ENV RUBY_MAJOR %%VERSION%% ENV RUBY_VERSION %%FULL_VERSION%% ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% From 57a8df4f141840757a74c6caf8d8bae7010cc512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Codru=C8=9B=20Constantin=20Gu=C8=99oi?= Date: Sun, 27 Sep 2020 12:28:37 +0100 Subject: [PATCH 006/132] Add ruby 3.0.0-preview1 --- 3.0-rc/alpine3.12/Dockerfile | 130 ++++++++++++++++++++++++++++++++++ 3.0-rc/buster/Dockerfile | 88 +++++++++++++++++++++++ 3.0-rc/buster/slim/Dockerfile | 114 +++++++++++++++++++++++++++++ update.sh | 1 + 4 files changed, 333 insertions(+) create mode 100644 3.0-rc/alpine3.12/Dockerfile create mode 100644 3.0-rc/buster/Dockerfile create mode 100644 3.0-rc/buster/slim/Dockerfile diff --git a/3.0-rc/alpine3.12/Dockerfile b/3.0-rc/alpine3.12/Dockerfile new file mode 100644 index 0000000000..6880b16458 --- /dev/null +++ b/3.0-rc/alpine3.12/Dockerfile @@ -0,0 +1,130 @@ +FROM alpine:3.12 + +RUN apk add --no-cache \ + gmp-dev + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.0-rc +ENV RUBY_VERSION 3.0.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 aa7cce0c99f4ea2145fef9b78d74a44857754396790cd23bad75d759811e7a2a + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps \ + $runDeps \ + bzip2 \ + ca-certificates \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + ! apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.0-rc/buster/Dockerfile b/3.0-rc/buster/Dockerfile new file mode 100644 index 0000000000..fa9b0208b6 --- /dev/null +++ b/3.0-rc/buster/Dockerfile @@ -0,0 +1,88 @@ +FROM buildpack-deps:buster + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.0-rc +ENV RUBY_VERSION 3.0.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 aa7cce0c99f4ea2145fef9b78d74a44857754396790cd23bad75d759811e7a2a + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + ! dpkg -l | grep -i ruby; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.0-rc/buster/slim/Dockerfile b/3.0-rc/buster/slim/Dockerfile new file mode 100644 index 0000000000..af1347fad9 --- /dev/null +++ b/3.0-rc/buster/slim/Dockerfile @@ -0,0 +1,114 @@ +FROM debian:buster-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.0-rc +ENV RUBY_VERSION 3.0.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 aa7cce0c99f4ea2145fef9b78d74a44857754396790cd23bad75d759811e7a2a + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + bison \ + dpkg-dev \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + ruby \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + ! dpkg -l | grep -i ruby; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/update.sh b/update.sh index 1df7ba411e..fae7a3dcdf 100755 --- a/update.sh +++ b/update.sh @@ -22,6 +22,7 @@ rubygems='3.0.3' declare -A newEnoughRubygems=( [2.6]=1 # 2.6.3 => gems 3.0.3 (https://github.com/ruby/ruby/blob/v2_6_3/lib/rubygems.rb#L12) [2.7]=1 # 2.7.0-preview2 => gems 3.1.0.pre1 (https://github.com/ruby/ruby/blob/v2_7_0_preview1/lib/rubygems.rb#L12) + [3.0]=1 # 3.0.0-preview1 => gems 3.2.0.rc.1 (https://github.com/ruby/ruby/blob/v3_0_0_preview1/lib/rubygems.rb#L11) ) # TODO once all versions are in this family of "new enough", remove RUBYGEMS_VERSION code entirely From 4deeb55ed067883f446e427f2d599476abf2d0c9 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 28 Sep 2020 13:56:39 -0700 Subject: [PATCH 007/132] Simplify update.sh handling of rubygems now that 2.5 is our only remaining instance --- update.sh | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/update.sh b/update.sh index fae7a3dcdf..42181d9061 100755 --- a/update.sh +++ b/update.sh @@ -13,19 +13,6 @@ releasesPage="$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/')" newsPage="$(curl -fsSL 'https://www.ruby-lang.org/en/news/')" # occasionally, releases don't show up on the Releases page (see https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml) # TODO consider parsing https://github.com/ruby/www.ruby-lang.org/blob/master/_data/downloads.yml as well -latest_gem_version() { - curl -fsSL "https://rubygems.org/api/v1/gems/$1.json" | sed -r 's/^.*"version":"([^"]+)".*$/\1/' -} - -# https://github.com/docker-library/ruby/issues/246 -rubygems='3.0.3' -declare -A newEnoughRubygems=( - [2.6]=1 # 2.6.3 => gems 3.0.3 (https://github.com/ruby/ruby/blob/v2_6_3/lib/rubygems.rb#L12) - [2.7]=1 # 2.7.0-preview2 => gems 3.1.0.pre1 (https://github.com/ruby/ruby/blob/v2_7_0_preview1/lib/rubygems.rb#L12) - [3.0]=1 # 3.0.0-preview1 => gems 3.2.0.rc.1 (https://github.com/ruby/ruby/blob/v3_0_0_preview1/lib/rubygems.rb#L11) -) -# TODO once all versions are in this family of "new enough", remove RUBYGEMS_VERSION code entirely - for version in "${versions[@]}"; do rcGrepV='-v' rcVersion="${version%-rc}" @@ -94,7 +81,6 @@ for version in "${versions[@]}"; do -e 's!%%VERSION%%!'"$version"'!g' \ -e 's!%%FULL_VERSION%%!'"$fullVersion"'!g' \ -e 's!%%SHA256%%!'"$shaVal"'!g' \ - -e 's!%%RUBYGEMS%%!'"$rubygems"'!g' \ -e 's/^(FROM (debian|buildpack-deps|alpine)):.*/\1:'"$tag"'/' \ "$template" > "$dir/Dockerfile" @@ -105,7 +91,13 @@ for version in "${versions[@]}"; do ;; esac - if [ -n "${newEnoughRubygems[$rcVersion]:-}" ]; then + # https://github.com/docker-library/ruby/issues/246 + if [ "$rcVersion" = '2.5' ]; then + rubygems='3.0.3' + sed -ri \ + -e 's!%%RUBYGEMS%%!'"$rubygems"'!g' \ + "$dir/Dockerfile" + else sed -ri -e '/RUBYGEMS_VERSION/d' "$dir/Dockerfile" fi done From 5a4e2d8d9fae6681ac3e2344eac547f0e2cdc598 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Fri, 2 Oct 2020 17:03:10 +0000 Subject: [PATCH 008/132] Update to 2.7.2 --- 2.7/alpine3.11/Dockerfile | 4 ++-- 2.7/alpine3.12/Dockerfile | 4 ++-- 2.7/buster/Dockerfile | 4 ++-- 2.7/buster/slim/Dockerfile | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/2.7/alpine3.11/Dockerfile b/2.7/alpine3.11/Dockerfile index d79df1ee7c..2ba5bfc8e9 100644 --- a/2.7/alpine3.11/Dockerfile +++ b/2.7/alpine3.11/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.1 -ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 +ENV RUBY_VERSION 2.7.2 +ENV RUBY_DOWNLOAD_SHA256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.12/Dockerfile b/2.7/alpine3.12/Dockerfile index 3bee12933d..a5586042d1 100644 --- a/2.7/alpine3.12/Dockerfile +++ b/2.7/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.1 -ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 +ENV RUBY_VERSION 2.7.2 +ENV RUBY_DOWNLOAD_SHA256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index 12efa7fb27..4bac22c379 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.1 -ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 +ENV RUBY_VERSION 2.7.2 +ENV RUBY_DOWNLOAD_SHA256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/slim/Dockerfile b/2.7/buster/slim/Dockerfile index bf5a4aee8f..0e60e9a796 100644 --- a/2.7/buster/slim/Dockerfile +++ b/2.7/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.1 -ENV RUBY_DOWNLOAD_SHA256 b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7 +ENV RUBY_VERSION 2.7.2 +ENV RUBY_DOWNLOAD_SHA256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From 886df6b547e4c61c113ba05dfd88eff4d94de9b4 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Tue, 8 Dec 2020 12:03:11 +0000 Subject: [PATCH 009/132] Update to 3.0.0-preview2 --- 3.0-rc/alpine3.12/Dockerfile | 4 ++-- 3.0-rc/buster/Dockerfile | 4 ++-- 3.0-rc/buster/slim/Dockerfile | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/3.0-rc/alpine3.12/Dockerfile b/3.0-rc/alpine3.12/Dockerfile index 6880b16458..33b6c6dfc4 100644 --- a/3.0-rc/alpine3.12/Dockerfile +++ b/3.0-rc/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 aa7cce0c99f4ea2145fef9b78d74a44857754396790cd23bad75d759811e7a2a +ENV RUBY_VERSION 3.0.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 03078e82d4fb55c13837c69e56565fc49c451d11b1ca5e1b075d990d0957f181 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0-rc/buster/Dockerfile b/3.0-rc/buster/Dockerfile index fa9b0208b6..91bde92c34 100644 --- a/3.0-rc/buster/Dockerfile +++ b/3.0-rc/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 aa7cce0c99f4ea2145fef9b78d74a44857754396790cd23bad75d759811e7a2a +ENV RUBY_VERSION 3.0.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 03078e82d4fb55c13837c69e56565fc49c451d11b1ca5e1b075d990d0957f181 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0-rc/buster/slim/Dockerfile b/3.0-rc/buster/slim/Dockerfile index af1347fad9..bd301c4f70 100644 --- a/3.0-rc/buster/slim/Dockerfile +++ b/3.0-rc/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 aa7cce0c99f4ea2145fef9b78d74a44857754396790cd23bad75d759811e7a2a +ENV RUBY_VERSION 3.0.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 03078e82d4fb55c13837c69e56565fc49c451d11b1ca5e1b075d990d0957f181 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From cb97d24839bb1b446f55fac5e14573e62a94d6b2 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Mon, 21 Dec 2020 17:42:26 +0000 Subject: [PATCH 010/132] Update to 3.0.0-rc1 --- 3.0-rc/alpine3.12/Dockerfile | 4 ++-- 3.0-rc/buster/Dockerfile | 4 ++-- 3.0-rc/buster/slim/Dockerfile | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/3.0-rc/alpine3.12/Dockerfile b/3.0-rc/alpine3.12/Dockerfile index 33b6c6dfc4..0e3634a8ea 100644 --- a/3.0-rc/alpine3.12/Dockerfile +++ b/3.0-rc/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 03078e82d4fb55c13837c69e56565fc49c451d11b1ca5e1b075d990d0957f181 +ENV RUBY_VERSION 3.0.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 f1adda082f9291e394d25ed32975abbef90962dc4c8b11130586a0151558e79a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0-rc/buster/Dockerfile b/3.0-rc/buster/Dockerfile index 91bde92c34..1022e69193 100644 --- a/3.0-rc/buster/Dockerfile +++ b/3.0-rc/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 03078e82d4fb55c13837c69e56565fc49c451d11b1ca5e1b075d990d0957f181 +ENV RUBY_VERSION 3.0.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 f1adda082f9291e394d25ed32975abbef90962dc4c8b11130586a0151558e79a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0-rc/buster/slim/Dockerfile b/3.0-rc/buster/slim/Dockerfile index bd301c4f70..1401f3739c 100644 --- a/3.0-rc/buster/slim/Dockerfile +++ b/3.0-rc/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 03078e82d4fb55c13837c69e56565fc49c451d11b1ca5e1b075d990d0957f181 +ENV RUBY_VERSION 3.0.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 f1adda082f9291e394d25ed32975abbef90962dc4c8b11130586a0151558e79a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From 921f2e68671461785e822aa437b68433278263b9 Mon Sep 17 00:00:00 2001 From: Fumiaki MATSUSHIMA Date: Fri, 25 Dec 2020 15:24:09 +0900 Subject: [PATCH 011/132] Ruby 3.0.0 is released --- {3.0-rc => 3.0}/alpine3.12/Dockerfile | 6 +++--- {3.0-rc => 3.0}/buster/Dockerfile | 6 +++--- {3.0-rc => 3.0}/buster/slim/Dockerfile | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) rename {3.0-rc => 3.0}/alpine3.12/Dockerfile (96%) rename {3.0-rc => 3.0}/buster/Dockerfile (94%) rename {3.0-rc => 3.0}/buster/slim/Dockerfile (95%) diff --git a/3.0-rc/alpine3.12/Dockerfile b/3.0/alpine3.12/Dockerfile similarity index 96% rename from 3.0-rc/alpine3.12/Dockerfile rename to 3.0/alpine3.12/Dockerfile index 0e3634a8ea..ff7bf6dca1 100644 --- a/3.0-rc/alpine3.12/Dockerfile +++ b/3.0/alpine3.12/Dockerfile @@ -12,9 +12,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 f1adda082f9291e394d25ed32975abbef90962dc4c8b11130586a0151558e79a +ENV RUBY_MAJOR 3.0 +ENV RUBY_VERSION 3.0.0 +ENV RUBY_DOWNLOAD_SHA256 68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0-rc/buster/Dockerfile b/3.0/buster/Dockerfile similarity index 94% rename from 3.0-rc/buster/Dockerfile rename to 3.0/buster/Dockerfile index 1022e69193..0f81bb7e13 100644 --- a/3.0-rc/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -9,9 +9,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 f1adda082f9291e394d25ed32975abbef90962dc4c8b11130586a0151558e79a +ENV RUBY_MAJOR 3.0 +ENV RUBY_VERSION 3.0.0 +ENV RUBY_DOWNLOAD_SHA256 68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0-rc/buster/slim/Dockerfile b/3.0/buster/slim/Dockerfile similarity index 95% rename from 3.0-rc/buster/slim/Dockerfile rename to 3.0/buster/slim/Dockerfile index 1401f3739c..df682c5712 100644 --- a/3.0-rc/buster/slim/Dockerfile +++ b/3.0/buster/slim/Dockerfile @@ -23,9 +23,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0-rc -ENV RUBY_VERSION 3.0.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 f1adda082f9291e394d25ed32975abbef90962dc4c8b11130586a0151558e79a +ENV RUBY_MAJOR 3.0 +ENV RUBY_VERSION 3.0.0 +ENV RUBY_DOWNLOAD_SHA256 68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From f5aa18521c3b73f92ae340d14dc9d24555d02f43 Mon Sep 17 00:00:00 2001 From: Fumiaki MATSUSHIMA Date: Fri, 25 Dec 2020 15:51:22 +0900 Subject: [PATCH 012/132] Update generate-stackbrew-library.sh for Ruby 3.0 --- generate-stackbrew-library.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index e1b2fe0e2d..c179d37a21 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -2,8 +2,8 @@ set -Eeuo pipefail declare -A aliases=( - [2.8-rc]='rc' - [2.7]='2 latest' + [3.0]='3 latest' + [2.7]='2' ) defaultDebianSuite='buster' From 8ec0fe3a4d9bf9243a2b3247927169c139d5a1a1 Mon Sep 17 00:00:00 2001 From: Joe Ferguson Date: Fri, 15 Jan 2021 16:52:20 -0800 Subject: [PATCH 013/132] Add alpine:3.13 images; Drop alpine:3.11 Only two versions of alpine are supported at a time --- 2.5/{alpine3.11 => alpine3.13}/Dockerfile | 2 +- 2.6/{alpine3.11 => alpine3.13}/Dockerfile | 2 +- 2.7/{alpine3.11 => alpine3.13}/Dockerfile | 2 +- 3.0/alpine3.13/Dockerfile | 130 ++++++++++++++++++++++ generate-stackbrew-library.sh | 4 +- update.sh | 2 +- 6 files changed, 136 insertions(+), 6 deletions(-) rename 2.5/{alpine3.11 => alpine3.13}/Dockerfile (99%) rename 2.6/{alpine3.11 => alpine3.13}/Dockerfile (99%) rename 2.7/{alpine3.11 => alpine3.13}/Dockerfile (99%) create mode 100644 3.0/alpine3.13/Dockerfile diff --git a/2.5/alpine3.11/Dockerfile b/2.5/alpine3.13/Dockerfile similarity index 99% rename from 2.5/alpine3.11/Dockerfile rename to 2.5/alpine3.13/Dockerfile index ead925c040..e6b003f46d 100644 --- a/2.5/alpine3.11/Dockerfile +++ b/2.5/alpine3.13/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.11 +FROM alpine:3.13 RUN apk add --no-cache \ gmp-dev diff --git a/2.6/alpine3.11/Dockerfile b/2.6/alpine3.13/Dockerfile similarity index 99% rename from 2.6/alpine3.11/Dockerfile rename to 2.6/alpine3.13/Dockerfile index b0aa8d8601..85186cf3bb 100644 --- a/2.6/alpine3.11/Dockerfile +++ b/2.6/alpine3.13/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.11 +FROM alpine:3.13 RUN apk add --no-cache \ gmp-dev diff --git a/2.7/alpine3.11/Dockerfile b/2.7/alpine3.13/Dockerfile similarity index 99% rename from 2.7/alpine3.11/Dockerfile rename to 2.7/alpine3.13/Dockerfile index 2ba5bfc8e9..f1600e8a21 100644 --- a/2.7/alpine3.11/Dockerfile +++ b/2.7/alpine3.13/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.11 +FROM alpine:3.13 RUN apk add --no-cache \ gmp-dev diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.13/Dockerfile new file mode 100644 index 0000000000..77dabff95c --- /dev/null +++ b/3.0/alpine3.13/Dockerfile @@ -0,0 +1,130 @@ +FROM alpine:3.13 + +RUN apk add --no-cache \ + gmp-dev + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.0 +ENV RUBY_VERSION 3.0.0 +ENV RUBY_DOWNLOAD_SHA256 68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps \ + $runDeps \ + bzip2 \ + ca-certificates \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + ! apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index c179d37a21..3067c43953 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -10,7 +10,7 @@ defaultDebianSuite='buster' declare -A debianSuites=( #[2.7]='buster' ) -defaultAlpineVersion='3.12' +defaultAlpineVersion='3.13' declare -A alpineVersion=( #[2.3]='3.8' ) @@ -80,7 +80,7 @@ join() { for version in "${versions[@]}"; do for v in \ {buster,stretch}{,/slim} \ - alpine{3.12,3.11} \ + alpine{3.13,3.12} \ ; do dir="$version/$v" variant="$(basename "$v")" diff --git a/update.sh b/update.sh index 42181d9061..f34bdc8fab 100755 --- a/update.sh +++ b/update.sh @@ -58,7 +58,7 @@ for version in "${versions[@]}"; do echo "$version: $fullVersion; $shaVal" for v in \ - alpine{3.12,3.11} \ + alpine{3.13,3.12} \ {stretch,buster}{/slim,} \ ; do dir="$version/$v" From 3904524e5d9e538b33525a602a4bcb7618aff8b6 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 5 Apr 2021 09:23:27 -0700 Subject: [PATCH 014/132] Update to 3.0.1, 2.7.3, 2.6.7, 2.5.9 --- 2.5/alpine3.12/Dockerfile | 4 ++-- 2.5/alpine3.13/Dockerfile | 4 ++-- 2.5/buster/Dockerfile | 4 ++-- 2.5/buster/slim/Dockerfile | 4 ++-- 2.5/stretch/Dockerfile | 4 ++-- 2.5/stretch/slim/Dockerfile | 4 ++-- 2.6/alpine3.12/Dockerfile | 4 ++-- 2.6/alpine3.13/Dockerfile | 4 ++-- 2.6/buster/Dockerfile | 4 ++-- 2.6/buster/slim/Dockerfile | 4 ++-- 2.6/stretch/Dockerfile | 4 ++-- 2.6/stretch/slim/Dockerfile | 4 ++-- 2.7/alpine3.12/Dockerfile | 4 ++-- 2.7/alpine3.13/Dockerfile | 4 ++-- 2.7/buster/Dockerfile | 4 ++-- 2.7/buster/slim/Dockerfile | 4 ++-- 3.0/alpine3.12/Dockerfile | 4 ++-- 3.0/alpine3.13/Dockerfile | 4 ++-- 3.0/buster/Dockerfile | 4 ++-- 3.0/buster/slim/Dockerfile | 4 ++-- 20 files changed, 40 insertions(+), 40 deletions(-) diff --git a/2.5/alpine3.12/Dockerfile b/2.5/alpine3.12/Dockerfile index ae82cee2fc..704f51b6b9 100644 --- a/2.5/alpine3.12/Dockerfile +++ b/2.5/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.8 -ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d +ENV RUBY_VERSION 2.5.9 +ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/alpine3.13/Dockerfile b/2.5/alpine3.13/Dockerfile index e6b003f46d..efd6b579c7 100644 --- a/2.5/alpine3.13/Dockerfile +++ b/2.5/alpine3.13/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.8 -ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d +ENV RUBY_VERSION 2.5.9 +ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/buster/Dockerfile b/2.5/buster/Dockerfile index cee7ea7bae..18c7a658be 100644 --- a/2.5/buster/Dockerfile +++ b/2.5/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.8 -ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d +ENV RUBY_VERSION 2.5.9 +ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/buster/slim/Dockerfile b/2.5/buster/slim/Dockerfile index 05c0daa250..374c0deda0 100644 --- a/2.5/buster/slim/Dockerfile +++ b/2.5/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.8 -ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d +ENV RUBY_VERSION 2.5.9 +ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/stretch/Dockerfile b/2.5/stretch/Dockerfile index 2edae2c2d4..c7dfbd9a55 100644 --- a/2.5/stretch/Dockerfile +++ b/2.5/stretch/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.8 -ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d +ENV RUBY_VERSION 2.5.9 +ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.5/stretch/slim/Dockerfile b/2.5/stretch/slim/Dockerfile index 4297e7a4a0..a15caacc73 100644 --- a/2.5/stretch/slim/Dockerfile +++ b/2.5/stretch/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.8 -ENV RUBY_DOWNLOAD_SHA256 0391b2ffad3133e274469f9953ebfd0c9f7c186238968cbdeeb0651aa02a4d6d +ENV RUBY_VERSION 2.5.9 +ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 ENV RUBYGEMS_VERSION 3.0.3 # some of ruby's build scripts are written in ruby diff --git a/2.6/alpine3.12/Dockerfile b/2.6/alpine3.12/Dockerfile index 5ab1287e4c..7c8a8c5abb 100644 --- a/2.6/alpine3.12/Dockerfile +++ b/2.6/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.6 -ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f +ENV RUBY_VERSION 2.6.7 +ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/alpine3.13/Dockerfile b/2.6/alpine3.13/Dockerfile index 85186cf3bb..2af400dc1c 100644 --- a/2.6/alpine3.13/Dockerfile +++ b/2.6/alpine3.13/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.6 -ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f +ENV RUBY_VERSION 2.6.7 +ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/buster/Dockerfile b/2.6/buster/Dockerfile index 6b805a515a..66fb452f58 100644 --- a/2.6/buster/Dockerfile +++ b/2.6/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.6 -ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f +ENV RUBY_VERSION 2.6.7 +ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/buster/slim/Dockerfile b/2.6/buster/slim/Dockerfile index 50bb840912..e8d2864935 100644 --- a/2.6/buster/slim/Dockerfile +++ b/2.6/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.6 -ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f +ENV RUBY_VERSION 2.6.7 +ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/stretch/Dockerfile b/2.6/stretch/Dockerfile index c750094399..f09cb4c92f 100644 --- a/2.6/stretch/Dockerfile +++ b/2.6/stretch/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.6 -ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f +ENV RUBY_VERSION 2.6.7 +ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/stretch/slim/Dockerfile b/2.6/stretch/slim/Dockerfile index f48b28a98d..c97bf66f32 100644 --- a/2.6/stretch/slim/Dockerfile +++ b/2.6/stretch/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.6 -ENV RUBY_DOWNLOAD_SHA256 5db187882b7ac34016cd48d7032e197f07e4968f406b0690e20193b9b424841f +ENV RUBY_VERSION 2.6.7 +ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.12/Dockerfile b/2.7/alpine3.12/Dockerfile index a5586042d1..8b636daa03 100644 --- a/2.7/alpine3.12/Dockerfile +++ b/2.7/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.2 -ENV RUBY_DOWNLOAD_SHA256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 +ENV RUBY_VERSION 2.7.3 +ENV RUBY_DOWNLOAD_SHA256 5e91d1650857d43cd6852e05ac54683351e9c301811ee0bef43a67c4605e7db1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.13/Dockerfile b/2.7/alpine3.13/Dockerfile index f1600e8a21..1a1363e921 100644 --- a/2.7/alpine3.13/Dockerfile +++ b/2.7/alpine3.13/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.2 -ENV RUBY_DOWNLOAD_SHA256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 +ENV RUBY_VERSION 2.7.3 +ENV RUBY_DOWNLOAD_SHA256 5e91d1650857d43cd6852e05ac54683351e9c301811ee0bef43a67c4605e7db1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index 4bac22c379..900fd6dd85 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.2 -ENV RUBY_DOWNLOAD_SHA256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 +ENV RUBY_VERSION 2.7.3 +ENV RUBY_DOWNLOAD_SHA256 5e91d1650857d43cd6852e05ac54683351e9c301811ee0bef43a67c4605e7db1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/slim/Dockerfile b/2.7/buster/slim/Dockerfile index 0e60e9a796..4054a1f1e1 100644 --- a/2.7/buster/slim/Dockerfile +++ b/2.7/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.2 -ENV RUBY_DOWNLOAD_SHA256 1b95ab193cc8f5b5e59d2686cb3d5dcf1ddf2a86cb6950e0b4bdaae5040ec0d6 +ENV RUBY_VERSION 2.7.3 +ENV RUBY_DOWNLOAD_SHA256 5e91d1650857d43cd6852e05ac54683351e9c301811ee0bef43a67c4605e7db1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/alpine3.12/Dockerfile b/3.0/alpine3.12/Dockerfile index ff7bf6dca1..bcfb673e62 100644 --- a/3.0/alpine3.12/Dockerfile +++ b/3.0/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.0 -ENV RUBY_DOWNLOAD_SHA256 68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1 +ENV RUBY_VERSION 3.0.1 +ENV RUBY_DOWNLOAD_SHA256 d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.13/Dockerfile index 77dabff95c..98d05ceffa 100644 --- a/3.0/alpine3.13/Dockerfile +++ b/3.0/alpine3.13/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.0 -ENV RUBY_DOWNLOAD_SHA256 68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1 +ENV RUBY_VERSION 3.0.1 +ENV RUBY_DOWNLOAD_SHA256 d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index 0f81bb7e13..a82b23a9cd 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.0 -ENV RUBY_DOWNLOAD_SHA256 68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1 +ENV RUBY_VERSION 3.0.1 +ENV RUBY_DOWNLOAD_SHA256 d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/buster/slim/Dockerfile b/3.0/buster/slim/Dockerfile index df682c5712..c2c3c7bce9 100644 --- a/3.0/buster/slim/Dockerfile +++ b/3.0/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.0 -ENV RUBY_DOWNLOAD_SHA256 68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1 +ENV RUBY_VERSION 3.0.1 +ENV RUBY_DOWNLOAD_SHA256 d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From 6fe76a8f5019f63ecb0bb3843a5832cb588bcdfe Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Fri, 25 Jun 2021 15:29:27 -0700 Subject: [PATCH 015/132] Remove 2.5 (EOL) https://www.ruby-lang.org/en/downloads/branches/ https://www.ruby-lang.org/en/news/2021/04/05/ruby-2-5-9-released/ > After this release, Ruby 2.5 reaches EOL. In other words, this is the last release of Ruby 2.5 series. We will not release Ruby 2.5.10 even if a security vulnerability is found. We recommend all Ruby 2.5 users to upgrade to Ruby 3.0, 2.7 or 2.6 immediately. --- 2.5/alpine3.12/Dockerfile | 134 ------------------------------------ 2.5/alpine3.13/Dockerfile | 134 ------------------------------------ 2.5/buster/Dockerfile | 92 ------------------------- 2.5/buster/slim/Dockerfile | 118 ------------------------------- 2.5/stretch/Dockerfile | 92 ------------------------- 2.5/stretch/slim/Dockerfile | 117 ------------------------------- 6 files changed, 687 deletions(-) delete mode 100644 2.5/alpine3.12/Dockerfile delete mode 100644 2.5/alpine3.13/Dockerfile delete mode 100644 2.5/buster/Dockerfile delete mode 100644 2.5/buster/slim/Dockerfile delete mode 100644 2.5/stretch/Dockerfile delete mode 100644 2.5/stretch/slim/Dockerfile diff --git a/2.5/alpine3.12/Dockerfile b/2.5/alpine3.12/Dockerfile deleted file mode 100644 index 704f51b6b9..0000000000 --- a/2.5/alpine3.12/Dockerfile +++ /dev/null @@ -1,134 +0,0 @@ -FROM alpine:3.12 - -RUN apk add --no-cache \ - gmp-dev - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.9 -ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.5/alpine3.13/Dockerfile b/2.5/alpine3.13/Dockerfile deleted file mode 100644 index efd6b579c7..0000000000 --- a/2.5/alpine3.13/Dockerfile +++ /dev/null @@ -1,134 +0,0 @@ -FROM alpine:3.13 - -RUN apk add --no-cache \ - gmp-dev - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.9 -ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.5/buster/Dockerfile b/2.5/buster/Dockerfile deleted file mode 100644 index 18c7a658be..0000000000 --- a/2.5/buster/Dockerfile +++ /dev/null @@ -1,92 +0,0 @@ -FROM buildpack-deps:buster - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.9 -ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.5/buster/slim/Dockerfile b/2.5/buster/slim/Dockerfile deleted file mode 100644 index 374c0deda0..0000000000 --- a/2.5/buster/slim/Dockerfile +++ /dev/null @@ -1,118 +0,0 @@ -FROM debian:buster-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.9 -ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - autoconf \ - bison \ - dpkg-dev \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libgdbm-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - ruby \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.5/stretch/Dockerfile b/2.5/stretch/Dockerfile deleted file mode 100644 index c7dfbd9a55..0000000000 --- a/2.5/stretch/Dockerfile +++ /dev/null @@ -1,92 +0,0 @@ -FROM buildpack-deps:stretch - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.9 -ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.5/stretch/slim/Dockerfile b/2.5/stretch/slim/Dockerfile deleted file mode 100644 index a15caacc73..0000000000 --- a/2.5/stretch/slim/Dockerfile +++ /dev/null @@ -1,117 +0,0 @@ -FROM debian:stretch-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.5 -ENV RUBY_VERSION 2.5.9 -ENV RUBY_DOWNLOAD_SHA256 a87f2fa901408cc77652c1a55ff976695bbe54830ff240e370039eca14b358f0 -ENV RUBYGEMS_VERSION 3.0.3 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - autoconf \ - bison \ - dpkg-dev \ - gcc \ - libbz2-dev \ - libgdbm-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - ruby \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] From 9b48d740b4d936bfbffd04f8a7255771cbda0656 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 7 Jul 2021 09:29:09 -0700 Subject: [PATCH 016/132] Update to 2.7.4 --- 2.7/alpine3.12/Dockerfile | 4 ++-- 2.7/alpine3.13/Dockerfile | 4 ++-- 2.7/buster/Dockerfile | 4 ++-- 2.7/buster/slim/Dockerfile | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/2.7/alpine3.12/Dockerfile b/2.7/alpine3.12/Dockerfile index 8b636daa03..99be65f317 100644 --- a/2.7/alpine3.12/Dockerfile +++ b/2.7/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.3 -ENV RUBY_DOWNLOAD_SHA256 5e91d1650857d43cd6852e05ac54683351e9c301811ee0bef43a67c4605e7db1 +ENV RUBY_VERSION 2.7.4 +ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.13/Dockerfile b/2.7/alpine3.13/Dockerfile index 1a1363e921..f6bdcda93e 100644 --- a/2.7/alpine3.13/Dockerfile +++ b/2.7/alpine3.13/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.3 -ENV RUBY_DOWNLOAD_SHA256 5e91d1650857d43cd6852e05ac54683351e9c301811ee0bef43a67c4605e7db1 +ENV RUBY_VERSION 2.7.4 +ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index 900fd6dd85..f23ce77230 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.3 -ENV RUBY_DOWNLOAD_SHA256 5e91d1650857d43cd6852e05ac54683351e9c301811ee0bef43a67c4605e7db1 +ENV RUBY_VERSION 2.7.4 +ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/slim/Dockerfile b/2.7/buster/slim/Dockerfile index 4054a1f1e1..99edf237a5 100644 --- a/2.7/buster/slim/Dockerfile +++ b/2.7/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.3 -ENV RUBY_DOWNLOAD_SHA256 5e91d1650857d43cd6852e05ac54683351e9c301811ee0bef43a67c4605e7db1 +ENV RUBY_VERSION 2.7.4 +ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From 108e3c2f9cdcfd1a4aeab5169e394b1d738e8c84 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 7 Jul 2021 09:29:09 -0700 Subject: [PATCH 017/132] Update to 2.6.8 --- 2.6/alpine3.12/Dockerfile | 4 ++-- 2.6/alpine3.13/Dockerfile | 4 ++-- 2.6/buster/Dockerfile | 4 ++-- 2.6/buster/slim/Dockerfile | 4 ++-- 2.6/stretch/Dockerfile | 4 ++-- 2.6/stretch/slim/Dockerfile | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/2.6/alpine3.12/Dockerfile b/2.6/alpine3.12/Dockerfile index 7c8a8c5abb..f6a5902f53 100644 --- a/2.6/alpine3.12/Dockerfile +++ b/2.6/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.7 -ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 +ENV RUBY_VERSION 2.6.8 +ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/alpine3.13/Dockerfile b/2.6/alpine3.13/Dockerfile index 2af400dc1c..f3e13f3fd8 100644 --- a/2.6/alpine3.13/Dockerfile +++ b/2.6/alpine3.13/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.7 -ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 +ENV RUBY_VERSION 2.6.8 +ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/buster/Dockerfile b/2.6/buster/Dockerfile index 66fb452f58..6fc6427cd7 100644 --- a/2.6/buster/Dockerfile +++ b/2.6/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.7 -ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 +ENV RUBY_VERSION 2.6.8 +ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/buster/slim/Dockerfile b/2.6/buster/slim/Dockerfile index e8d2864935..3afd6ff916 100644 --- a/2.6/buster/slim/Dockerfile +++ b/2.6/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.7 -ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 +ENV RUBY_VERSION 2.6.8 +ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/stretch/Dockerfile b/2.6/stretch/Dockerfile index f09cb4c92f..d535bea94c 100644 --- a/2.6/stretch/Dockerfile +++ b/2.6/stretch/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.7 -ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 +ENV RUBY_VERSION 2.6.8 +ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/stretch/slim/Dockerfile b/2.6/stretch/slim/Dockerfile index c97bf66f32..0142280393 100644 --- a/2.6/stretch/slim/Dockerfile +++ b/2.6/stretch/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.7 -ENV RUBY_DOWNLOAD_SHA256 f43ead5626202d5432d2050eeab606e547f0554299cc1e5cf573d45670e59611 +ENV RUBY_VERSION 2.6.8 +ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From 5fccac58c3d04a118b65053a0b7d9f9e5df2f68a Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 7 Jul 2021 09:29:09 -0700 Subject: [PATCH 018/132] Update to 3.0.2 --- 3.0/alpine3.12/Dockerfile | 4 ++-- 3.0/alpine3.13/Dockerfile | 4 ++-- 3.0/buster/Dockerfile | 4 ++-- 3.0/buster/slim/Dockerfile | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/3.0/alpine3.12/Dockerfile b/3.0/alpine3.12/Dockerfile index bcfb673e62..52ccc65880 100644 --- a/3.0/alpine3.12/Dockerfile +++ b/3.0/alpine3.12/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.1 -ENV RUBY_DOWNLOAD_SHA256 d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2 +ENV RUBY_VERSION 3.0.2 +ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.13/Dockerfile index 98d05ceffa..1f004c44e1 100644 --- a/3.0/alpine3.13/Dockerfile +++ b/3.0/alpine3.13/Dockerfile @@ -13,8 +13,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.1 -ENV RUBY_DOWNLOAD_SHA256 d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2 +ENV RUBY_VERSION 3.0.2 +ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index a82b23a9cd..953b8455de 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -10,8 +10,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.1 -ENV RUBY_DOWNLOAD_SHA256 d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2 +ENV RUBY_VERSION 3.0.2 +ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/buster/slim/Dockerfile b/3.0/buster/slim/Dockerfile index c2c3c7bce9..a63dc2262e 100644 --- a/3.0/buster/slim/Dockerfile +++ b/3.0/buster/slim/Dockerfile @@ -24,8 +24,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.1 -ENV RUBY_DOWNLOAD_SHA256 d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2 +ENV RUBY_VERSION 3.0.2 +ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built From 761ae37f67acc54d49f085dc4e5a2443a77700e6 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Fri, 2 Jul 2021 15:41:13 -0700 Subject: [PATCH 019/132] Add initial jq-based templating engine --- .gitattributes | 2 + .github/workflows/verify-templating.yml | 22 +++ .gitignore | 1 + 2.6/alpine3.12/Dockerfile | 46 +++--- 2.6/alpine3.13/Dockerfile | 46 +++--- 2.6/buster/Dockerfile | 9 +- 2.6/{buster/slim => slim-buster}/Dockerfile | 18 ++- 2.6/{stretch/slim => slim-stretch}/Dockerfile | 15 +- 2.6/stretch/Dockerfile | 9 +- 2.7/alpine3.12/Dockerfile | 46 +++--- 2.7/alpine3.13/Dockerfile | 46 +++--- 2.7/buster/Dockerfile | 9 +- 2.7/{buster/slim => slim-buster}/Dockerfile | 18 ++- 3.0/alpine3.12/Dockerfile | 46 +++--- 3.0/alpine3.13/Dockerfile | 46 +++--- 3.0/buster/Dockerfile | 9 +- 3.0/{buster/slim => slim-buster}/Dockerfile | 18 ++- Dockerfile-debian.template | 92 ------------ Dockerfile-slim.template | 118 ---------------- ...ile-alpine.template => Dockerfile.template | 132 ++++++++++++++---- apply-templates.sh | 51 +++++++ generate-stackbrew-library.sh | 89 ++++++------ update.sh | 101 +------------- versions.json | 34 +++++ versions.sh | 85 +++++++++++ 25 files changed, 601 insertions(+), 507 deletions(-) create mode 100644 .gitattributes create mode 100644 .github/workflows/verify-templating.yml create mode 100644 .gitignore rename 2.6/{buster/slim => slim-buster}/Dockerfile (90%) rename 2.6/{stretch/slim => slim-stretch}/Dockerfile (93%) rename 2.7/{buster/slim => slim-buster}/Dockerfile (90%) rename 3.0/{buster/slim => slim-buster}/Dockerfile (90%) delete mode 100644 Dockerfile-debian.template delete mode 100644 Dockerfile-slim.template rename Dockerfile-alpine.template => Dockerfile.template (58%) create mode 100755 apply-templates.sh create mode 100644 versions.json create mode 100755 versions.sh diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..90ec81cf7c --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +/*/**/Dockerfile linguist-generated +/Dockerfile*.template linguist-language=Dockerfile diff --git a/.github/workflows/verify-templating.yml b/.github/workflows/verify-templating.yml new file mode 100644 index 0000000000..7e833f1c7d --- /dev/null +++ b/.github/workflows/verify-templating.yml @@ -0,0 +1,22 @@ +name: Verify Templating + +on: + pull_request: + push: + +defaults: + run: + shell: 'bash -Eeuo pipefail -x {0}' + +jobs: + apply-templates: + name: Check For Uncomitted Changes + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Apply Templates + run: ./apply-templates.sh + - name: Check Git Status + run: | + status="$(git status --short)" + [ -z "$status" ] diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..d548f66de0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.jq-template.awk diff --git a/2.6/alpine3.12/Dockerfile b/2.6/alpine3.12/Dockerfile index f6a5902f53..f1a226b480 100644 --- a/2.6/alpine3.12/Dockerfile +++ b/2.6/alpine3.12/Dockerfile @@ -1,7 +1,21 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM alpine:3.12 -RUN apk add --no-cache \ - gmp-dev +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; # skip installing gem documentation RUN set -eux; \ @@ -18,9 +32,9 @@ ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fca # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 RUN set -eux; \ \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -68,6 +82,9 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ @@ -79,8 +96,6 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ @@ -95,24 +110,19 @@ RUN set -eux; \ | sort -u \ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ apk del --no-network .ruby-builddeps; \ \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.6/alpine3.13/Dockerfile b/2.6/alpine3.13/Dockerfile index f3e13f3fd8..7d623a8866 100644 --- a/2.6/alpine3.13/Dockerfile +++ b/2.6/alpine3.13/Dockerfile @@ -1,7 +1,21 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM alpine:3.13 -RUN apk add --no-cache \ - gmp-dev +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; # skip installing gem documentation RUN set -eux; \ @@ -18,9 +32,9 @@ ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fca # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 RUN set -eux; \ \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -68,6 +82,9 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ @@ -79,8 +96,6 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ @@ -95,24 +110,19 @@ RUN set -eux; \ | sort -u \ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ apk del --no-network .ruby-builddeps; \ \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.6/buster/Dockerfile b/2.6/buster/Dockerfile index 6fc6427cd7..b9824a208b 100644 --- a/2.6/buster/Dockerfile +++ b/2.6/buster/Dockerfile @@ -1,3 +1,9 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM buildpack-deps:buster # skip installing gem documentation @@ -60,6 +66,7 @@ RUN set -eux; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ + | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ @@ -70,7 +77,7 @@ RUN set -eux; \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ + if dpkg -l | grep -i ruby; then exit 1; fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.6/buster/slim/Dockerfile b/2.6/slim-buster/Dockerfile similarity index 90% rename from 2.6/buster/slim/Dockerfile rename to 2.6/slim-buster/Dockerfile index 3afd6ff916..2925c5159f 100644 --- a/2.6/buster/slim/Dockerfile +++ b/2.6/slim-buster/Dockerfile @@ -1,3 +1,9 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM debian:buster-slim RUN set -eux; \ @@ -34,22 +40,23 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ - autoconf \ bison \ dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ gcc \ libbz2-dev \ - libgdbm-compat-dev \ - libgdbm-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ libxml2-dev \ libxslt-dev \ make \ - ruby \ wget \ xz-utils \ +# https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) + libgdbm-compat-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ @@ -86,6 +93,7 @@ RUN set -eux; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ + | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ @@ -96,7 +104,7 @@ RUN set -eux; \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ + if dpkg -l | grep -i ruby; then exit 1; fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.6/stretch/slim/Dockerfile b/2.6/slim-stretch/Dockerfile similarity index 93% rename from 2.6/stretch/slim/Dockerfile rename to 2.6/slim-stretch/Dockerfile index 0142280393..b4be19356d 100644 --- a/2.6/stretch/slim/Dockerfile +++ b/2.6/slim-stretch/Dockerfile @@ -1,3 +1,9 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM debian:stretch-slim RUN set -eux; \ @@ -34,19 +40,19 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ - autoconf \ bison \ dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ gcc \ libbz2-dev \ - libgdbm-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ libxml2-dev \ libxslt-dev \ make \ - ruby \ wget \ xz-utils \ ; \ @@ -85,6 +91,7 @@ RUN set -eux; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ + | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ @@ -95,7 +102,7 @@ RUN set -eux; \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ + if dpkg -l | grep -i ruby; then exit 1; fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.6/stretch/Dockerfile b/2.6/stretch/Dockerfile index d535bea94c..73f9cfd911 100644 --- a/2.6/stretch/Dockerfile +++ b/2.6/stretch/Dockerfile @@ -1,3 +1,9 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM buildpack-deps:stretch # skip installing gem documentation @@ -60,6 +66,7 @@ RUN set -eux; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ + | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ @@ -70,7 +77,7 @@ RUN set -eux; \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ + if dpkg -l | grep -i ruby; then exit 1; fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.7/alpine3.12/Dockerfile b/2.7/alpine3.12/Dockerfile index 99be65f317..b3328fa463 100644 --- a/2.7/alpine3.12/Dockerfile +++ b/2.7/alpine3.12/Dockerfile @@ -1,7 +1,21 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM alpine:3.12 -RUN apk add --no-cache \ - gmp-dev +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; # skip installing gem documentation RUN set -eux; \ @@ -18,9 +32,9 @@ ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 RUN set -eux; \ \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -68,6 +82,9 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ @@ -79,8 +96,6 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ @@ -95,24 +110,19 @@ RUN set -eux; \ | sort -u \ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ apk del --no-network .ruby-builddeps; \ \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.7/alpine3.13/Dockerfile b/2.7/alpine3.13/Dockerfile index f6bdcda93e..090e0fc716 100644 --- a/2.7/alpine3.13/Dockerfile +++ b/2.7/alpine3.13/Dockerfile @@ -1,7 +1,21 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM alpine:3.13 -RUN apk add --no-cache \ - gmp-dev +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; # skip installing gem documentation RUN set -eux; \ @@ -18,9 +32,9 @@ ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 RUN set -eux; \ \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -68,6 +82,9 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ @@ -79,8 +96,6 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ @@ -95,24 +110,19 @@ RUN set -eux; \ | sort -u \ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ apk del --no-network .ruby-builddeps; \ \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index f23ce77230..f3780636dc 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -1,3 +1,9 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM buildpack-deps:buster # skip installing gem documentation @@ -60,6 +66,7 @@ RUN set -eux; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ + | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ @@ -70,7 +77,7 @@ RUN set -eux; \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ + if dpkg -l | grep -i ruby; then exit 1; fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/2.7/buster/slim/Dockerfile b/2.7/slim-buster/Dockerfile similarity index 90% rename from 2.7/buster/slim/Dockerfile rename to 2.7/slim-buster/Dockerfile index 99edf237a5..c8edc041bd 100644 --- a/2.7/buster/slim/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -1,3 +1,9 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM debian:buster-slim RUN set -eux; \ @@ -34,22 +40,23 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ - autoconf \ bison \ dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ gcc \ libbz2-dev \ - libgdbm-compat-dev \ - libgdbm-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ libxml2-dev \ libxslt-dev \ make \ - ruby \ wget \ xz-utils \ +# https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) + libgdbm-compat-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ @@ -86,6 +93,7 @@ RUN set -eux; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ + | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ @@ -96,7 +104,7 @@ RUN set -eux; \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ + if dpkg -l | grep -i ruby; then exit 1; fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/3.0/alpine3.12/Dockerfile b/3.0/alpine3.12/Dockerfile index 52ccc65880..ea092b9cd2 100644 --- a/3.0/alpine3.12/Dockerfile +++ b/3.0/alpine3.12/Dockerfile @@ -1,7 +1,21 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM alpine:3.12 -RUN apk add --no-cache \ - gmp-dev +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; # skip installing gem documentation RUN set -eux; \ @@ -18,9 +32,9 @@ ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 RUN set -eux; \ \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -68,6 +82,9 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ @@ -79,8 +96,6 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ @@ -95,24 +110,19 @@ RUN set -eux; \ | sort -u \ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ apk del --no-network .ruby-builddeps; \ \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.13/Dockerfile index 1f004c44e1..76a77f9c91 100644 --- a/3.0/alpine3.13/Dockerfile +++ b/3.0/alpine3.13/Dockerfile @@ -1,7 +1,21 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM alpine:3.13 -RUN apk add --no-cache \ - gmp-dev +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; # skip installing gem documentation RUN set -eux; \ @@ -18,9 +32,9 @@ ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 RUN set -eux; \ \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -68,6 +82,9 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ @@ -79,8 +96,6 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ @@ -95,24 +110,19 @@ RUN set -eux; \ | sort -u \ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ apk del --no-network .ruby-builddeps; \ \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index 953b8455de..fe137bc19d 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -1,3 +1,9 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM buildpack-deps:buster # skip installing gem documentation @@ -60,6 +66,7 @@ RUN set -eux; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ + | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ @@ -70,7 +77,7 @@ RUN set -eux; \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ + if dpkg -l | grep -i ruby; then exit 1; fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/3.0/buster/slim/Dockerfile b/3.0/slim-buster/Dockerfile similarity index 90% rename from 3.0/buster/slim/Dockerfile rename to 3.0/slim-buster/Dockerfile index a63dc2262e..91affedd37 100644 --- a/3.0/buster/slim/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -1,3 +1,9 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + FROM debian:buster-slim RUN set -eux; \ @@ -34,22 +40,23 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ - autoconf \ bison \ dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ gcc \ libbz2-dev \ - libgdbm-compat-dev \ - libgdbm-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ libxml2-dev \ libxslt-dev \ make \ - ruby \ wget \ xz-utils \ +# https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) + libgdbm-compat-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ @@ -86,6 +93,7 @@ RUN set -eux; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ + | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ @@ -96,7 +104,7 @@ RUN set -eux; \ cd /; \ rm -r /usr/src/ruby; \ # verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ + if dpkg -l | grep -i ruby; then exit 1; fi; \ [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template deleted file mode 100644 index 6df3acde71..0000000000 --- a/Dockerfile-debian.template +++ /dev/null @@ -1,92 +0,0 @@ -FROM buildpack-deps:%%PLACEHOLDER%% - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR %%VERSION%% -ENV RUBY_VERSION %%FULL_VERSION%% -ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% -ENV RUBYGEMS_VERSION %%RUBYGEMS%% - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/Dockerfile-slim.template b/Dockerfile-slim.template deleted file mode 100644 index 4ba64e7eaa..0000000000 --- a/Dockerfile-slim.template +++ /dev/null @@ -1,118 +0,0 @@ -FROM debian:%%PLACEHOLDER%% - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR %%VERSION%% -ENV RUBY_VERSION %%FULL_VERSION%% -ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% -ENV RUBYGEMS_VERSION %%RUBYGEMS%% - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - autoconf \ - bison \ - dpkg-dev \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libgdbm-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - ruby \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ -# verify we have no "ruby" packages installed - ! dpkg -l | grep -i ruby; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/Dockerfile-alpine.template b/Dockerfile.template similarity index 58% rename from Dockerfile-alpine.template rename to Dockerfile.template index 71bff794d5..cdbe4aa3b5 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile.template @@ -1,8 +1,46 @@ -FROM alpine:%%PLACEHOLDER%% +{{ + def is_alpine: + env.variant | startswith("alpine") + ; + def is_slim: + env.variant | startswith("slim-") +-}} +{{ if is_alpine then ( -}} +FROM alpine:{{ env.variant | ltrimstr("alpine") }} +{{ ) elif is_slim then ( -}} +FROM debian:{{ env.variant | ltrimstr("slim-") }}-slim +{{ ) else ( -}} +FROM buildpack-deps:{{ env.variant }} +{{ ) end -}} -RUN apk add --no-cache \ - gmp-dev +{{ if is_alpine then ( -}} +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; +{{ ) elif is_slim then ( -}} +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +{{ ) else "" end -}} # skip installing gem documentation RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -12,16 +50,16 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR %%VERSION%% -ENV RUBY_VERSION %%FULL_VERSION%% -ENV RUBY_DOWNLOAD_SHA256 %%SHA256%% -ENV RUBYGEMS_VERSION %%RUBYGEMS%% +ENV RUBY_MAJOR {{ env.version }} +ENV RUBY_VERSION {{ .version }} +ENV RUBY_DOWNLOAD_SHA256 {{ .sha256 }} # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 RUN set -eux; \ \ +{{ if is_alpine then ( -}} +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -51,6 +89,34 @@ RUN set -eux; \ yaml-dev \ zlib-dev \ ; \ +{{ ) else ( -}} + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ +{{ if is_slim then ( -}} + autoconf \ + gcc \ + libbz2-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ +{{ if env.variant | endswith("stretch") then "" else ( -}} +# https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) + libgdbm-compat-dev \ +{{ ) end -}} +{{ ) else "" end -}} + ; \ + rm -rf /var/lib/apt/lists/*; \ +{{ ) end -}} \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ @@ -61,6 +127,7 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ +{{ if is_alpine then ( -}} # https://github.com/docker-library/ruby/issues/196 # https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) # https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) @@ -69,6 +136,10 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +{{ ) else "" end -}} # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ @@ -80,8 +151,6 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ @@ -90,33 +159,44 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +{{ if is_alpine then ( -}} runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ | tr ',' '\n' \ | sort -u \ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ )"; \ - apk add --no-network --virtual .ruby-rundeps \ - $runDeps \ - bzip2 \ - ca-certificates \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ apk del --no-network .ruby-builddeps; \ +{{ ) else ( -}} + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ +{{ ) end -}} \ cd /; \ rm -r /usr/src/ruby; \ -# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) - ruby -e 'exit(Gem::Version.create(ENV["RUBYGEMS_VERSION"]) > Gem::Version.create(Gem::VERSION))'; \ - gem update --system "$RUBYGEMS_VERSION" && rm -r /root/.gem/; \ # verify we have no "ruby" packages installed - ! apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; \ +{{ if is_alpine then ( -}} + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ +{{ ) else ( -}} + if dpkg -l | grep -i ruby; then exit 1; fi; \ +{{ ) end -}} [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ # rough smoke test ruby --version; \ diff --git a/apply-templates.sh b/apply-templates.sh new file mode 100755 index 0000000000..9e27242306 --- /dev/null +++ b/apply-templates.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +[ -f versions.json ] # run "versions.sh" first + +jqt='.jq-template.awk' +if [ -n "${BASHBREW_SCRIPTS:-}" ]; then + jqt="$BASHBREW_SCRIPTS/jq-template.awk" +elif [ "$BASH_SOURCE" -nt "$jqt" ]; then + # # https://github.com/docker-library/bashbrew/blob/master/scripts/jq-template.awk + wget -qO "$jqt" 'https://github.com/docker-library/bashbrew/raw/00e281f36edd19f52541a6ba2f215cc3c4645128/scripts/jq-template.awk' +fi + +if [ "$#" -eq 0 ]; then + versions="$(jq -r 'keys | map(@sh) | join(" ")' versions.json)" + eval "set -- $versions" +fi + +generated_warning() { + cat <<-EOH + # + # NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" + # + # PLEASE DO NOT EDIT IT DIRECTLY. + # + + EOH +} + +for version; do + export version + + rm -rf "$version/" + + variants="$(jq -r '.[env.version].variants | map(@sh) | join(" ")' versions.json)" + eval "variants=( $variants )" + + for variant in "${variants[@]}"; do + export variant + + dir="$version/$variant" + mkdir -p "$dir" + + echo "processing $dir ..." + + { + generated_warning + gawk -f "$jqt" Dockerfile.template + } > "$dir/Dockerfile" + done +done diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 3067c43953..cb39569cdf 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -6,23 +6,16 @@ declare -A aliases=( [2.7]='2' ) -defaultDebianSuite='buster' -declare -A debianSuites=( - #[2.7]='buster' -) -defaultAlpineVersion='3.13' -declare -A alpineVersion=( - #[2.3]='3.8' -) - self="$(basename "$BASH_SOURCE")" cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" -versions=( */ ) -versions=( "${versions[@]%/}" ) +if [ "$#" -eq 0 ]; then + versions="$(jq -r 'keys | map(@sh) | join(" ")' versions.json)" + eval "set -- $versions" +fi # sort version numbers with highest first -IFS=$'\n'; versions=( $(echo "${versions[*]}" | sort -rV) ); unset IFS +IFS=$'\n'; set -- $(sort -rV <<<"$*"); unset IFS # get the most recent commit which modified any of "$@" fileCommit() { @@ -34,15 +27,19 @@ dirCommit() { local dir="$1"; shift ( cd "$dir" - fileCommit \ - Dockerfile \ - $(git show HEAD:./Dockerfile | awk ' + files="$( + git show HEAD:./Dockerfile | awk ' toupper($1) == "COPY" { for (i = 2; i < NF; i++) { + if ($i ~ /^--from=/) { + next + } print $i } } - ') + ' + )" + fileCommit Dockerfile $files ) } @@ -77,42 +74,52 @@ join() { echo "${out#$sep}" } -for version in "${versions[@]}"; do - for v in \ - {buster,stretch}{,/slim} \ - alpine{3.13,3.12} \ - ; do - dir="$version/$v" - variant="$(basename "$v")" +for version; do + export version + variants="$(jq -r '.[env.version].variants | map(@sh) | join(" ")' versions.json)" + eval "variants=( $variants )" - if [ "$variant" = 'slim' ]; then - # convert "slim" into "slim-buster" - # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 - variant="$variant-$(basename "$(dirname "$v")")" - fi + fullVersion="$(jq -r '.[env.version].version' versions.json)" + versionAliases=( + $fullVersion + $version + ${aliases[$version]:-} + ) + + defaultDebianVariant="$(jq -r ' + .[env.version].variants + | map(select( + startswith("alpine") + or startswith("slim-") + | not + )) + | .[0] + ' versions.json)" + defaultAlpineVariant="$(jq -r ' + .[env.version].variants + | map(select( + startswith("alpine") + )) + | .[0] + ' versions.json)" + + for v in "${variants[@]}"; do + dir="$version/$v" [ -f "$dir/Dockerfile" ] || continue + variant="$(basename "$v")" commit="$(dirCommit "$dir")" - fullVersion="$(git show "$commit":"$dir/Dockerfile" | awk '$1 == "ENV" && $2 == "RUBY_VERSION" { print $3; exit }')" - - versionAliases=( - $fullVersion - $version - ${aliases[$version]:-} - ) - variantAliases=( "${versionAliases[@]/%/-$variant}" ) - debianSuite="${debianSuites[$version]:-$defaultDebianSuite}" case "$variant" in - "$debianSuite") + "$defaultDebianVariant") variantAliases+=( "${versionAliases[@]}" ) ;; - *-"$debianSuite") - variantAliases+=( "${versionAliases[@]/%/-${variant%-$debianSuite}}" ) + *-"$defaultDebianVariant") + variantAliases+=( "${versionAliases[@]/%/-${variant%-$defaultDebianVariant}}" ) ;; - "alpine${alpineVersion[$version]:-$defaultAlpineVersion}") + "$defaultAlpineVariant") variantAliases+=( "${versionAliases[@]/%/-alpine}" ) ;; esac diff --git a/update.sh b/update.sh index f34bdc8fab..bac2d7581c 100755 --- a/update.sh +++ b/update.sh @@ -3,102 +3,5 @@ set -Eeuo pipefail cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" -versions=( "$@" ) -if [ ${#versions[@]} -eq 0 ]; then - versions=( */ ) -fi -versions=( "${versions[@]%/}" ) - -releasesPage="$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/')" -newsPage="$(curl -fsSL 'https://www.ruby-lang.org/en/news/')" # occasionally, releases don't show up on the Releases page (see https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml) -# TODO consider parsing https://github.com/ruby/www.ruby-lang.org/blob/master/_data/downloads.yml as well - -for version in "${versions[@]}"; do - rcGrepV='-v' - rcVersion="${version%-rc}" - if [ "$rcVersion" != "$version" ]; then - rcGrepV= - fi - - IFS=$'\n'; allVersions=( $( - curl -fsSL --compressed "https://cache.ruby-lang.org/pub/ruby/$rcVersion/" \ - | grep -oE '["/]ruby-'"$rcVersion"'.[^"]+\.tar\.xz' \ - | sed -r 's!^["/]ruby-([^"]+)[.]tar[.]xz!\1!' \ - | grep $rcGrepV -E 'preview|rc' \ - | sort -ruV - ) ); unset IFS - - fullVersion= - shaVal= - for tryVersion in "${allVersions[@]}"; do - if \ - { - versionReleasePage="$(grep "Ruby $tryVersion" -A 2 <<<"$releasesPage" | awk -F '"' '$1 == "Ruby '"$tryVersion"' Released' | cut -d'"' -f2)" \ - && [ "$versionReleasePage" ] \ - && shaVal="$(curl -fsSL "https://www.ruby-lang.org/$versionReleasePage" |tac|tac| grep "ruby-$tryVersion.tar.xz" -A 5 | awk '$1 == "SHA256:" { print $2; exit }')" \ - && [ "$shaVal" ] - } \ - ; then - fullVersion="$tryVersion" - break - fi - done - - if [ -z "$fullVersion" ]; then - echo >&2 "warning: cannot determine sha for $version (tried all of ${allVersions[*]}); skipping" - continue - fi - - echo "$version: $fullVersion; $shaVal" - - for v in \ - alpine{3.13,3.12} \ - {stretch,buster}{/slim,} \ - ; do - dir="$version/$v" - variant="$(basename "$v")" - - [ -d "$dir" ] || continue - - case "$variant" in - slim|windowsservercore) template="$variant"; tag="$(basename "$(dirname "$dir")")" ;; - alpine*) template='alpine'; tag="${variant#alpine}" ;; - *) template='debian'; tag="$variant" ;; - esac - template="Dockerfile-${template}.template" - - if [ "$variant" = 'slim' ]; then - tag+='-slim' - fi - - sed -r \ - -e 's!%%VERSION%%!'"$version"'!g' \ - -e 's!%%FULL_VERSION%%!'"$fullVersion"'!g' \ - -e 's!%%SHA256%%!'"$shaVal"'!g' \ - -e 's/^(FROM (debian|buildpack-deps|alpine)):.*/\1:'"$tag"'/' \ - "$template" > "$dir/Dockerfile" - - case "$v" in - # https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) - stretch/slim) - sed -i -e '/libgdbm-compat-dev/d' "$dir/Dockerfile" - ;; - esac - - # https://github.com/docker-library/ruby/issues/246 - if [ "$rcVersion" = '2.5' ]; then - rubygems='3.0.3' - sed -ri \ - -e 's!%%RUBYGEMS%%!'"$rubygems"'!g' \ - "$dir/Dockerfile" - else - sed -ri -e '/RUBYGEMS_VERSION/d' "$dir/Dockerfile" - fi - done -done +./versions.sh "$@" +./apply-templates.sh "$@" diff --git a/versions.json b/versions.json new file mode 100644 index 0000000000..1c50698e85 --- /dev/null +++ b/versions.json @@ -0,0 +1,34 @@ +{ + "2.6": { + "sha256": "8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb", + "variants": [ + "buster", + "slim-buster", + "stretch", + "slim-stretch", + "alpine3.13", + "alpine3.12" + ], + "version": "2.6.8" + }, + "2.7": { + "sha256": "2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7", + "variants": [ + "buster", + "slim-buster", + "alpine3.13", + "alpine3.12" + ], + "version": "2.7.4" + }, + "3.0": { + "sha256": "570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40", + "variants": [ + "buster", + "slim-buster", + "alpine3.13", + "alpine3.12" + ], + "version": "3.0.2" + } +} diff --git a/versions.sh b/versions.sh new file mode 100755 index 0000000000..6f55ed7aad --- /dev/null +++ b/versions.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" + +versions=( "$@" ) +if [ ${#versions[@]} -eq 0 ]; then + versions=( */ ) + json='{}' +else + json="$(< versions.json)" +fi +versions=( "${versions[@]%/}" ) + +releasesPage="$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/')" +newsPage="$(curl -fsSL 'https://www.ruby-lang.org/en/news/')" # occasionally, releases don't show up on the Releases page (see https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml) +# TODO consider parsing https://github.com/ruby/www.ruby-lang.org/blob/master/_data/downloads.yml as well + +for version in "${versions[@]}"; do + rcGrepV='-v' + rcVersion="${version%-rc}" + if [ "$rcVersion" != "$version" ]; then + rcGrepV= + fi + export version rcVersion + + IFS=$'\n'; allVersions=( $( + curl -fsSL --compressed "https://cache.ruby-lang.org/pub/ruby/$rcVersion/" \ + | grep -oE '["/]ruby-'"$rcVersion"'.[^"]+\.tar\.xz' \ + | sed -r 's!^["/]ruby-([^"]+)[.]tar[.]xz!\1!' \ + | grep $rcGrepV -E 'preview|rc' \ + | sort -ruV + ) ); unset IFS + + fullVersion= + shaVal= + for tryVersion in "${allVersions[@]}"; do + if \ + { + versionReleasePage="$(grep "Ruby $tryVersion" -A 2 <<<"$releasesPage" | awk -F '"' '$1 == "Ruby '"$tryVersion"' Released' | cut -d'"' -f2)" \ + && [ "$versionReleasePage" ] \ + && shaVal="$(curl -fsSL "https://www.ruby-lang.org/$versionReleasePage" |tac|tac| grep "ruby-$tryVersion.tar.xz" -A 5 | awk '$1 == "SHA256:" { print $2; exit }')" \ + && [ "$shaVal" ] + } \ + ; then + fullVersion="$tryVersion" + break + fi + done + + if [ -z "$fullVersion" ]; then + echo >&2 "error: cannot determine sha for $version (tried all of ${allVersions[*]})" + exit 1 + fi + + echo "$version: $fullVersion; $shaVal" + + export fullVersion shaVal + json="$(jq <<<"$json" -c ' + .[env.version] = { + version: env.fullVersion, + sha256: env.shaVal, + variants: [ + ( + "buster", + if env.rcVersion == "2.6" then + "stretch" + else empty end + | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 + ( + "3.13", + "3.12" + | "alpine" + .) + ], + } + ')" +done + +jq <<<"$json" -S . > versions.json From 0c5948bcce84b1829a554209c777f0ef6a357dd2 Mon Sep 17 00:00:00 2001 From: J0WI Date: Wed, 16 Jun 2021 23:04:12 +0200 Subject: [PATCH 020/132] Add Alpine 3.14 Also add "g++" during compilation (the upstream configure script looks for it, even though it doesn't appear to be used). --- 2.6/alpine3.13/Dockerfile | 1 + 2.6/{alpine3.12 => alpine3.14}/Dockerfile | 10 +++++++++- 2.6/slim-buster/Dockerfile | 1 + 2.6/slim-stretch/Dockerfile | 1 + 2.7/alpine3.13/Dockerfile | 1 + 2.7/{alpine3.12 => alpine3.14}/Dockerfile | 3 ++- 2.7/slim-buster/Dockerfile | 1 + 3.0/alpine3.13/Dockerfile | 1 + 3.0/{alpine3.12 => alpine3.14}/Dockerfile | 3 ++- 3.0/slim-buster/Dockerfile | 1 + Dockerfile.template | 19 +++++++++++++++++++ versions.json | 12 ++++++------ versions.sh | 4 ++-- 13 files changed, 47 insertions(+), 11 deletions(-) rename 2.6/{alpine3.12 => alpine3.14}/Dockerfile (89%) rename 2.7/{alpine3.12 => alpine3.14}/Dockerfile (99%) rename 3.0/{alpine3.12 => alpine3.14}/Dockerfile (99%) diff --git a/2.6/alpine3.13/Dockerfile b/2.6/alpine3.13/Dockerfile index 7d623a8866..1c1feafe1b 100644 --- a/2.6/alpine3.13/Dockerfile +++ b/2.6/alpine3.13/Dockerfile @@ -43,6 +43,7 @@ RUN set -eux; \ ca-certificates \ coreutils \ dpkg-dev dpkg \ + g++ \ gcc \ gdbm-dev \ glib-dev \ diff --git a/2.6/alpine3.12/Dockerfile b/2.6/alpine3.14/Dockerfile similarity index 89% rename from 2.6/alpine3.12/Dockerfile rename to 2.6/alpine3.14/Dockerfile index f1a226b480..53d1aef8a6 100644 --- a/2.6/alpine3.12/Dockerfile +++ b/2.6/alpine3.14/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.12 +FROM alpine:3.14 RUN set -eux; \ apk add --no-cache \ @@ -43,6 +43,7 @@ RUN set -eux; \ ca-certificates \ coreutils \ dpkg-dev dpkg \ + g++ \ gcc \ gdbm-dev \ glib-dev \ @@ -82,6 +83,13 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) +# https://github.com/ruby/ruby/pull/3773 + wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/fcc88da5eb162043adcba552646677d2ab5adf55.patch'; \ + echo '62eefa55030788d409003eccd945ccc408f02fe0d71616ed1c1bdcaf7a2f8a54 *autoconf-2.70.patch' | sha256sum --check --strict; \ + patch -p1 -i autoconf-2.70.patch; \ + rm autoconf-2.70.patch; \ + \ # the configure script does not detect isnan/isinf as macros export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ \ diff --git a/2.6/slim-buster/Dockerfile b/2.6/slim-buster/Dockerfile index 2925c5159f..0c3b1a98f9 100644 --- a/2.6/slim-buster/Dockerfile +++ b/2.6/slim-buster/Dockerfile @@ -45,6 +45,7 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + g++ \ gcc \ libbz2-dev \ libglib2.0-dev \ diff --git a/2.6/slim-stretch/Dockerfile b/2.6/slim-stretch/Dockerfile index b4be19356d..88d1609db9 100644 --- a/2.6/slim-stretch/Dockerfile +++ b/2.6/slim-stretch/Dockerfile @@ -45,6 +45,7 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + g++ \ gcc \ libbz2-dev \ libglib2.0-dev \ diff --git a/2.7/alpine3.13/Dockerfile b/2.7/alpine3.13/Dockerfile index 090e0fc716..38cc86ca70 100644 --- a/2.7/alpine3.13/Dockerfile +++ b/2.7/alpine3.13/Dockerfile @@ -43,6 +43,7 @@ RUN set -eux; \ ca-certificates \ coreutils \ dpkg-dev dpkg \ + g++ \ gcc \ gdbm-dev \ glib-dev \ diff --git a/2.7/alpine3.12/Dockerfile b/2.7/alpine3.14/Dockerfile similarity index 99% rename from 2.7/alpine3.12/Dockerfile rename to 2.7/alpine3.14/Dockerfile index b3328fa463..31be848cb2 100644 --- a/2.7/alpine3.12/Dockerfile +++ b/2.7/alpine3.14/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.12 +FROM alpine:3.14 RUN set -eux; \ apk add --no-cache \ @@ -43,6 +43,7 @@ RUN set -eux; \ ca-certificates \ coreutils \ dpkg-dev dpkg \ + g++ \ gcc \ gdbm-dev \ glib-dev \ diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile index c8edc041bd..e63c047267 100644 --- a/2.7/slim-buster/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -45,6 +45,7 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + g++ \ gcc \ libbz2-dev \ libglib2.0-dev \ diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.13/Dockerfile index 76a77f9c91..ba573d215a 100644 --- a/3.0/alpine3.13/Dockerfile +++ b/3.0/alpine3.13/Dockerfile @@ -43,6 +43,7 @@ RUN set -eux; \ ca-certificates \ coreutils \ dpkg-dev dpkg \ + g++ \ gcc \ gdbm-dev \ glib-dev \ diff --git a/3.0/alpine3.12/Dockerfile b/3.0/alpine3.14/Dockerfile similarity index 99% rename from 3.0/alpine3.12/Dockerfile rename to 3.0/alpine3.14/Dockerfile index ea092b9cd2..e574b85d62 100644 --- a/3.0/alpine3.12/Dockerfile +++ b/3.0/alpine3.14/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.12 +FROM alpine:3.14 RUN set -eux; \ apk add --no-cache \ @@ -43,6 +43,7 @@ RUN set -eux; \ ca-certificates \ coreutils \ dpkg-dev dpkg \ + g++ \ gcc \ gdbm-dev \ glib-dev \ diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index 91affedd37..88b4e02422 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -45,6 +45,7 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + g++ \ gcc \ libbz2-dev \ libglib2.0-dev \ diff --git a/Dockerfile.template b/Dockerfile.template index cdbe4aa3b5..666ae9b911 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -68,6 +68,7 @@ RUN set -eux; \ ca-certificates \ coreutils \ dpkg-dev dpkg \ + g++ \ gcc \ gdbm-dev \ glib-dev \ @@ -99,6 +100,7 @@ RUN set -eux; \ ruby \ {{ if is_slim then ( -}} autoconf \ + g++ \ gcc \ libbz2-dev \ libglib2.0-dev \ @@ -136,6 +138,23 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +{{ + { + "2.6": { + url: "https://github.com/ruby/ruby/pull/3773", + commit: "fcc88da5eb162043adcba552646677d2ab5adf55", + sha256: "62eefa55030788d409003eccd945ccc408f02fe0d71616ed1c1bdcaf7a2f8a54", + }, + }[env.version] | if . and env.variant != "alpine3.13" then ( +-}} +# https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) +# {{ .url }} + wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/{{ .commit }}.patch'; \ + echo '{{ .sha256 }} *autoconf-2.70.patch' | sha256sum --check --strict; \ + patch -p1 -i autoconf-2.70.patch; \ + rm autoconf-2.70.patch; \ + \ +{{ ) else "" end -}} # the configure script does not detect isnan/isinf as macros export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ \ diff --git a/versions.json b/versions.json index 1c50698e85..729a7acb45 100644 --- a/versions.json +++ b/versions.json @@ -6,8 +6,8 @@ "slim-buster", "stretch", "slim-stretch", - "alpine3.13", - "alpine3.12" + "alpine3.14", + "alpine3.13" ], "version": "2.6.8" }, @@ -16,8 +16,8 @@ "variants": [ "buster", "slim-buster", - "alpine3.13", - "alpine3.12" + "alpine3.14", + "alpine3.13" ], "version": "2.7.4" }, @@ -26,8 +26,8 @@ "variants": [ "buster", "slim-buster", - "alpine3.13", - "alpine3.12" + "alpine3.14", + "alpine3.13" ], "version": "3.0.2" } diff --git a/versions.sh b/versions.sh index 6f55ed7aad..92290eb347 100755 --- a/versions.sh +++ b/versions.sh @@ -74,8 +74,8 @@ for version in "${versions[@]}"; do else empty end | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( - "3.13", - "3.12" + "3.14", + "3.13" | "alpine" + .) ], } From e43959905d886946628d89f8e28d276af14a44a0 Mon Sep 17 00:00:00 2001 From: Joe Ferguson Date: Mon, 16 Aug 2021 11:31:57 -0700 Subject: [PATCH 021/132] Update patch file shasum In some way, GitHub changed how they present the .patch file --- 2.6/alpine3.14/Dockerfile | 2 +- Dockerfile.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/2.6/alpine3.14/Dockerfile b/2.6/alpine3.14/Dockerfile index 53d1aef8a6..cb90863960 100644 --- a/2.6/alpine3.14/Dockerfile +++ b/2.6/alpine3.14/Dockerfile @@ -86,7 +86,7 @@ RUN set -eux; \ # https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) # https://github.com/ruby/ruby/pull/3773 wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/fcc88da5eb162043adcba552646677d2ab5adf55.patch'; \ - echo '62eefa55030788d409003eccd945ccc408f02fe0d71616ed1c1bdcaf7a2f8a54 *autoconf-2.70.patch' | sha256sum --check --strict; \ + echo '95565a8a8f0eddd39d76fe8af63fc34b6429c956c8f8fe0aa17282d37adced64 *autoconf-2.70.patch' | sha256sum --check --strict; \ patch -p1 -i autoconf-2.70.patch; \ rm autoconf-2.70.patch; \ \ diff --git a/Dockerfile.template b/Dockerfile.template index 666ae9b911..dfc9a32476 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -143,7 +143,7 @@ RUN set -eux; \ "2.6": { url: "https://github.com/ruby/ruby/pull/3773", commit: "fcc88da5eb162043adcba552646677d2ab5adf55", - sha256: "62eefa55030788d409003eccd945ccc408f02fe0d71616ed1c1bdcaf7a2f8a54", + sha256: "95565a8a8f0eddd39d76fe8af63fc34b6429c956c8f8fe0aa17282d37adced64", }, }[env.version] | if . and env.variant != "alpine3.13" then ( -}} From 49168590766ac3eb0ad286154b2e01760b79f4b2 Mon Sep 17 00:00:00 2001 From: ojab Date: Sun, 15 Aug 2021 07:24:21 +0000 Subject: [PATCH 022/132] Add `bullseye` & `bullseye-slim` versions, drop `stretch` & `stretch-slim` --- 2.6/{stretch => bullseye}/Dockerfile | 2 +- .../Dockerfile | 3 +- 2.6/slim-buster/Dockerfile | 3 +- 2.7/bullseye/Dockerfile | 95 ++++++++++++++ 2.7/slim-bullseye/Dockerfile | 122 ++++++++++++++++++ 2.7/slim-buster/Dockerfile | 3 +- 3.0/bullseye/Dockerfile | 95 ++++++++++++++ 3.0/slim-bullseye/Dockerfile | 122 ++++++++++++++++++ 3.0/slim-buster/Dockerfile | 3 +- Dockerfile.template | 5 +- versions.json | 8 +- versions.sh | 6 +- 12 files changed, 449 insertions(+), 18 deletions(-) rename 2.6/{stretch => bullseye}/Dockerfile (98%) rename 2.6/{slim-stretch => slim-bullseye}/Dockerfile (98%) create mode 100644 2.7/bullseye/Dockerfile create mode 100644 2.7/slim-bullseye/Dockerfile create mode 100644 3.0/bullseye/Dockerfile create mode 100644 3.0/slim-bullseye/Dockerfile diff --git a/2.6/stretch/Dockerfile b/2.6/bullseye/Dockerfile similarity index 98% rename from 2.6/stretch/Dockerfile rename to 2.6/bullseye/Dockerfile index 73f9cfd911..387c39d5b1 100644 --- a/2.6/stretch/Dockerfile +++ b/2.6/bullseye/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM buildpack-deps:stretch +FROM buildpack-deps:bullseye # skip installing gem documentation RUN set -eux; \ diff --git a/2.6/slim-stretch/Dockerfile b/2.6/slim-bullseye/Dockerfile similarity index 98% rename from 2.6/slim-stretch/Dockerfile rename to 2.6/slim-bullseye/Dockerfile index 88d1609db9..b2aa2cca9e 100644 --- a/2.6/slim-stretch/Dockerfile +++ b/2.6/slim-bullseye/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM debian:stretch-slim +FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ @@ -48,6 +48,7 @@ RUN set -eux; \ g++ \ gcc \ libbz2-dev \ + libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ diff --git a/2.6/slim-buster/Dockerfile b/2.6/slim-buster/Dockerfile index 0c3b1a98f9..1e50d8fd72 100644 --- a/2.6/slim-buster/Dockerfile +++ b/2.6/slim-buster/Dockerfile @@ -48,6 +48,7 @@ RUN set -eux; \ g++ \ gcc \ libbz2-dev \ + libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ @@ -56,8 +57,6 @@ RUN set -eux; \ make \ wget \ xz-utils \ -# https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) - libgdbm-compat-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/2.7/bullseye/Dockerfile b/2.7/bullseye/Dockerfile new file mode 100644 index 0000000000..6ebfaa002d --- /dev/null +++ b/2.7/bullseye/Dockerfile @@ -0,0 +1,95 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 2.7 +ENV RUBY_VERSION 2.7.4 +ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/2.7/slim-bullseye/Dockerfile b/2.7/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..05e01bad4f --- /dev/null +++ b/2.7/slim-bullseye/Dockerfile @@ -0,0 +1,122 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 2.7 +ENV RUBY_VERSION 2.7.4 +ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile index e63c047267..3b1825a1c6 100644 --- a/2.7/slim-buster/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -48,6 +48,7 @@ RUN set -eux; \ g++ \ gcc \ libbz2-dev \ + libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ @@ -56,8 +57,6 @@ RUN set -eux; \ make \ wget \ xz-utils \ -# https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) - libgdbm-compat-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile new file mode 100644 index 0000000000..6cf1732b42 --- /dev/null +++ b/3.0/bullseye/Dockerfile @@ -0,0 +1,95 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.0 +ENV RUBY_VERSION 3.0.2 +ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..a17b866a8f --- /dev/null +++ b/3.0/slim-bullseye/Dockerfile @@ -0,0 +1,122 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.0 +ENV RUBY_VERSION 3.0.2 +ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index 88b4e02422..feef07b491 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -48,6 +48,7 @@ RUN set -eux; \ g++ \ gcc \ libbz2-dev \ + libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ @@ -56,8 +57,6 @@ RUN set -eux; \ make \ wget \ xz-utils \ -# https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) - libgdbm-compat-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/Dockerfile.template b/Dockerfile.template index dfc9a32476..6798d02485 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -103,6 +103,7 @@ RUN set -eux; \ g++ \ gcc \ libbz2-dev \ + libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ libreadline-dev \ @@ -111,10 +112,6 @@ RUN set -eux; \ make \ wget \ xz-utils \ -{{ if env.variant | endswith("stretch") then "" else ( -}} -# https://packages.debian.org/sid/libgdbm-compat-dev (needed for "dbm" core module, but only in Buster+) - libgdbm-compat-dev \ -{{ ) end -}} {{ ) else "" end -}} ; \ rm -rf /var/lib/apt/lists/*; \ diff --git a/versions.json b/versions.json index 729a7acb45..c428c8c021 100644 --- a/versions.json +++ b/versions.json @@ -2,10 +2,10 @@ "2.6": { "sha256": "8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb", "variants": [ + "bullseye", + "slim-bullseye", "buster", "slim-buster", - "stretch", - "slim-stretch", "alpine3.14", "alpine3.13" ], @@ -14,6 +14,8 @@ "2.7": { "sha256": "2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7", "variants": [ + "bullseye", + "slim-bullseye", "buster", "slim-buster", "alpine3.14", @@ -24,6 +26,8 @@ "3.0": { "sha256": "570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40", "variants": [ + "bullseye", + "slim-bullseye", "buster", "slim-buster", "alpine3.14", diff --git a/versions.sh b/versions.sh index 92290eb347..51d1803e20 100755 --- a/versions.sh +++ b/versions.sh @@ -68,10 +68,8 @@ for version in "${versions[@]}"; do sha256: env.shaVal, variants: [ ( - "buster", - if env.rcVersion == "2.6" then - "stretch" - else empty end + "bullseye", + "buster" | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( "3.14", From 659f4ab3a26e8538db6a690e6bf8491930da3e37 Mon Sep 17 00:00:00 2001 From: yosifkit Date: Mon, 23 Aug 2021 09:10:27 -0700 Subject: [PATCH 023/132] Remove sha256sum from GitHub patch file We pull it via https, and thus can generally trust that we get the right thing -- we've had *many* instances of the sha256sum flopping back and forth based on minor adjustments to the generated patch format GitHub generates. --- 2.6/alpine3.14/Dockerfile | 1 - Dockerfile.template | 2 -- 2 files changed, 3 deletions(-) diff --git a/2.6/alpine3.14/Dockerfile b/2.6/alpine3.14/Dockerfile index cb90863960..5a86b56098 100644 --- a/2.6/alpine3.14/Dockerfile +++ b/2.6/alpine3.14/Dockerfile @@ -86,7 +86,6 @@ RUN set -eux; \ # https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) # https://github.com/ruby/ruby/pull/3773 wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/fcc88da5eb162043adcba552646677d2ab5adf55.patch'; \ - echo '95565a8a8f0eddd39d76fe8af63fc34b6429c956c8f8fe0aa17282d37adced64 *autoconf-2.70.patch' | sha256sum --check --strict; \ patch -p1 -i autoconf-2.70.patch; \ rm autoconf-2.70.patch; \ \ diff --git a/Dockerfile.template b/Dockerfile.template index 6798d02485..534cf98cdc 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -140,14 +140,12 @@ RUN set -eux; \ "2.6": { url: "https://github.com/ruby/ruby/pull/3773", commit: "fcc88da5eb162043adcba552646677d2ab5adf55", - sha256: "95565a8a8f0eddd39d76fe8af63fc34b6429c956c8f8fe0aa17282d37adced64", }, }[env.version] | if . and env.variant != "alpine3.13" then ( -}} # https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) # {{ .url }} wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/{{ .commit }}.patch'; \ - echo '{{ .sha256 }} *autoconf-2.70.patch' | sha256sum --check --strict; \ patch -p1 -i autoconf-2.70.patch; \ rm autoconf-2.70.patch; \ \ From 53a12c266a4bd3c1e5ade9907336cf52f694cc6b Mon Sep 17 00:00:00 2001 From: Joe Ferguson Date: Mon, 25 Oct 2021 16:46:01 -0700 Subject: [PATCH 024/132] Use libucontext in 2.7 to fix alpine based builds on arm32v6/7 and s390x - Same as alpine uses on all arches (https://git.alpinelinux.org/aports/commit/main/ruby/APKBUILD?h=3.14-stable&id=5ed0f177e21cb9582f05a4088209ada9b143ef80) --- 2.6/alpine3.13/Dockerfile | 1 + 2.6/alpine3.14/Dockerfile | 1 + 2.7/alpine3.13/Dockerfile | 2 ++ 2.7/alpine3.14/Dockerfile | 2 ++ 3.0/alpine3.13/Dockerfile | 1 + 3.0/alpine3.14/Dockerfile | 1 + Dockerfile.template | 4 ++++ 7 files changed, 12 insertions(+) diff --git a/2.6/alpine3.13/Dockerfile b/2.6/alpine3.13/Dockerfile index 1c1feafe1b..11f9f1d733 100644 --- a/2.6/alpine3.13/Dockerfile +++ b/2.6/alpine3.13/Dockerfile @@ -51,6 +51,7 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ + libucontext-dev \ linux-headers \ make \ ncurses-dev \ diff --git a/2.6/alpine3.14/Dockerfile b/2.6/alpine3.14/Dockerfile index 5a86b56098..a882629e16 100644 --- a/2.6/alpine3.14/Dockerfile +++ b/2.6/alpine3.14/Dockerfile @@ -51,6 +51,7 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ + libucontext-dev \ linux-headers \ make \ ncurses-dev \ diff --git a/2.7/alpine3.13/Dockerfile b/2.7/alpine3.13/Dockerfile index 38cc86ca70..6a9bba4000 100644 --- a/2.7/alpine3.13/Dockerfile +++ b/2.7/alpine3.13/Dockerfile @@ -51,6 +51,7 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ + libucontext-dev \ linux-headers \ make \ ncurses-dev \ @@ -97,6 +98,7 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + export LIBS='-lucontext'; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ diff --git a/2.7/alpine3.14/Dockerfile b/2.7/alpine3.14/Dockerfile index 31be848cb2..9c0b3c6d96 100644 --- a/2.7/alpine3.14/Dockerfile +++ b/2.7/alpine3.14/Dockerfile @@ -51,6 +51,7 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ + libucontext-dev \ linux-headers \ make \ ncurses-dev \ @@ -97,6 +98,7 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + export LIBS='-lucontext'; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.13/Dockerfile index ba573d215a..0edbbe0d20 100644 --- a/3.0/alpine3.13/Dockerfile +++ b/3.0/alpine3.13/Dockerfile @@ -51,6 +51,7 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ + libucontext-dev \ linux-headers \ make \ ncurses-dev \ diff --git a/3.0/alpine3.14/Dockerfile b/3.0/alpine3.14/Dockerfile index e574b85d62..bb1a25d501 100644 --- a/3.0/alpine3.14/Dockerfile +++ b/3.0/alpine3.14/Dockerfile @@ -51,6 +51,7 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ + libucontext-dev \ linux-headers \ make \ ncurses-dev \ diff --git a/Dockerfile.template b/Dockerfile.template index 534cf98cdc..edd463b720 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -76,6 +76,7 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ + libucontext-dev \ linux-headers \ make \ ncurses-dev \ @@ -165,6 +166,9 @@ RUN set -eux; \ \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ +{{ if is_alpine and env.version == "2.7" then ( -}} + export LIBS='-lucontext'; \ +{{ ) else "" end -}} ./configure \ --build="$gnuArch" \ --disable-install-doc \ From bda17e37f416a6b866c1d5def53017b5a025f106 Mon Sep 17 00:00:00 2001 From: Joe Ferguson Date: Wed, 27 Oct 2021 15:33:46 -0700 Subject: [PATCH 025/132] Limit ucontext linking to specific arches --- 2.6/alpine3.13/Dockerfile | 1 - 2.6/alpine3.14/Dockerfile | 1 - 2.7/alpine3.13/Dockerfile | 11 +++++++++-- 2.7/alpine3.14/Dockerfile | 11 +++++++++-- 3.0/alpine3.13/Dockerfile | 10 +++++++++- 3.0/alpine3.14/Dockerfile | 10 +++++++++- Dockerfile.template | 15 +++++++++++---- 7 files changed, 47 insertions(+), 12 deletions(-) diff --git a/2.6/alpine3.13/Dockerfile b/2.6/alpine3.13/Dockerfile index 11f9f1d733..1c1feafe1b 100644 --- a/2.6/alpine3.13/Dockerfile +++ b/2.6/alpine3.13/Dockerfile @@ -51,7 +51,6 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ - libucontext-dev \ linux-headers \ make \ ncurses-dev \ diff --git a/2.6/alpine3.14/Dockerfile b/2.6/alpine3.14/Dockerfile index a882629e16..5a86b56098 100644 --- a/2.6/alpine3.14/Dockerfile +++ b/2.6/alpine3.14/Dockerfile @@ -51,7 +51,6 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ - libucontext-dev \ linux-headers \ make \ ncurses-dev \ diff --git a/2.7/alpine3.13/Dockerfile b/2.7/alpine3.13/Dockerfile index 6a9bba4000..f80d05b4aa 100644 --- a/2.7/alpine3.13/Dockerfile +++ b/2.7/alpine3.13/Dockerfile @@ -51,7 +51,6 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ - libucontext-dev \ linux-headers \ make \ ncurses-dev \ @@ -97,8 +96,16 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 + # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + s390x | armhf | armv7) \ + apk add --no-cache libucontext-dev; \ + export LIBS='-lucontext'; \ + ;; \ + esac; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - export LIBS='-lucontext'; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ diff --git a/2.7/alpine3.14/Dockerfile b/2.7/alpine3.14/Dockerfile index 9c0b3c6d96..ebf7c2985a 100644 --- a/2.7/alpine3.14/Dockerfile +++ b/2.7/alpine3.14/Dockerfile @@ -51,7 +51,6 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ - libucontext-dev \ linux-headers \ make \ ncurses-dev \ @@ -97,8 +96,16 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 + # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + s390x | armhf | armv7) \ + apk add --no-cache libucontext-dev; \ + export LIBS='-lucontext'; \ + ;; \ + esac; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - export LIBS='-lucontext'; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.13/Dockerfile index 0edbbe0d20..d5fd52e058 100644 --- a/3.0/alpine3.13/Dockerfile +++ b/3.0/alpine3.13/Dockerfile @@ -51,7 +51,6 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ - libucontext-dev \ linux-headers \ make \ ncurses-dev \ @@ -97,6 +96,15 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 + # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + s390x | armhf | armv7) \ + apk add --no-cache libucontext-dev; \ + export LIBS='-lucontext'; \ + ;; \ + esac; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.0/alpine3.14/Dockerfile b/3.0/alpine3.14/Dockerfile index bb1a25d501..749d8b72e2 100644 --- a/3.0/alpine3.14/Dockerfile +++ b/3.0/alpine3.14/Dockerfile @@ -51,7 +51,6 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ - libucontext-dev \ linux-headers \ make \ ncurses-dev \ @@ -97,6 +96,15 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 + # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + s390x | armhf | armv7) \ + apk add --no-cache libucontext-dev; \ + export LIBS='-lucontext'; \ + ;; \ + esac; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/Dockerfile.template b/Dockerfile.template index edd463b720..e4e735838f 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -76,7 +76,6 @@ RUN set -eux; \ libffi-dev \ libxml2-dev \ libxslt-dev \ - libucontext-dev \ linux-headers \ make \ ncurses-dev \ @@ -165,10 +164,18 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ -{{ if is_alpine and env.version == "2.7" then ( -}} - export LIBS='-lucontext'; \ +{{ if is_alpine and ( [ "2.7", "3.0" ] | index(env.version) ) then ( -}} + # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 + # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + s390x | armhf | armv7) \ + apk add --no-cache libucontext-dev; \ + export LIBS='-lucontext'; \ + ;; \ + esac; \ {{ ) else "" end -}} + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ --disable-install-doc \ From 9d85d0a89d473e30aca7c2eee65695676ac41a31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Codru=C8=9B=20Constantin=20Gu=C8=99oi?= Date: Tue, 9 Nov 2021 13:44:56 +0000 Subject: [PATCH 026/132] Add ruby 3.1.0-preview1 --- 3.1-rc/alpine3.13/Dockerfile | 141 ++++++++++++++++++++++++++++++++ 3.1-rc/alpine3.14/Dockerfile | 141 ++++++++++++++++++++++++++++++++ 3.1-rc/bullseye/Dockerfile | 95 +++++++++++++++++++++ 3.1-rc/buster/Dockerfile | 95 +++++++++++++++++++++ 3.1-rc/slim-bullseye/Dockerfile | 122 +++++++++++++++++++++++++++ 3.1-rc/slim-buster/Dockerfile | 122 +++++++++++++++++++++++++++ versions.json | 12 +++ 7 files changed, 728 insertions(+) create mode 100644 3.1-rc/alpine3.13/Dockerfile create mode 100644 3.1-rc/alpine3.14/Dockerfile create mode 100644 3.1-rc/bullseye/Dockerfile create mode 100644 3.1-rc/buster/Dockerfile create mode 100644 3.1-rc/slim-bullseye/Dockerfile create mode 100644 3.1-rc/slim-buster/Dockerfile diff --git a/3.1-rc/alpine3.13/Dockerfile b/3.1-rc/alpine3.13/Dockerfile new file mode 100644 index 0000000000..2073ef1d1f --- /dev/null +++ b/3.1-rc/alpine3.13/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.13 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.1-rc +ENV RUBY_VERSION 3.1.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.1-rc/alpine3.14/Dockerfile b/3.1-rc/alpine3.14/Dockerfile new file mode 100644 index 0000000000..62d9ed0326 --- /dev/null +++ b/3.1-rc/alpine3.14/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.14 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.1-rc +ENV RUBY_VERSION 3.1.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.1-rc/bullseye/Dockerfile b/3.1-rc/bullseye/Dockerfile new file mode 100644 index 0000000000..a07021315c --- /dev/null +++ b/3.1-rc/bullseye/Dockerfile @@ -0,0 +1,95 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.1-rc +ENV RUBY_VERSION 3.1.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.1-rc/buster/Dockerfile b/3.1-rc/buster/Dockerfile new file mode 100644 index 0000000000..b6c08a6df2 --- /dev/null +++ b/3.1-rc/buster/Dockerfile @@ -0,0 +1,95 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:buster + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.1-rc +ENV RUBY_VERSION 3.1.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.1-rc/slim-bullseye/Dockerfile b/3.1-rc/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..0193663aff --- /dev/null +++ b/3.1-rc/slim-bullseye/Dockerfile @@ -0,0 +1,122 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.1-rc +ENV RUBY_VERSION 3.1.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.1-rc/slim-buster/Dockerfile b/3.1-rc/slim-buster/Dockerfile new file mode 100644 index 0000000000..433e624a8f --- /dev/null +++ b/3.1-rc/slim-buster/Dockerfile @@ -0,0 +1,122 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:buster-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.1-rc +ENV RUBY_VERSION 3.1.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/versions.json b/versions.json index c428c8c021..863edff1f0 100644 --- a/versions.json +++ b/versions.json @@ -34,5 +34,17 @@ "alpine3.13" ], "version": "3.0.2" + }, + "3.1-rc": { + "sha256": "86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d", + "variants": [ + "bullseye", + "slim-bullseye", + "buster", + "slim-buster", + "alpine3.14", + "alpine3.13" + ], + "version": "3.1.0-preview1" } } From d339fc4298b24ad6fb9f6758fde30c0a2643eae3 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 24 Nov 2021 09:21:16 -0800 Subject: [PATCH 027/132] Update 2.6 to 2.6.9 --- 2.6/alpine3.13/Dockerfile | 4 ++-- 2.6/alpine3.14/Dockerfile | 4 ++-- 2.6/bullseye/Dockerfile | 4 ++-- 2.6/buster/Dockerfile | 4 ++-- 2.6/slim-bullseye/Dockerfile | 4 ++-- 2.6/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/2.6/alpine3.13/Dockerfile b/2.6/alpine3.13/Dockerfile index 1c1feafe1b..4f2440a2bb 100644 --- a/2.6/alpine3.13/Dockerfile +++ b/2.6/alpine3.13/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.8 -ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb +ENV RUBY_VERSION 2.6.9 +ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/alpine3.14/Dockerfile b/2.6/alpine3.14/Dockerfile index 5a86b56098..74042817bf 100644 --- a/2.6/alpine3.14/Dockerfile +++ b/2.6/alpine3.14/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.8 -ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb +ENV RUBY_VERSION 2.6.9 +ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/bullseye/Dockerfile b/2.6/bullseye/Dockerfile index 387c39d5b1..fdc5052a77 100644 --- a/2.6/bullseye/Dockerfile +++ b/2.6/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.8 -ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb +ENV RUBY_VERSION 2.6.9 +ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/buster/Dockerfile b/2.6/buster/Dockerfile index b9824a208b..887bda5eaf 100644 --- a/2.6/buster/Dockerfile +++ b/2.6/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.8 -ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb +ENV RUBY_VERSION 2.6.9 +ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/slim-bullseye/Dockerfile b/2.6/slim-bullseye/Dockerfile index b2aa2cca9e..b9dd86b3d4 100644 --- a/2.6/slim-bullseye/Dockerfile +++ b/2.6/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.8 -ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb +ENV RUBY_VERSION 2.6.9 +ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/slim-buster/Dockerfile b/2.6/slim-buster/Dockerfile index 1e50d8fd72..abeaa720da 100644 --- a/2.6/slim-buster/Dockerfile +++ b/2.6/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.8 -ENV RUBY_DOWNLOAD_SHA256 8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb +ENV RUBY_VERSION 2.6.9 +ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 863edff1f0..76d98f8595 100644 --- a/versions.json +++ b/versions.json @@ -1,6 +1,6 @@ { "2.6": { - "sha256": "8262e4663169c85787fdc9bfbd04d9eb86eb2a4b56d7f98373a8fcaa18e593eb", + "sha256": "6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece", "variants": [ "bullseye", "slim-bullseye", @@ -9,7 +9,7 @@ "alpine3.14", "alpine3.13" ], - "version": "2.6.8" + "version": "2.6.9" }, "2.7": { "sha256": "2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7", From 928ce974a8356c21238af67b50680cc42fc489fe Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 24 Nov 2021 09:45:02 -0800 Subject: [PATCH 028/132] Update 2.7 to 2.7.5 --- 2.7/alpine3.13/Dockerfile | 4 ++-- 2.7/alpine3.14/Dockerfile | 4 ++-- 2.7/bullseye/Dockerfile | 4 ++-- 2.7/buster/Dockerfile | 4 ++-- 2.7/slim-bullseye/Dockerfile | 4 ++-- 2.7/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/2.7/alpine3.13/Dockerfile b/2.7/alpine3.13/Dockerfile index f80d05b4aa..0d7517b559 100644 --- a/2.7/alpine3.13/Dockerfile +++ b/2.7/alpine3.13/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.4 -ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 +ENV RUBY_VERSION 2.7.5 +ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.14/Dockerfile b/2.7/alpine3.14/Dockerfile index ebf7c2985a..f84a45b47d 100644 --- a/2.7/alpine3.14/Dockerfile +++ b/2.7/alpine3.14/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.4 -ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 +ENV RUBY_VERSION 2.7.5 +ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/bullseye/Dockerfile b/2.7/bullseye/Dockerfile index 6ebfaa002d..a9e621e3a5 100644 --- a/2.7/bullseye/Dockerfile +++ b/2.7/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.4 -ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 +ENV RUBY_VERSION 2.7.5 +ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index f3780636dc..868dfe6cb3 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.4 -ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 +ENV RUBY_VERSION 2.7.5 +ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/slim-bullseye/Dockerfile b/2.7/slim-bullseye/Dockerfile index 05e01bad4f..b97197a971 100644 --- a/2.7/slim-bullseye/Dockerfile +++ b/2.7/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.4 -ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 +ENV RUBY_VERSION 2.7.5 +ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile index 3b1825a1c6..3a9be1d6d8 100644 --- a/2.7/slim-buster/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.4 -ENV RUBY_DOWNLOAD_SHA256 2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7 +ENV RUBY_VERSION 2.7.5 +ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 76d98f8595..be45b7b475 100644 --- a/versions.json +++ b/versions.json @@ -12,7 +12,7 @@ "version": "2.6.9" }, "2.7": { - "sha256": "2a80824e0ad6100826b69b9890bf55cfc4cf2b61a1e1330fccbcb30c46cef8d7", + "sha256": "d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516", "variants": [ "bullseye", "slim-bullseye", @@ -21,7 +21,7 @@ "alpine3.14", "alpine3.13" ], - "version": "2.7.4" + "version": "2.7.5" }, "3.0": { "sha256": "570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40", From c57d85bd8745dcd12d2713c177d6dbc5844318b7 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 24 Nov 2021 10:06:29 -0800 Subject: [PATCH 029/132] Update 3.0 to 3.0.3 --- 3.0/alpine3.13/Dockerfile | 4 ++-- 3.0/alpine3.14/Dockerfile | 4 ++-- 3.0/bullseye/Dockerfile | 4 ++-- 3.0/buster/Dockerfile | 4 ++-- 3.0/slim-bullseye/Dockerfile | 4 ++-- 3.0/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.13/Dockerfile index d5fd52e058..c52c6d4b04 100644 --- a/3.0/alpine3.13/Dockerfile +++ b/3.0/alpine3.13/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.2 -ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 +ENV RUBY_VERSION 3.0.3 +ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/alpine3.14/Dockerfile b/3.0/alpine3.14/Dockerfile index 749d8b72e2..b98cf8d0eb 100644 --- a/3.0/alpine3.14/Dockerfile +++ b/3.0/alpine3.14/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.2 -ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 +ENV RUBY_VERSION 3.0.3 +ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index 6cf1732b42..abf6afadd0 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.2 -ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 +ENV RUBY_VERSION 3.0.3 +ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index fe137bc19d..055579e476 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.2 -ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 +ENV RUBY_VERSION 3.0.3 +ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index a17b866a8f..b1e1e0531f 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.2 -ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 +ENV RUBY_VERSION 3.0.3 +ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index feef07b491..affbfd81a6 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.2 -ENV RUBY_DOWNLOAD_SHA256 570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 +ENV RUBY_VERSION 3.0.3 +ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index be45b7b475..1109e4a6f7 100644 --- a/versions.json +++ b/versions.json @@ -24,7 +24,7 @@ "version": "2.7.5" }, "3.0": { - "sha256": "570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40", + "sha256": "88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c", "variants": [ "bullseye", "slim-bullseye", @@ -33,7 +33,7 @@ "alpine3.14", "alpine3.13" ], - "version": "3.0.2" + "version": "3.0.3" }, "3.1-rc": { "sha256": "86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d", From 1e1d46db1542d9869ef677ebc2dd56aecb4ececa Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 29 Nov 2021 12:21:25 -0800 Subject: [PATCH 030/132] Update to Alpine 3.15 --- 2.6/{alpine3.13 => alpine3.15}/Dockerfile | 8 +++++++- 2.7/{alpine3.13 => alpine3.15}/Dockerfile | 2 +- 3.0/{alpine3.13 => alpine3.15}/Dockerfile | 2 +- 3.1-rc/{alpine3.13 => alpine3.15}/Dockerfile | 2 +- versions.json | 16 ++++++++-------- versions.sh | 4 ++-- 6 files changed, 20 insertions(+), 14 deletions(-) rename 2.6/{alpine3.13 => alpine3.15}/Dockerfile (92%) rename 2.7/{alpine3.13 => alpine3.15}/Dockerfile (99%) rename 3.0/{alpine3.13 => alpine3.15}/Dockerfile (99%) rename 3.1-rc/{alpine3.13 => alpine3.15}/Dockerfile (99%) diff --git a/2.6/alpine3.13/Dockerfile b/2.6/alpine3.15/Dockerfile similarity index 92% rename from 2.6/alpine3.13/Dockerfile rename to 2.6/alpine3.15/Dockerfile index 4f2440a2bb..172918f137 100644 --- a/2.6/alpine3.13/Dockerfile +++ b/2.6/alpine3.15/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.13 +FROM alpine:3.15 RUN set -eux; \ apk add --no-cache \ @@ -83,6 +83,12 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ +# https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) +# https://github.com/ruby/ruby/pull/3773 + wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/fcc88da5eb162043adcba552646677d2ab5adf55.patch'; \ + patch -p1 -i autoconf-2.70.patch; \ + rm autoconf-2.70.patch; \ + \ # the configure script does not detect isnan/isinf as macros export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ \ diff --git a/2.7/alpine3.13/Dockerfile b/2.7/alpine3.15/Dockerfile similarity index 99% rename from 2.7/alpine3.13/Dockerfile rename to 2.7/alpine3.15/Dockerfile index 0d7517b559..487142a3ba 100644 --- a/2.7/alpine3.13/Dockerfile +++ b/2.7/alpine3.15/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.13 +FROM alpine:3.15 RUN set -eux; \ apk add --no-cache \ diff --git a/3.0/alpine3.13/Dockerfile b/3.0/alpine3.15/Dockerfile similarity index 99% rename from 3.0/alpine3.13/Dockerfile rename to 3.0/alpine3.15/Dockerfile index c52c6d4b04..8b6b485050 100644 --- a/3.0/alpine3.13/Dockerfile +++ b/3.0/alpine3.15/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.13 +FROM alpine:3.15 RUN set -eux; \ apk add --no-cache \ diff --git a/3.1-rc/alpine3.13/Dockerfile b/3.1-rc/alpine3.15/Dockerfile similarity index 99% rename from 3.1-rc/alpine3.13/Dockerfile rename to 3.1-rc/alpine3.15/Dockerfile index 2073ef1d1f..74a45c2202 100644 --- a/3.1-rc/alpine3.13/Dockerfile +++ b/3.1-rc/alpine3.15/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.13 +FROM alpine:3.15 RUN set -eux; \ apk add --no-cache \ diff --git a/versions.json b/versions.json index 1109e4a6f7..f479e90232 100644 --- a/versions.json +++ b/versions.json @@ -6,8 +6,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.14", - "alpine3.13" + "alpine3.15", + "alpine3.14" ], "version": "2.6.9" }, @@ -18,8 +18,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.14", - "alpine3.13" + "alpine3.15", + "alpine3.14" ], "version": "2.7.5" }, @@ -30,8 +30,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.14", - "alpine3.13" + "alpine3.15", + "alpine3.14" ], "version": "3.0.3" }, @@ -42,8 +42,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.14", - "alpine3.13" + "alpine3.15", + "alpine3.14" ], "version": "3.1.0-preview1" } diff --git a/versions.sh b/versions.sh index 51d1803e20..5e217eead5 100755 --- a/versions.sh +++ b/versions.sh @@ -72,8 +72,8 @@ for version in "${versions[@]}"; do "buster" | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( - "3.14", - "3.13" + "3.15", + "3.14" | "alpine" + .) ], } From 07554c8658a9305f77051781e6ca41d352b44c3b Mon Sep 17 00:00:00 2001 From: enomotodev Date: Sat, 25 Dec 2021 23:31:20 +0900 Subject: [PATCH 031/132] Update to 3.1 stable release --- {3.1-rc => 3.1}/alpine3.14/Dockerfile | 6 +++--- {3.1-rc => 3.1}/alpine3.15/Dockerfile | 6 +++--- {3.1-rc => 3.1}/bullseye/Dockerfile | 6 +++--- {3.1-rc => 3.1}/buster/Dockerfile | 6 +++--- {3.1-rc => 3.1}/slim-bullseye/Dockerfile | 6 +++--- {3.1-rc => 3.1}/slim-buster/Dockerfile | 6 +++--- generate-stackbrew-library.sh | 2 +- versions.json | 6 +++--- 8 files changed, 22 insertions(+), 22 deletions(-) rename {3.1-rc => 3.1}/alpine3.14/Dockerfile (96%) rename {3.1-rc => 3.1}/alpine3.15/Dockerfile (96%) rename {3.1-rc => 3.1}/bullseye/Dockerfile (94%) rename {3.1-rc => 3.1}/buster/Dockerfile (94%) rename {3.1-rc => 3.1}/slim-bullseye/Dockerfile (95%) rename {3.1-rc => 3.1}/slim-buster/Dockerfile (95%) diff --git a/3.1-rc/alpine3.14/Dockerfile b/3.1/alpine3.14/Dockerfile similarity index 96% rename from 3.1-rc/alpine3.14/Dockerfile rename to 3.1/alpine3.14/Dockerfile index 62d9ed0326..6b1a42f02a 100644 --- a/3.1-rc/alpine3.14/Dockerfile +++ b/3.1/alpine3.14/Dockerfile @@ -26,9 +26,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1-rc -ENV RUBY_VERSION 3.1.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d +ENV RUBY_MAJOR 3.1 +ENV RUBY_VERSION 3.1.0 +ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1-rc/alpine3.15/Dockerfile b/3.1/alpine3.15/Dockerfile similarity index 96% rename from 3.1-rc/alpine3.15/Dockerfile rename to 3.1/alpine3.15/Dockerfile index 74a45c2202..124e396243 100644 --- a/3.1-rc/alpine3.15/Dockerfile +++ b/3.1/alpine3.15/Dockerfile @@ -26,9 +26,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1-rc -ENV RUBY_VERSION 3.1.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d +ENV RUBY_MAJOR 3.1 +ENV RUBY_VERSION 3.1.0 +ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1-rc/bullseye/Dockerfile b/3.1/bullseye/Dockerfile similarity index 94% rename from 3.1-rc/bullseye/Dockerfile rename to 3.1/bullseye/Dockerfile index a07021315c..3e67558c11 100644 --- a/3.1-rc/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -15,9 +15,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1-rc -ENV RUBY_VERSION 3.1.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d +ENV RUBY_MAJOR 3.1 +ENV RUBY_VERSION 3.1.0 +ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1-rc/buster/Dockerfile b/3.1/buster/Dockerfile similarity index 94% rename from 3.1-rc/buster/Dockerfile rename to 3.1/buster/Dockerfile index b6c08a6df2..117f5573e8 100644 --- a/3.1-rc/buster/Dockerfile +++ b/3.1/buster/Dockerfile @@ -15,9 +15,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1-rc -ENV RUBY_VERSION 3.1.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d +ENV RUBY_MAJOR 3.1 +ENV RUBY_VERSION 3.1.0 +ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1-rc/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile similarity index 95% rename from 3.1-rc/slim-bullseye/Dockerfile rename to 3.1/slim-bullseye/Dockerfile index 0193663aff..836f5e9a1f 100644 --- a/3.1-rc/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -29,9 +29,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1-rc -ENV RUBY_VERSION 3.1.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d +ENV RUBY_MAJOR 3.1 +ENV RUBY_VERSION 3.1.0 +ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1-rc/slim-buster/Dockerfile b/3.1/slim-buster/Dockerfile similarity index 95% rename from 3.1-rc/slim-buster/Dockerfile rename to 3.1/slim-buster/Dockerfile index 433e624a8f..ed4a5bacc9 100644 --- a/3.1-rc/slim-buster/Dockerfile +++ b/3.1/slim-buster/Dockerfile @@ -29,9 +29,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1-rc -ENV RUBY_VERSION 3.1.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d +ENV RUBY_MAJOR 3.1 +ENV RUBY_VERSION 3.1.0 +ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index cb39569cdf..a98da9227e 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -2,7 +2,7 @@ set -Eeuo pipefail declare -A aliases=( - [3.0]='3 latest' + [3.1]='3 latest' [2.7]='2' ) diff --git a/versions.json b/versions.json index f479e90232..24ea1fbd50 100644 --- a/versions.json +++ b/versions.json @@ -35,8 +35,8 @@ ], "version": "3.0.3" }, - "3.1-rc": { - "sha256": "86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d", + "3.1": { + "sha256": "1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2", "variants": [ "bullseye", "slim-bullseye", @@ -45,6 +45,6 @@ "alpine3.15", "alpine3.14" ], - "version": "3.1.0-preview1" + "version": "3.1.0" } } From cf80cd6600ded0516cb70087d38823da4c52774e Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Fri, 18 Feb 2022 10:03:53 -0800 Subject: [PATCH 032/132] Update 3.1 to 3.1.1 --- 3.1/alpine3.14/Dockerfile | 4 ++-- 3.1/alpine3.15/Dockerfile | 4 ++-- 3.1/bullseye/Dockerfile | 4 ++-- 3.1/buster/Dockerfile | 4 ++-- 3.1/slim-bullseye/Dockerfile | 4 ++-- 3.1/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.1/alpine3.14/Dockerfile b/3.1/alpine3.14/Dockerfile index 6b1a42f02a..d7511ae05c 100644 --- a/3.1/alpine3.14/Dockerfile +++ b/3.1/alpine3.14/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.0 -ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 +ENV RUBY_VERSION 3.1.1 +ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/alpine3.15/Dockerfile b/3.1/alpine3.15/Dockerfile index 124e396243..2b3d844f9e 100644 --- a/3.1/alpine3.15/Dockerfile +++ b/3.1/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.0 -ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 +ENV RUBY_VERSION 3.1.1 +ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 3e67558c11..bd0b3c61ed 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.0 -ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 +ENV RUBY_VERSION 3.1.1 +ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/buster/Dockerfile b/3.1/buster/Dockerfile index 117f5573e8..3e50e5f324 100644 --- a/3.1/buster/Dockerfile +++ b/3.1/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.0 -ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 +ENV RUBY_VERSION 3.1.1 +ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 836f5e9a1f..4e4def8cfb 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.0 -ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 +ENV RUBY_VERSION 3.1.1 +ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-buster/Dockerfile b/3.1/slim-buster/Dockerfile index ed4a5bacc9..76d8c0533b 100644 --- a/3.1/slim-buster/Dockerfile +++ b/3.1/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.0 -ENV RUBY_DOWNLOAD_SHA256 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2 +ENV RUBY_VERSION 3.1.1 +ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 24ea1fbd50..15b9ac2a94 100644 --- a/versions.json +++ b/versions.json @@ -36,7 +36,7 @@ "version": "3.0.3" }, "3.1": { - "sha256": "1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2", + "sha256": "7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa", "variants": [ "bullseye", "slim-bullseye", @@ -45,6 +45,6 @@ "alpine3.15", "alpine3.14" ], - "version": "3.1.0" + "version": "3.1.1" } } From 34ebac96fb1563b5a021176f3b8abae1be2803de Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 4 Apr 2022 14:26:03 -0700 Subject: [PATCH 033/132] Add 3.2.0-preview1 --- 3.2-rc/alpine3.14/Dockerfile | 141 ++++++++++++++++++++++++++++++++ 3.2-rc/alpine3.15/Dockerfile | 141 ++++++++++++++++++++++++++++++++ 3.2-rc/bullseye/Dockerfile | 95 +++++++++++++++++++++ 3.2-rc/buster/Dockerfile | 95 +++++++++++++++++++++ 3.2-rc/slim-bullseye/Dockerfile | 122 +++++++++++++++++++++++++++ 3.2-rc/slim-buster/Dockerfile | 122 +++++++++++++++++++++++++++ versions.json | 12 +++ 7 files changed, 728 insertions(+) create mode 100644 3.2-rc/alpine3.14/Dockerfile create mode 100644 3.2-rc/alpine3.15/Dockerfile create mode 100644 3.2-rc/bullseye/Dockerfile create mode 100644 3.2-rc/buster/Dockerfile create mode 100644 3.2-rc/slim-bullseye/Dockerfile create mode 100644 3.2-rc/slim-buster/Dockerfile diff --git a/3.2-rc/alpine3.14/Dockerfile b/3.2-rc/alpine3.14/Dockerfile new file mode 100644 index 0000000000..9308e92923 --- /dev/null +++ b/3.2-rc/alpine3.14/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.14 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.2-rc +ENV RUBY_VERSION 3.2.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.2-rc/alpine3.15/Dockerfile b/3.2-rc/alpine3.15/Dockerfile new file mode 100644 index 0000000000..39109499b5 --- /dev/null +++ b/3.2-rc/alpine3.15/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.15 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.2-rc +ENV RUBY_VERSION 3.2.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.2-rc/bullseye/Dockerfile b/3.2-rc/bullseye/Dockerfile new file mode 100644 index 0000000000..6166e0bb2b --- /dev/null +++ b/3.2-rc/bullseye/Dockerfile @@ -0,0 +1,95 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.2-rc +ENV RUBY_VERSION 3.2.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.2-rc/buster/Dockerfile b/3.2-rc/buster/Dockerfile new file mode 100644 index 0000000000..5f8132f1a2 --- /dev/null +++ b/3.2-rc/buster/Dockerfile @@ -0,0 +1,95 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:buster + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.2-rc +ENV RUBY_VERSION 3.2.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.2-rc/slim-bullseye/Dockerfile b/3.2-rc/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..8d930aa879 --- /dev/null +++ b/3.2-rc/slim-bullseye/Dockerfile @@ -0,0 +1,122 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.2-rc +ENV RUBY_VERSION 3.2.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.2-rc/slim-buster/Dockerfile b/3.2-rc/slim-buster/Dockerfile new file mode 100644 index 0000000000..18628c2350 --- /dev/null +++ b/3.2-rc/slim-buster/Dockerfile @@ -0,0 +1,122 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:buster-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.2-rc +ENV RUBY_VERSION 3.2.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/versions.json b/versions.json index 15b9ac2a94..0b4c3d7379 100644 --- a/versions.json +++ b/versions.json @@ -46,5 +46,17 @@ "alpine3.14" ], "version": "3.1.1" + }, + "3.2-rc": { + "sha256": "6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d", + "variants": [ + "bullseye", + "slim-bullseye", + "buster", + "slim-buster", + "alpine3.15", + "alpine3.14" + ], + "version": "3.2.0-preview1" } } From b633eef5268b596356ee6674164599ebfc50aa8b Mon Sep 17 00:00:00 2001 From: ojab Date: Tue, 12 Apr 2022 13:47:55 +0000 Subject: [PATCH 034/132] Update 2.6 to 2.6.10 https://www.ruby-lang.org/en/news/2022/04/12/ruby-2-6-10-released/ --- 2.6/alpine3.14/Dockerfile | 4 ++-- 2.6/alpine3.15/Dockerfile | 4 ++-- 2.6/bullseye/Dockerfile | 4 ++-- 2.6/buster/Dockerfile | 4 ++-- 2.6/slim-bullseye/Dockerfile | 4 ++-- 2.6/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/2.6/alpine3.14/Dockerfile b/2.6/alpine3.14/Dockerfile index 74042817bf..ef56285904 100644 --- a/2.6/alpine3.14/Dockerfile +++ b/2.6/alpine3.14/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.9 -ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece +ENV RUBY_VERSION 2.6.10 +ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/alpine3.15/Dockerfile b/2.6/alpine3.15/Dockerfile index 172918f137..d76852b045 100644 --- a/2.6/alpine3.15/Dockerfile +++ b/2.6/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.9 -ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece +ENV RUBY_VERSION 2.6.10 +ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/bullseye/Dockerfile b/2.6/bullseye/Dockerfile index fdc5052a77..de99cfb7cc 100644 --- a/2.6/bullseye/Dockerfile +++ b/2.6/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.9 -ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece +ENV RUBY_VERSION 2.6.10 +ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/buster/Dockerfile b/2.6/buster/Dockerfile index 887bda5eaf..5b9b9d886b 100644 --- a/2.6/buster/Dockerfile +++ b/2.6/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.9 -ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece +ENV RUBY_VERSION 2.6.10 +ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/slim-bullseye/Dockerfile b/2.6/slim-bullseye/Dockerfile index b9dd86b3d4..3a58f106ac 100644 --- a/2.6/slim-bullseye/Dockerfile +++ b/2.6/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.9 -ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece +ENV RUBY_VERSION 2.6.10 +ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.6/slim-buster/Dockerfile b/2.6/slim-buster/Dockerfile index abeaa720da..55ab9aab84 100644 --- a/2.6/slim-buster/Dockerfile +++ b/2.6/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.9 -ENV RUBY_DOWNLOAD_SHA256 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece +ENV RUBY_VERSION 2.6.10 +ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 0b4c3d7379..a46b2f0b28 100644 --- a/versions.json +++ b/versions.json @@ -1,6 +1,6 @@ { "2.6": { - "sha256": "6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece", + "sha256": "5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2", "variants": [ "bullseye", "slim-bullseye", @@ -9,7 +9,7 @@ "alpine3.15", "alpine3.14" ], - "version": "2.6.9" + "version": "2.6.10" }, "2.7": { "sha256": "d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516", From 2c3e1e09e881f8a1f24d1ddfe1d5c6117aaa62de Mon Sep 17 00:00:00 2001 From: ojab Date: Tue, 12 Apr 2022 13:48:14 +0000 Subject: [PATCH 035/132] Update 2.7 to 2.7.6 https://www.ruby-lang.org/en/news/2022/04/12/ruby-2-7-6-released/ --- 2.7/alpine3.14/Dockerfile | 4 ++-- 2.7/alpine3.15/Dockerfile | 4 ++-- 2.7/bullseye/Dockerfile | 4 ++-- 2.7/buster/Dockerfile | 4 ++-- 2.7/slim-bullseye/Dockerfile | 4 ++-- 2.7/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/2.7/alpine3.14/Dockerfile b/2.7/alpine3.14/Dockerfile index f84a45b47d..06d7681497 100644 --- a/2.7/alpine3.14/Dockerfile +++ b/2.7/alpine3.14/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.5 -ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 +ENV RUBY_VERSION 2.7.6 +ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.15/Dockerfile b/2.7/alpine3.15/Dockerfile index 487142a3ba..d5c5a4e8ac 100644 --- a/2.7/alpine3.15/Dockerfile +++ b/2.7/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.5 -ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 +ENV RUBY_VERSION 2.7.6 +ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/bullseye/Dockerfile b/2.7/bullseye/Dockerfile index a9e621e3a5..a6b894c534 100644 --- a/2.7/bullseye/Dockerfile +++ b/2.7/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.5 -ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 +ENV RUBY_VERSION 2.7.6 +ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index 868dfe6cb3..9e141d82e3 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.5 -ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 +ENV RUBY_VERSION 2.7.6 +ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/slim-bullseye/Dockerfile b/2.7/slim-bullseye/Dockerfile index b97197a971..0e43a71fb4 100644 --- a/2.7/slim-bullseye/Dockerfile +++ b/2.7/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.5 -ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 +ENV RUBY_VERSION 2.7.6 +ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile index 3a9be1d6d8..9770c4cf19 100644 --- a/2.7/slim-buster/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.5 -ENV RUBY_DOWNLOAD_SHA256 d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 +ENV RUBY_VERSION 2.7.6 +ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index a46b2f0b28..6760db3fdc 100644 --- a/versions.json +++ b/versions.json @@ -12,7 +12,7 @@ "version": "2.6.10" }, "2.7": { - "sha256": "d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516", + "sha256": "54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24", "variants": [ "bullseye", "slim-bullseye", @@ -21,7 +21,7 @@ "alpine3.15", "alpine3.14" ], - "version": "2.7.5" + "version": "2.7.6" }, "3.0": { "sha256": "88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c", From dd1b1c9650fd9470edf8399abb2a746e597a821b Mon Sep 17 00:00:00 2001 From: ojab Date: Tue, 12 Apr 2022 13:48:32 +0000 Subject: [PATCH 036/132] Update 3.0 to 3.0.4 https://www.ruby-lang.org/en/news/2022/04/12/ruby-3-0-4-released/ --- 3.0/alpine3.14/Dockerfile | 4 ++-- 3.0/alpine3.15/Dockerfile | 4 ++-- 3.0/bullseye/Dockerfile | 4 ++-- 3.0/buster/Dockerfile | 4 ++-- 3.0/slim-bullseye/Dockerfile | 4 ++-- 3.0/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.0/alpine3.14/Dockerfile b/3.0/alpine3.14/Dockerfile index b98cf8d0eb..b66b643028 100644 --- a/3.0/alpine3.14/Dockerfile +++ b/3.0/alpine3.14/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.3 -ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c +ENV RUBY_VERSION 3.0.4 +ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/alpine3.15/Dockerfile b/3.0/alpine3.15/Dockerfile index 8b6b485050..371dd78f3d 100644 --- a/3.0/alpine3.15/Dockerfile +++ b/3.0/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.3 -ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c +ENV RUBY_VERSION 3.0.4 +ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index abf6afadd0..2206e57c89 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.3 -ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c +ENV RUBY_VERSION 3.0.4 +ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index 055579e476..103fa79cb2 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.3 -ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c +ENV RUBY_VERSION 3.0.4 +ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index b1e1e0531f..fa02252fe7 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.3 -ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c +ENV RUBY_VERSION 3.0.4 +ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index affbfd81a6..bd82a03aa1 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.3 -ENV RUBY_DOWNLOAD_SHA256 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c +ENV RUBY_VERSION 3.0.4 +ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 6760db3fdc..758274a639 100644 --- a/versions.json +++ b/versions.json @@ -24,7 +24,7 @@ "version": "2.7.6" }, "3.0": { - "sha256": "88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c", + "sha256": "8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0", "variants": [ "bullseye", "slim-bullseye", @@ -33,7 +33,7 @@ "alpine3.15", "alpine3.14" ], - "version": "3.0.3" + "version": "3.0.4" }, "3.1": { "sha256": "7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa", From 6a100006eeb52ec06bfe3f318b401cdf5a52dd6b Mon Sep 17 00:00:00 2001 From: ojab Date: Tue, 12 Apr 2022 13:48:42 +0000 Subject: [PATCH 037/132] Update 3.1 to 3.1.2 https://www.ruby-lang.org/en/news/2022/04/12/ruby-3-1-2-released/ --- 3.1/alpine3.14/Dockerfile | 4 ++-- 3.1/alpine3.15/Dockerfile | 4 ++-- 3.1/bullseye/Dockerfile | 4 ++-- 3.1/buster/Dockerfile | 4 ++-- 3.1/slim-bullseye/Dockerfile | 4 ++-- 3.1/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.1/alpine3.14/Dockerfile b/3.1/alpine3.14/Dockerfile index d7511ae05c..9828e46bb1 100644 --- a/3.1/alpine3.14/Dockerfile +++ b/3.1/alpine3.14/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.1 -ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa +ENV RUBY_VERSION 3.1.2 +ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/alpine3.15/Dockerfile b/3.1/alpine3.15/Dockerfile index 2b3d844f9e..83d8dd5108 100644 --- a/3.1/alpine3.15/Dockerfile +++ b/3.1/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.1 -ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa +ENV RUBY_VERSION 3.1.2 +ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index bd0b3c61ed..af220e1e93 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.1 -ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa +ENV RUBY_VERSION 3.1.2 +ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/buster/Dockerfile b/3.1/buster/Dockerfile index 3e50e5f324..fb2117e0bf 100644 --- a/3.1/buster/Dockerfile +++ b/3.1/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.1 -ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa +ENV RUBY_VERSION 3.1.2 +ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 4e4def8cfb..532a5fd3a9 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.1 -ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa +ENV RUBY_VERSION 3.1.2 +ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-buster/Dockerfile b/3.1/slim-buster/Dockerfile index 76d8c0533b..72a2db3172 100644 --- a/3.1/slim-buster/Dockerfile +++ b/3.1/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.1 -ENV RUBY_DOWNLOAD_SHA256 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa +ENV RUBY_VERSION 3.1.2 +ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 758274a639..da753517c1 100644 --- a/versions.json +++ b/versions.json @@ -36,7 +36,7 @@ "version": "3.0.4" }, "3.1": { - "sha256": "7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa", + "sha256": "ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a", "variants": [ "bullseye", "slim-bullseye", @@ -45,7 +45,7 @@ "alpine3.15", "alpine3.14" ], - "version": "3.1.1" + "version": "3.1.2" }, "3.2-rc": { "sha256": "6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d", From ac24ae0a894606d3ac91c28095db39e69771cac4 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 28 Apr 2022 14:52:33 -0700 Subject: [PATCH 038/132] Remove Ruby 2.6 (EOL) https://www.ruby-lang.org/en/news/2022/04/12/ruby-2-6-10-released/ > After this release, Ruby 2.6 reaches EOL. In other words, this is expected to be the last release of Ruby 2.6 series. We will not release Ruby 2.6.11 even if a security vulnerability is found (but ocould release if a severe regression is found). We recommend all Ruby 2.6 users to start migration to Ruby 3.1, 3.0, or 2.7 immediately. --- 2.6/alpine3.14/Dockerfile | 147 ----------------------------------- 2.6/alpine3.15/Dockerfile | 147 ----------------------------------- 2.6/bullseye/Dockerfile | 95 ---------------------- 2.6/buster/Dockerfile | 95 ---------------------- 2.6/slim-bullseye/Dockerfile | 122 ----------------------------- 2.6/slim-buster/Dockerfile | 122 ----------------------------- Dockerfile.template | 15 ---- versions.json | 12 --- 8 files changed, 755 deletions(-) delete mode 100644 2.6/alpine3.14/Dockerfile delete mode 100644 2.6/alpine3.15/Dockerfile delete mode 100644 2.6/bullseye/Dockerfile delete mode 100644 2.6/buster/Dockerfile delete mode 100644 2.6/slim-bullseye/Dockerfile delete mode 100644 2.6/slim-buster/Dockerfile diff --git a/2.6/alpine3.14/Dockerfile b/2.6/alpine3.14/Dockerfile deleted file mode 100644 index ef56285904..0000000000 --- a/2.6/alpine3.14/Dockerfile +++ /dev/null @@ -1,147 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.14 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.10 -ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) -# https://github.com/ruby/ruby/pull/3773 - wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/fcc88da5eb162043adcba552646677d2ab5adf55.patch'; \ - patch -p1 -i autoconf-2.70.patch; \ - rm autoconf-2.70.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.6/alpine3.15/Dockerfile b/2.6/alpine3.15/Dockerfile deleted file mode 100644 index d76852b045..0000000000 --- a/2.6/alpine3.15/Dockerfile +++ /dev/null @@ -1,147 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.15 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.10 -ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) -# https://github.com/ruby/ruby/pull/3773 - wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/fcc88da5eb162043adcba552646677d2ab5adf55.patch'; \ - patch -p1 -i autoconf-2.70.patch; \ - rm autoconf-2.70.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.6/bullseye/Dockerfile b/2.6/bullseye/Dockerfile deleted file mode 100644 index de99cfb7cc..0000000000 --- a/2.6/bullseye/Dockerfile +++ /dev/null @@ -1,95 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bullseye - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.10 -ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | grep -vE '^/usr/local/lib/' \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.6/buster/Dockerfile b/2.6/buster/Dockerfile deleted file mode 100644 index 5b9b9d886b..0000000000 --- a/2.6/buster/Dockerfile +++ /dev/null @@ -1,95 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:buster - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.10 -ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | grep -vE '^/usr/local/lib/' \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.6/slim-bullseye/Dockerfile b/2.6/slim-bullseye/Dockerfile deleted file mode 100644 index 3a58f106ac..0000000000 --- a/2.6/slim-bullseye/Dockerfile +++ /dev/null @@ -1,122 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bullseye-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.10 -ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | grep -vE '^/usr/local/lib/' \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.6/slim-buster/Dockerfile b/2.6/slim-buster/Dockerfile deleted file mode 100644 index 55ab9aab84..0000000000 --- a/2.6/slim-buster/Dockerfile +++ /dev/null @@ -1,122 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:buster-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.6 -ENV RUBY_VERSION 2.6.10 -ENV RUBY_DOWNLOAD_SHA256 5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | grep -vE '^/usr/local/lib/' \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/Dockerfile.template b/Dockerfile.template index e4e735838f..16e1b33e76 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -135,21 +135,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -{{ - { - "2.6": { - url: "https://github.com/ruby/ruby/pull/3773", - commit: "fcc88da5eb162043adcba552646677d2ab5adf55", - }, - }[env.version] | if . and env.variant != "alpine3.13" then ( --}} -# https://bugs.ruby-lang.org/issues/17723 (building with autoconf 2.70+ fails) -# {{ .url }} - wget -O 'autoconf-2.70.patch' 'https://github.com/ruby/ruby/commit/{{ .commit }}.patch'; \ - patch -p1 -i autoconf-2.70.patch; \ - rm autoconf-2.70.patch; \ - \ -{{ ) else "" end -}} # the configure script does not detect isnan/isinf as macros export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ \ diff --git a/versions.json b/versions.json index da753517c1..4ceff3b1e4 100644 --- a/versions.json +++ b/versions.json @@ -1,16 +1,4 @@ { - "2.6": { - "sha256": "5fd8ded51321b88fdc9c1b4b0eb1b951d2eddbc293865da0151612c2e814c1f2", - "variants": [ - "bullseye", - "slim-bullseye", - "buster", - "slim-buster", - "alpine3.15", - "alpine3.14" - ], - "version": "2.6.10" - }, "2.7": { "sha256": "54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24", "variants": [ From 4955e524a9a01f35979d7b7984a001fd563d5cfb Mon Sep 17 00:00:00 2001 From: J0WI Date: Tue, 24 May 2022 19:51:05 +0200 Subject: [PATCH 039/132] Alpine 3.16 --- 2.7/{alpine3.14 => alpine3.16}/Dockerfile | 2 +- 3.0/{alpine3.14 => alpine3.16}/Dockerfile | 2 +- 3.1/{alpine3.14 => alpine3.16}/Dockerfile | 2 +- 3.2-rc/{alpine3.14 => alpine3.16}/Dockerfile | 2 +- versions.json | 16 ++++++++-------- versions.sh | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) rename 2.7/{alpine3.14 => alpine3.16}/Dockerfile (99%) rename 3.0/{alpine3.14 => alpine3.16}/Dockerfile (99%) rename 3.1/{alpine3.14 => alpine3.16}/Dockerfile (99%) rename 3.2-rc/{alpine3.14 => alpine3.16}/Dockerfile (99%) diff --git a/2.7/alpine3.14/Dockerfile b/2.7/alpine3.16/Dockerfile similarity index 99% rename from 2.7/alpine3.14/Dockerfile rename to 2.7/alpine3.16/Dockerfile index 06d7681497..e4919c389d 100644 --- a/2.7/alpine3.14/Dockerfile +++ b/2.7/alpine3.16/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.14 +FROM alpine:3.16 RUN set -eux; \ apk add --no-cache \ diff --git a/3.0/alpine3.14/Dockerfile b/3.0/alpine3.16/Dockerfile similarity index 99% rename from 3.0/alpine3.14/Dockerfile rename to 3.0/alpine3.16/Dockerfile index b66b643028..d7d4dad3cf 100644 --- a/3.0/alpine3.14/Dockerfile +++ b/3.0/alpine3.16/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.14 +FROM alpine:3.16 RUN set -eux; \ apk add --no-cache \ diff --git a/3.1/alpine3.14/Dockerfile b/3.1/alpine3.16/Dockerfile similarity index 99% rename from 3.1/alpine3.14/Dockerfile rename to 3.1/alpine3.16/Dockerfile index 9828e46bb1..90d80ebe9b 100644 --- a/3.1/alpine3.14/Dockerfile +++ b/3.1/alpine3.16/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.14 +FROM alpine:3.16 RUN set -eux; \ apk add --no-cache \ diff --git a/3.2-rc/alpine3.14/Dockerfile b/3.2-rc/alpine3.16/Dockerfile similarity index 99% rename from 3.2-rc/alpine3.14/Dockerfile rename to 3.2-rc/alpine3.16/Dockerfile index 9308e92923..82482d00b4 100644 --- a/3.2-rc/alpine3.14/Dockerfile +++ b/3.2-rc/alpine3.16/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.14 +FROM alpine:3.16 RUN set -eux; \ apk add --no-cache \ diff --git a/versions.json b/versions.json index 4ceff3b1e4..84f4cf3833 100644 --- a/versions.json +++ b/versions.json @@ -6,8 +6,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.15", - "alpine3.14" + "alpine3.16", + "alpine3.15" ], "version": "2.7.6" }, @@ -18,8 +18,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.15", - "alpine3.14" + "alpine3.16", + "alpine3.15" ], "version": "3.0.4" }, @@ -30,8 +30,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.15", - "alpine3.14" + "alpine3.16", + "alpine3.15" ], "version": "3.1.2" }, @@ -42,8 +42,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.15", - "alpine3.14" + "alpine3.16", + "alpine3.15" ], "version": "3.2.0-preview1" } diff --git a/versions.sh b/versions.sh index 5e217eead5..f9acdb8f65 100755 --- a/versions.sh +++ b/versions.sh @@ -72,8 +72,8 @@ for version in "${versions[@]}"; do "buster" | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( - "3.15", - "3.14" + "3.16", + "3.15" | "alpine" + .) ], } From c971cc83feeabdb59c6e634d81212621645ca786 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 13 Jul 2022 17:16:45 -0700 Subject: [PATCH 040/132] Update jq-template for speed improvements --- apply-templates.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apply-templates.sh b/apply-templates.sh index 9e27242306..7f9da43e19 100755 --- a/apply-templates.sh +++ b/apply-templates.sh @@ -7,8 +7,8 @@ jqt='.jq-template.awk' if [ -n "${BASHBREW_SCRIPTS:-}" ]; then jqt="$BASHBREW_SCRIPTS/jq-template.awk" elif [ "$BASH_SOURCE" -nt "$jqt" ]; then - # # https://github.com/docker-library/bashbrew/blob/master/scripts/jq-template.awk - wget -qO "$jqt" 'https://github.com/docker-library/bashbrew/raw/00e281f36edd19f52541a6ba2f215cc3c4645128/scripts/jq-template.awk' + # https://github.com/docker-library/bashbrew/blob/master/scripts/jq-template.awk + wget -qO "$jqt" 'https://github.com/docker-library/bashbrew/raw/9f6a35772ac863a0241f147c820354e4008edf38/scripts/jq-template.awk' fi if [ "$#" -eq 0 ]; then From 41208aad6764925f0f082a695a076f7f39af1233 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 8 Sep 2022 22:03:21 -0700 Subject: [PATCH 041/132] Update 3.2-rc to 3.2.0-preview2 --- 3.2-rc/alpine3.15/Dockerfile | 4 ++-- 3.2-rc/alpine3.16/Dockerfile | 4 ++-- 3.2-rc/bullseye/Dockerfile | 4 ++-- 3.2-rc/buster/Dockerfile | 4 ++-- 3.2-rc/slim-bullseye/Dockerfile | 4 ++-- 3.2-rc/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.2-rc/alpine3.15/Dockerfile b/3.2-rc/alpine3.15/Dockerfile index 39109499b5..abb995a7f4 100644 --- a/3.2-rc/alpine3.15/Dockerfile +++ b/3.2-rc/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d +ENV RUBY_VERSION 3.2.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/alpine3.16/Dockerfile b/3.2-rc/alpine3.16/Dockerfile index 82482d00b4..6cd50c5de9 100644 --- a/3.2-rc/alpine3.16/Dockerfile +++ b/3.2-rc/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d +ENV RUBY_VERSION 3.2.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/bullseye/Dockerfile b/3.2-rc/bullseye/Dockerfile index 6166e0bb2b..5467052f0d 100644 --- a/3.2-rc/bullseye/Dockerfile +++ b/3.2-rc/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d +ENV RUBY_VERSION 3.2.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/buster/Dockerfile b/3.2-rc/buster/Dockerfile index 5f8132f1a2..d086c714d8 100644 --- a/3.2-rc/buster/Dockerfile +++ b/3.2-rc/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d +ENV RUBY_VERSION 3.2.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/slim-bullseye/Dockerfile b/3.2-rc/slim-bullseye/Dockerfile index 8d930aa879..9edcc8d2cf 100644 --- a/3.2-rc/slim-bullseye/Dockerfile +++ b/3.2-rc/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d +ENV RUBY_VERSION 3.2.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/slim-buster/Dockerfile b/3.2-rc/slim-buster/Dockerfile index 18628c2350..95067dd15e 100644 --- a/3.2-rc/slim-buster/Dockerfile +++ b/3.2-rc/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d +ENV RUBY_VERSION 3.2.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 84f4cf3833..add181c813 100644 --- a/versions.json +++ b/versions.json @@ -36,7 +36,7 @@ "version": "3.1.2" }, "3.2-rc": { - "sha256": "6d28477f7fa626b63bf139afd37bcfeb28fce6847b203fa10f37cb3615d0c35d", + "sha256": "01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430", "variants": [ "bullseye", "slim-bullseye", @@ -45,6 +45,6 @@ "alpine3.16", "alpine3.15" ], - "version": "3.2.0-preview1" + "version": "3.2.0-preview2" } } From 0c1ef530a2ba1e581d52adb7eacc1ff7baef0d7d Mon Sep 17 00:00:00 2001 From: Joe Ferguson Date: Fri, 14 Oct 2022 17:29:23 -0700 Subject: [PATCH 042/132] Switch to "$GITHUB_OUTPUT"; update actions/checkout to v3 - https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands - https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter --- .github/workflows/ci.yml | 6 +++--- .github/workflows/verify-templating.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 155ef3165b..e105455ad3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,14 +18,14 @@ jobs: outputs: strategy: ${{ steps.generate-jobs.outputs.strategy }} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - id: generate-jobs name: Generate Jobs run: | git clone --depth 1 https://github.com/docker-library/bashbrew.git -b master ~/bashbrew strategy="$(~/bashbrew/scripts/github-actions/generate.sh)" + echo "strategy=$strategy" >> "$GITHUB_OUTPUT" jq . <<<"$strategy" # sanity check / debugging aid - echo "::set-output name=strategy::$strategy" test: needs: generate-jobs @@ -33,7 +33,7 @@ jobs: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - name: Prepare Environment run: ${{ matrix.runs.prepare }} - name: Pull Dependencies diff --git a/.github/workflows/verify-templating.yml b/.github/workflows/verify-templating.yml index 7e833f1c7d..14497bec68 100644 --- a/.github/workflows/verify-templating.yml +++ b/.github/workflows/verify-templating.yml @@ -13,7 +13,7 @@ jobs: name: Check For Uncomitted Changes runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Apply Templates run: ./apply-templates.sh - name: Check Git Status From 09ae96ae70997acb44bac52df46e015755b228e1 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Fri, 11 Nov 2022 10:03:26 -0800 Subject: [PATCH 043/132] Update 3.2-rc to 3.2.0-preview3 --- 3.2-rc/alpine3.15/Dockerfile | 4 ++-- 3.2-rc/alpine3.16/Dockerfile | 4 ++-- 3.2-rc/bullseye/Dockerfile | 4 ++-- 3.2-rc/buster/Dockerfile | 4 ++-- 3.2-rc/slim-bullseye/Dockerfile | 4 ++-- 3.2-rc/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.2-rc/alpine3.15/Dockerfile b/3.2-rc/alpine3.15/Dockerfile index abb995a7f4..42d8525072 100644 --- a/3.2-rc/alpine3.15/Dockerfile +++ b/3.2-rc/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 +ENV RUBY_VERSION 3.2.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/alpine3.16/Dockerfile b/3.2-rc/alpine3.16/Dockerfile index 6cd50c5de9..08f210edad 100644 --- a/3.2-rc/alpine3.16/Dockerfile +++ b/3.2-rc/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 +ENV RUBY_VERSION 3.2.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/bullseye/Dockerfile b/3.2-rc/bullseye/Dockerfile index 5467052f0d..e35691bd6d 100644 --- a/3.2-rc/bullseye/Dockerfile +++ b/3.2-rc/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 +ENV RUBY_VERSION 3.2.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/buster/Dockerfile b/3.2-rc/buster/Dockerfile index d086c714d8..0e56c9f41a 100644 --- a/3.2-rc/buster/Dockerfile +++ b/3.2-rc/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 +ENV RUBY_VERSION 3.2.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/slim-bullseye/Dockerfile b/3.2-rc/slim-bullseye/Dockerfile index 9edcc8d2cf..0ef6942ad1 100644 --- a/3.2-rc/slim-bullseye/Dockerfile +++ b/3.2-rc/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 +ENV RUBY_VERSION 3.2.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/slim-buster/Dockerfile b/3.2-rc/slim-buster/Dockerfile index 95067dd15e..4267fd30b7 100644 --- a/3.2-rc/slim-buster/Dockerfile +++ b/3.2-rc/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430 +ENV RUBY_VERSION 3.2.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index add181c813..266e2e7415 100644 --- a/versions.json +++ b/versions.json @@ -36,7 +36,7 @@ "version": "3.1.2" }, "3.2-rc": { - "sha256": "01fac0929dccdabc0686c1109da6c187897a401da9ff8851242befa92f7fd430", + "sha256": "d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb", "variants": [ "bullseye", "slim-bullseye", @@ -45,6 +45,6 @@ "alpine3.16", "alpine3.15" ], - "version": "3.2.0-preview2" + "version": "3.2.0-preview3" } } From e599270ec9b1d294c7be016ee50e9c848b6fbc68 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 16 Nov 2022 14:13:58 -0800 Subject: [PATCH 044/132] Use new "bashbrew" composite action --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e105455ad3..3860c115ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,11 +19,11 @@ jobs: strategy: ${{ steps.generate-jobs.outputs.strategy }} steps: - uses: actions/checkout@v3 + - uses: docker-library/bashbrew@HEAD - id: generate-jobs name: Generate Jobs run: | - git clone --depth 1 https://github.com/docker-library/bashbrew.git -b master ~/bashbrew - strategy="$(~/bashbrew/scripts/github-actions/generate.sh)" + strategy="$("$BASHBREW_SCRIPTS/github-actions/generate.sh")" echo "strategy=$strategy" >> "$GITHUB_OUTPUT" jq . <<<"$strategy" # sanity check / debugging aid From e62fa125015a658f81ad930ae154b37fcd0059a8 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 16 Nov 2022 15:36:38 -0800 Subject: [PATCH 045/132] Add YJIT support to 3.2+ where we have new enough Rust (specifically, Rust 1.58.1+, currently only Alpine) Co-authored-by: Sean Dilda --- 3.2-rc/alpine3.16/Dockerfile | 7 +++++++ Dockerfile.template | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/3.2-rc/alpine3.16/Dockerfile b/3.2-rc/alpine3.16/Dockerfile index 08f210edad..3f33acf441 100644 --- a/3.2-rc/alpine3.16/Dockerfile +++ b/3.2-rc/alpine3.16/Dockerfile @@ -34,6 +34,11 @@ ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed0 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ + yjit=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + x86_64 | aarch64) yjit=1 ;; \ + esac; \ # readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ @@ -64,6 +69,7 @@ RUN set -eux; \ xz \ yaml-dev \ zlib-dev \ + ${yjit:+rust} \ ; \ \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ @@ -101,6 +107,7 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + ${yjit:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ diff --git a/Dockerfile.template b/Dockerfile.template index 16e1b33e76..e610059eca 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -4,6 +4,11 @@ ; def is_slim: env.variant | startswith("slim-") + ; + def should_yjit: + # https://github.com/docker-library/ruby/issues/390 + ([ "2.7", "3.0", "3.1" ] | index(env.version) | not) + and is_alpine and ([ "alpine3.15" ] | index(env.variant) | not) -}} {{ if is_alpine then ( -}} FROM alpine:{{ env.variant | ltrimstr("alpine") }} @@ -59,6 +64,13 @@ ENV RUBY_DOWNLOAD_SHA256 {{ .sha256 }} RUN set -eux; \ \ {{ if is_alpine then ( -}} +{{ if should_yjit then ( -}} + yjit=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + x86_64 | aarch64) yjit=1 ;; \ + esac; \ +{{ ) else "" end -}} # readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ @@ -89,6 +101,9 @@ RUN set -eux; \ xz \ yaml-dev \ zlib-dev \ +{{ if should_yjit then ( -}} + ${yjit:+rust} \ +{{ ) else "" end -}} ; \ {{ ) else ( -}} savedAptMark="$(apt-mark showmanual)"; \ @@ -152,7 +167,9 @@ RUN set -eux; \ {{ if is_alpine and ( [ "2.7", "3.0" ] | index(env.version) ) then ( -}} # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 +{{ if should_yjit then "" else ( -}} apkArch="$(apk --print-arch)"; \ +{{ ) end -}} case "$apkArch" in \ s390x | armhf | armv7) \ apk add --no-cache libucontext-dev; \ @@ -165,6 +182,9 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ +{{ if should_yjit then ( -}} + ${yjit:+--enable-yjit} \ +{{ ) else "" end -}} ; \ make -j "$(nproc)"; \ make install; \ From cdac1ffbc959768a5b82014dbb8c8006fe6f7880 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 24 Nov 2022 10:03:11 -0800 Subject: [PATCH 046/132] Update 2.7 to 2.7.7 --- 2.7/alpine3.15/Dockerfile | 4 ++-- 2.7/alpine3.16/Dockerfile | 4 ++-- 2.7/bullseye/Dockerfile | 4 ++-- 2.7/buster/Dockerfile | 4 ++-- 2.7/slim-bullseye/Dockerfile | 4 ++-- 2.7/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/2.7/alpine3.15/Dockerfile b/2.7/alpine3.15/Dockerfile index d5c5a4e8ac..3857033f20 100644 --- a/2.7/alpine3.15/Dockerfile +++ b/2.7/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.6 -ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 +ENV RUBY_VERSION 2.7.7 +ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/alpine3.16/Dockerfile b/2.7/alpine3.16/Dockerfile index e4919c389d..2d92dcfa03 100644 --- a/2.7/alpine3.16/Dockerfile +++ b/2.7/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.6 -ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 +ENV RUBY_VERSION 2.7.7 +ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/bullseye/Dockerfile b/2.7/bullseye/Dockerfile index a6b894c534..22b3671ea3 100644 --- a/2.7/bullseye/Dockerfile +++ b/2.7/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.6 -ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 +ENV RUBY_VERSION 2.7.7 +ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index 9e141d82e3..db7f47eaec 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.6 -ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 +ENV RUBY_VERSION 2.7.7 +ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/slim-bullseye/Dockerfile b/2.7/slim-bullseye/Dockerfile index 0e43a71fb4..d51e8791f9 100644 --- a/2.7/slim-bullseye/Dockerfile +++ b/2.7/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.6 -ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 +ENV RUBY_VERSION 2.7.7 +ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile index 9770c4cf19..4cd26b9511 100644 --- a/2.7/slim-buster/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.6 -ENV RUBY_DOWNLOAD_SHA256 54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24 +ENV RUBY_VERSION 2.7.7 +ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 266e2e7415..68b275c019 100644 --- a/versions.json +++ b/versions.json @@ -1,6 +1,6 @@ { "2.7": { - "sha256": "54dcd3044726c4ab75a9d4604720501442b229a3aed6a55fe909567da8807f24", + "sha256": "b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c", "variants": [ "bullseye", "slim-bullseye", @@ -9,7 +9,7 @@ "alpine3.16", "alpine3.15" ], - "version": "2.7.6" + "version": "2.7.7" }, "3.0": { "sha256": "8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0", From ece6f45d6d00b803a4e1a33cd5a55895cf928357 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 24 Nov 2022 10:27:27 -0800 Subject: [PATCH 047/132] Update 3.0 to 3.0.5 --- 3.0/alpine3.15/Dockerfile | 4 ++-- 3.0/alpine3.16/Dockerfile | 4 ++-- 3.0/bullseye/Dockerfile | 4 ++-- 3.0/buster/Dockerfile | 4 ++-- 3.0/slim-bullseye/Dockerfile | 4 ++-- 3.0/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.0/alpine3.15/Dockerfile b/3.0/alpine3.15/Dockerfile index 371dd78f3d..9538118c4c 100644 --- a/3.0/alpine3.15/Dockerfile +++ b/3.0/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.4 -ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 +ENV RUBY_VERSION 3.0.5 +ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/alpine3.16/Dockerfile b/3.0/alpine3.16/Dockerfile index d7d4dad3cf..56188367b7 100644 --- a/3.0/alpine3.16/Dockerfile +++ b/3.0/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.4 -ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 +ENV RUBY_VERSION 3.0.5 +ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index 2206e57c89..5d067bbf1f 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.4 -ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 +ENV RUBY_VERSION 3.0.5 +ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index 103fa79cb2..c1f977d2d8 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.4 -ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 +ENV RUBY_VERSION 3.0.5 +ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index fa02252fe7..95b513debd 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.4 -ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 +ENV RUBY_VERSION 3.0.5 +ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index bd82a03aa1..d4d05c859b 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.4 -ENV RUBY_DOWNLOAD_SHA256 8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0 +ENV RUBY_VERSION 3.0.5 +ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 68b275c019..57e2fd8e01 100644 --- a/versions.json +++ b/versions.json @@ -12,7 +12,7 @@ "version": "2.7.7" }, "3.0": { - "sha256": "8e22fc7304520435522253210ed0aa9a50545f8f13c959fe01a05aea06bef2f0", + "sha256": "cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde", "variants": [ "bullseye", "slim-bullseye", @@ -21,7 +21,7 @@ "alpine3.16", "alpine3.15" ], - "version": "3.0.4" + "version": "3.0.5" }, "3.1": { "sha256": "ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a", From 9fd589661dd0e12b082336e9c6f731196fe39ba8 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 24 Nov 2022 10:55:53 -0800 Subject: [PATCH 048/132] Update 3.1 to 3.1.3 --- 3.1/alpine3.15/Dockerfile | 4 ++-- 3.1/alpine3.16/Dockerfile | 4 ++-- 3.1/bullseye/Dockerfile | 4 ++-- 3.1/buster/Dockerfile | 4 ++-- 3.1/slim-bullseye/Dockerfile | 4 ++-- 3.1/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.1/alpine3.15/Dockerfile b/3.1/alpine3.15/Dockerfile index 83d8dd5108..f1e66c6d4e 100644 --- a/3.1/alpine3.15/Dockerfile +++ b/3.1/alpine3.15/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.2 -ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a +ENV RUBY_VERSION 3.1.3 +ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/alpine3.16/Dockerfile b/3.1/alpine3.16/Dockerfile index 90d80ebe9b..2811b3387c 100644 --- a/3.1/alpine3.16/Dockerfile +++ b/3.1/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.2 -ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a +ENV RUBY_VERSION 3.1.3 +ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index af220e1e93..79712fb215 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.2 -ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a +ENV RUBY_VERSION 3.1.3 +ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/buster/Dockerfile b/3.1/buster/Dockerfile index fb2117e0bf..bc62c904dd 100644 --- a/3.1/buster/Dockerfile +++ b/3.1/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.2 -ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a +ENV RUBY_VERSION 3.1.3 +ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 532a5fd3a9..ad79427e5c 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.2 -ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a +ENV RUBY_VERSION 3.1.3 +ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-buster/Dockerfile b/3.1/slim-buster/Dockerfile index 72a2db3172..fe07c7d19e 100644 --- a/3.1/slim-buster/Dockerfile +++ b/3.1/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.2 -ENV RUBY_DOWNLOAD_SHA256 ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a +ENV RUBY_VERSION 3.1.3 +ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 57e2fd8e01..d5ad7032cf 100644 --- a/versions.json +++ b/versions.json @@ -24,7 +24,7 @@ "version": "3.0.5" }, "3.1": { - "sha256": "ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a", + "sha256": "4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a", "variants": [ "bullseye", "slim-bullseye", @@ -33,7 +33,7 @@ "alpine3.16", "alpine3.15" ], - "version": "3.1.2" + "version": "3.1.3" }, "3.2-rc": { "sha256": "d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb", From a51b7da07425cc2f5a35178ef83fd908b59beb5d Mon Sep 17 00:00:00 2001 From: Earlopain Date: Tue, 29 Nov 2022 08:38:45 +0100 Subject: [PATCH 049/132] Add Alpine 3.17 --- 2.7/alpine3.15/Dockerfile | 150 ------------------- 3.0/alpine3.15/Dockerfile | 150 ------------------- 3.1/{alpine3.15 => alpine3.17}/Dockerfile | 2 +- 3.2-rc/{alpine3.15 => alpine3.17}/Dockerfile | 9 +- Dockerfile.template | 2 +- versions.json | 14 +- versions.sh | 12 +- 7 files changed, 26 insertions(+), 313 deletions(-) delete mode 100644 2.7/alpine3.15/Dockerfile delete mode 100644 3.0/alpine3.15/Dockerfile rename 3.1/{alpine3.15 => alpine3.17}/Dockerfile (99%) rename 3.2-rc/{alpine3.15 => alpine3.17}/Dockerfile (95%) diff --git a/2.7/alpine3.15/Dockerfile b/2.7/alpine3.15/Dockerfile deleted file mode 100644 index 3857033f20..0000000000 --- a/2.7/alpine3.15/Dockerfile +++ /dev/null @@ -1,150 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.15 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.7 -ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 - # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - s390x | armhf | armv7) \ - apk add --no-cache libucontext-dev; \ - export LIBS='-lucontext'; \ - ;; \ - esac; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.0/alpine3.15/Dockerfile b/3.0/alpine3.15/Dockerfile deleted file mode 100644 index 9538118c4c..0000000000 --- a/3.0/alpine3.15/Dockerfile +++ /dev/null @@ -1,150 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.15 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.5 -ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 - # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - s390x | armhf | armv7) \ - apk add --no-cache libucontext-dev; \ - export LIBS='-lucontext'; \ - ;; \ - esac; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.1/alpine3.15/Dockerfile b/3.1/alpine3.17/Dockerfile similarity index 99% rename from 3.1/alpine3.15/Dockerfile rename to 3.1/alpine3.17/Dockerfile index f1e66c6d4e..7d20cedb70 100644 --- a/3.1/alpine3.15/Dockerfile +++ b/3.1/alpine3.17/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.15 +FROM alpine:3.17 RUN set -eux; \ apk add --no-cache \ diff --git a/3.2-rc/alpine3.15/Dockerfile b/3.2-rc/alpine3.17/Dockerfile similarity index 95% rename from 3.2-rc/alpine3.15/Dockerfile rename to 3.2-rc/alpine3.17/Dockerfile index 42d8525072..9686f93238 100644 --- a/3.2-rc/alpine3.15/Dockerfile +++ b/3.2-rc/alpine3.17/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.15 +FROM alpine:3.17 RUN set -eux; \ apk add --no-cache \ @@ -34,6 +34,11 @@ ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed0 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ + yjit=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + x86_64 | aarch64) yjit=1 ;; \ + esac; \ # readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ @@ -64,6 +69,7 @@ RUN set -eux; \ xz \ yaml-dev \ zlib-dev \ + ${yjit:+rust} \ ; \ \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ @@ -101,6 +107,7 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + ${yjit:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ diff --git a/Dockerfile.template b/Dockerfile.template index e610059eca..880accf871 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -8,7 +8,7 @@ def should_yjit: # https://github.com/docker-library/ruby/issues/390 ([ "2.7", "3.0", "3.1" ] | index(env.version) | not) - and is_alpine and ([ "alpine3.15" ] | index(env.variant) | not) + and is_alpine -}} {{ if is_alpine then ( -}} FROM alpine:{{ env.variant | ltrimstr("alpine") }} diff --git a/versions.json b/versions.json index d5ad7032cf..21c4c89575 100644 --- a/versions.json +++ b/versions.json @@ -6,8 +6,7 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.16", - "alpine3.15" + "alpine3.16" ], "version": "2.7.7" }, @@ -18,8 +17,7 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.16", - "alpine3.15" + "alpine3.16" ], "version": "3.0.5" }, @@ -30,8 +28,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.16", - "alpine3.15" + "alpine3.17", + "alpine3.16" ], "version": "3.1.3" }, @@ -42,8 +40,8 @@ "slim-bullseye", "buster", "slim-buster", - "alpine3.16", - "alpine3.15" + "alpine3.17", + "alpine3.16" ], "version": "3.2.0-preview3" } diff --git a/versions.sh b/versions.sh index f9acdb8f65..4e9eab52f8 100755 --- a/versions.sh +++ b/versions.sh @@ -69,11 +69,19 @@ for version in "${versions[@]}"; do variants: [ ( "bullseye", - "buster" + "buster", + empty # trailing comma hack | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( + # Alpine 3.17 defaults to OpenSSL 3 which is not supported (yet?) by Ruby 2.7 or 3.0 + # https://bugs.ruby-lang.org/issues/18658 + # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 + if [ "2.7", "3.0" ] | index(env.version) then empty else + "3.17", + empty # trailing comma hack + end, "3.16", - "3.15" + empty # trailing comma hack | "alpine" + .) ], } From b07fd2e538ec3aedbaedd267e4f75a4d89b0565a Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Tue, 6 Dec 2022 04:03:23 -0800 Subject: [PATCH 050/132] Update 3.2-rc to 3.2.0-rc1 --- 3.2-rc/alpine3.16/Dockerfile | 4 ++-- 3.2-rc/alpine3.17/Dockerfile | 4 ++-- 3.2-rc/bullseye/Dockerfile | 4 ++-- 3.2-rc/buster/Dockerfile | 4 ++-- 3.2-rc/slim-bullseye/Dockerfile | 4 ++-- 3.2-rc/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.2-rc/alpine3.16/Dockerfile b/3.2-rc/alpine3.16/Dockerfile index 3f33acf441..e9bad2fb26 100644 --- a/3.2-rc/alpine3.16/Dockerfile +++ b/3.2-rc/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb +ENV RUBY_VERSION 3.2.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/alpine3.17/Dockerfile b/3.2-rc/alpine3.17/Dockerfile index 9686f93238..a7c04069e0 100644 --- a/3.2-rc/alpine3.17/Dockerfile +++ b/3.2-rc/alpine3.17/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb +ENV RUBY_VERSION 3.2.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/bullseye/Dockerfile b/3.2-rc/bullseye/Dockerfile index e35691bd6d..11024da8a3 100644 --- a/3.2-rc/bullseye/Dockerfile +++ b/3.2-rc/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb +ENV RUBY_VERSION 3.2.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/buster/Dockerfile b/3.2-rc/buster/Dockerfile index 0e56c9f41a..59b70492cf 100644 --- a/3.2-rc/buster/Dockerfile +++ b/3.2-rc/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb +ENV RUBY_VERSION 3.2.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/slim-bullseye/Dockerfile b/3.2-rc/slim-bullseye/Dockerfile index 0ef6942ad1..d650f574ba 100644 --- a/3.2-rc/slim-bullseye/Dockerfile +++ b/3.2-rc/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb +ENV RUBY_VERSION 3.2.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/slim-buster/Dockerfile b/3.2-rc/slim-buster/Dockerfile index 4267fd30b7..d1a8a9118c 100644 --- a/3.2-rc/slim-buster/Dockerfile +++ b/3.2-rc/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb +ENV RUBY_VERSION 3.2.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 21c4c89575..26633fd161 100644 --- a/versions.json +++ b/versions.json @@ -34,7 +34,7 @@ "version": "3.1.3" }, "3.2-rc": { - "sha256": "d3f5619de544240d92a5d03aa289e71bd1103379622c523a0e80ed029a74b3bb", + "sha256": "0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc", "variants": [ "bullseye", "slim-bullseye", @@ -43,6 +43,6 @@ "alpine3.17", "alpine3.16" ], - "version": "3.2.0-preview3" + "version": "3.2.0-rc1" } } From 9b27face61a92f7e77c069fae18abeb55aca3a90 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 20 Dec 2022 14:24:04 -0800 Subject: [PATCH 051/132] Update generated README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d77a68e19e..43c76b2f9c 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ For outstanding `ruby` image PRs, check [PRs with the "library/ruby" label on th --- -- [![build status badge](https://img.shields.io/github/workflow/status/docker-library/ruby/GitHub%20CI/master?label=GitHub%20CI)](https://github.com/docker-library/ruby/actions?query=workflow%3A%22GitHub+CI%22+branch%3Amaster) +- [![build status badge](https://img.shields.io/github/actions/workflow/status/docker-library/ruby/ci.yml?branch=master&label=GitHub%20CI)](https://github.com/docker-library/ruby/actions?query=workflow%3A%22GitHub+CI%22+branch%3Amaster) - [![build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/update.sh/job/ruby.svg?label=Automated%20update.sh)](https://doi-janky.infosiftr.net/job/update.sh/job/ruby/) | Build | Status | Badges | (per-arch) | From 8ea8c4000c5005771efc9ce34931763d191462cb Mon Sep 17 00:00:00 2001 From: Frederik Spang Thomsen Date: Sun, 25 Dec 2022 17:29:39 +0100 Subject: [PATCH 052/132] Update 3.2.0-rc to 3.2.0 --- {3.2-rc => 3.2}/alpine3.16/Dockerfile | 6 +++--- {3.2-rc => 3.2}/alpine3.17/Dockerfile | 6 +++--- {3.2-rc => 3.2}/bullseye/Dockerfile | 6 +++--- {3.2-rc => 3.2}/buster/Dockerfile | 6 +++--- {3.2-rc => 3.2}/slim-bullseye/Dockerfile | 6 +++--- {3.2-rc => 3.2}/slim-buster/Dockerfile | 6 +++--- versions.json | 6 +++--- 7 files changed, 21 insertions(+), 21 deletions(-) rename {3.2-rc => 3.2}/alpine3.16/Dockerfile (96%) rename {3.2-rc => 3.2}/alpine3.17/Dockerfile (96%) rename {3.2-rc => 3.2}/bullseye/Dockerfile (94%) rename {3.2-rc => 3.2}/buster/Dockerfile (94%) rename {3.2-rc => 3.2}/slim-bullseye/Dockerfile (95%) rename {3.2-rc => 3.2}/slim-buster/Dockerfile (95%) diff --git a/3.2-rc/alpine3.16/Dockerfile b/3.2/alpine3.16/Dockerfile similarity index 96% rename from 3.2-rc/alpine3.16/Dockerfile rename to 3.2/alpine3.16/Dockerfile index e9bad2fb26..fcfdd5ba43 100644 --- a/3.2-rc/alpine3.16/Dockerfile +++ b/3.2/alpine3.16/Dockerfile @@ -26,9 +26,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc +ENV RUBY_MAJOR 3.2 +ENV RUBY_VERSION 3.2.0 +ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/alpine3.17/Dockerfile b/3.2/alpine3.17/Dockerfile similarity index 96% rename from 3.2-rc/alpine3.17/Dockerfile rename to 3.2/alpine3.17/Dockerfile index a7c04069e0..da11b7a6ef 100644 --- a/3.2-rc/alpine3.17/Dockerfile +++ b/3.2/alpine3.17/Dockerfile @@ -26,9 +26,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc +ENV RUBY_MAJOR 3.2 +ENV RUBY_VERSION 3.2.0 +ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/bullseye/Dockerfile b/3.2/bullseye/Dockerfile similarity index 94% rename from 3.2-rc/bullseye/Dockerfile rename to 3.2/bullseye/Dockerfile index 11024da8a3..5761eaf178 100644 --- a/3.2-rc/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -15,9 +15,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc +ENV RUBY_MAJOR 3.2 +ENV RUBY_VERSION 3.2.0 +ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/buster/Dockerfile b/3.2/buster/Dockerfile similarity index 94% rename from 3.2-rc/buster/Dockerfile rename to 3.2/buster/Dockerfile index 59b70492cf..36954f6d3e 100644 --- a/3.2-rc/buster/Dockerfile +++ b/3.2/buster/Dockerfile @@ -15,9 +15,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc +ENV RUBY_MAJOR 3.2 +ENV RUBY_VERSION 3.2.0 +ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile similarity index 95% rename from 3.2-rc/slim-bullseye/Dockerfile rename to 3.2/slim-bullseye/Dockerfile index d650f574ba..44034d9c07 100644 --- a/3.2-rc/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -29,9 +29,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc +ENV RUBY_MAJOR 3.2 +ENV RUBY_VERSION 3.2.0 +ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2-rc/slim-buster/Dockerfile b/3.2/slim-buster/Dockerfile similarity index 95% rename from 3.2-rc/slim-buster/Dockerfile rename to 3.2/slim-buster/Dockerfile index d1a8a9118c..f8e31415b5 100644 --- a/3.2-rc/slim-buster/Dockerfile +++ b/3.2/slim-buster/Dockerfile @@ -29,9 +29,9 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2-rc -ENV RUBY_VERSION 3.2.0-rc1 -ENV RUBY_DOWNLOAD_SHA256 0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc +ENV RUBY_MAJOR 3.2 +ENV RUBY_VERSION 3.2.0 +ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 26633fd161..0558be8c8b 100644 --- a/versions.json +++ b/versions.json @@ -33,8 +33,8 @@ ], "version": "3.1.3" }, - "3.2-rc": { - "sha256": "0d45b3af14e84337882a2021235a091ae5dcfc0baaf31dccc479b71d96dd07bc", + "3.2": { + "sha256": "d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4", "variants": [ "bullseye", "slim-bullseye", @@ -43,6 +43,6 @@ "alpine3.17", "alpine3.16" ], - "version": "3.2.0-rc1" + "version": "3.2.0" } } From 2ffc9e1fded12441017a163acf40e7192dbc769c Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 27 Dec 2022 08:25:29 -0800 Subject: [PATCH 053/132] Update latest to 3.2 (now GA) --- generate-stackbrew-library.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index a98da9227e..23f8629606 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -2,7 +2,7 @@ set -Eeuo pipefail declare -A aliases=( - [3.1]='3 latest' + [3.2]='3 latest' [2.7]='2' ) From 4edf68428aa1295b9a2cd81a5de06d656cc10fb4 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 5 Jan 2023 09:45:23 -0800 Subject: [PATCH 054/132] Ditch "tac|tac" for more reliable scraping --- versions.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/versions.sh b/versions.sh index 4e9eab52f8..83bc00d7bb 100755 --- a/versions.sh +++ b/versions.sh @@ -38,15 +38,17 @@ for version in "${versions[@]}"; do if \ { versionReleasePage="$(grep "Ruby $tryVersion" -A 2 <<<"$releasesPage" | awk -F '"' '$1 == "Ruby '"$tryVersion"' Released' | cut -d'"' -f2)" \ - && [ "$versionReleasePage" ] \ - && shaVal="$(curl -fsSL "https://www.ruby-lang.org/$versionReleasePage" |tac|tac| grep "ruby-$tryVersion.tar.xz" -A 5 | awk '$1 == "SHA256:" { print $2; exit }')" \ - && [ "$shaVal" ] + && [ -n "$versionReleasePage" ] \ + && shaVal="$(curl -fsSL "https://www.ruby-lang.org/$versionReleasePage" | grep "ruby-$tryVersion.tar.xz" -A 5)" \ + && shaVal="$(awk <<<"$shaVal" '$1 == "SHA256:" { print $2; exit }')" \ + && [ -n "$shaVal" ] } \ ; then fullVersion="$tryVersion" From 6db728e589d2e7a34fe3f0bdb454c3303680712d Mon Sep 17 00:00:00 2001 From: paihu Date: Wed, 28 Dec 2022 19:23:06 +0900 Subject: [PATCH 055/132] Add YJIT support to debian 3.2+ --- 3.2/bullseye/Dockerfile | 24 ++++++++++++++++++++++++ 3.2/buster/Dockerfile | 24 ++++++++++++++++++++++++ 3.2/slim-bullseye/Dockerfile | 24 ++++++++++++++++++++++++ 3.2/slim-buster/Dockerfile | 24 ++++++++++++++++++++++++ Dockerfile.template | 30 +++++++++++++++++++++++++++++- 5 files changed, 125 insertions(+), 1 deletion(-) diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 5761eaf178..c437802ac5 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -23,6 +23,17 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ + yjit=; \ + debArch="$(uname -m)"; \ + \ + export RUSTUP_HOME=/tmp/rustup; \ + export CARGO_HOME=/tmp/cargo; \ + PATH=$CARGO_HOME/bin:$PATH; \ + rustArch=${debArch}-unknown-linux-gnu; \ + case "$debArch" in \ + x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ + esac; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -33,6 +44,16 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ + case "$yjit" in \ + 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ + echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ + chmod +x rustup-init; \ + ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ + rm rustup-init; \ + cargo --version; \ + rustc --version ;; \ + esac; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -57,6 +78,7 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + ${yjit:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ @@ -73,6 +95,8 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf $RUSTUP_HOME; \ + rm -rf $CARGO_HOME; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/buster/Dockerfile b/3.2/buster/Dockerfile index 36954f6d3e..42a331ab48 100644 --- a/3.2/buster/Dockerfile +++ b/3.2/buster/Dockerfile @@ -23,6 +23,17 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ + yjit=; \ + debArch="$(uname -m)"; \ + \ + export RUSTUP_HOME=/tmp/rustup; \ + export CARGO_HOME=/tmp/cargo; \ + PATH=$CARGO_HOME/bin:$PATH; \ + rustArch=${debArch}-unknown-linux-gnu; \ + case "$debArch" in \ + x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ + esac; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -33,6 +44,16 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ + case "$yjit" in \ + 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ + echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ + chmod +x rustup-init; \ + ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ + rm rustup-init; \ + cargo --version; \ + rustc --version ;; \ + esac; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -57,6 +78,7 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + ${yjit:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ @@ -73,6 +95,8 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf $RUSTUP_HOME; \ + rm -rf $CARGO_HOME; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 44034d9c07..aef9b35c06 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -37,6 +37,17 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ + yjit=; \ + debArch="$(uname -m)"; \ + \ + export RUSTUP_HOME=/tmp/rustup; \ + export CARGO_HOME=/tmp/cargo; \ + PATH=$CARGO_HOME/bin:$PATH; \ + rustArch=${debArch}-unknown-linux-gnu; \ + case "$debArch" in \ + x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ + esac; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -60,6 +71,16 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ + case "$yjit" in \ + 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ + echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ + chmod +x rustup-init; \ + ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ + rm rustup-init; \ + cargo --version; \ + rustc --version ;; \ + esac; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -84,6 +105,7 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + ${yjit:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ @@ -100,6 +122,8 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf $RUSTUP_HOME; \ + rm -rf $CARGO_HOME; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/slim-buster/Dockerfile b/3.2/slim-buster/Dockerfile index f8e31415b5..fcd5e40246 100644 --- a/3.2/slim-buster/Dockerfile +++ b/3.2/slim-buster/Dockerfile @@ -37,6 +37,17 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ + yjit=; \ + debArch="$(uname -m)"; \ + \ + export RUSTUP_HOME=/tmp/rustup; \ + export CARGO_HOME=/tmp/cargo; \ + PATH=$CARGO_HOME/bin:$PATH; \ + rustArch=${debArch}-unknown-linux-gnu; \ + case "$debArch" in \ + x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ + esac; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -60,6 +71,16 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ + case "$yjit" in \ + 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ + echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ + chmod +x rustup-init; \ + ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ + rm rustup-init; \ + cargo --version; \ + rustc --version ;; \ + esac; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -84,6 +105,7 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ + ${yjit:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ @@ -100,6 +122,8 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf $RUSTUP_HOME; \ + rm -rf $CARGO_HOME; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/Dockerfile.template b/Dockerfile.template index 880accf871..2ac6f41b4f 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -8,7 +8,6 @@ def should_yjit: # https://github.com/docker-library/ruby/issues/390 ([ "2.7", "3.0", "3.1" ] | index(env.version) | not) - and is_alpine -}} {{ if is_alpine then ( -}} FROM alpine:{{ env.variant | ltrimstr("alpine") }} @@ -106,6 +105,19 @@ RUN set -eux; \ {{ ) else "" end -}} ; \ {{ ) else ( -}} +{{ if should_yjit then ( -}} + yjit=; \ + debArch="$(uname -m)"; \ + \ + export RUSTUP_HOME=/tmp/rustup; \ + export CARGO_HOME=/tmp/cargo; \ + PATH=$CARGO_HOME/bin:$PATH; \ + rustArch=${debArch}-unknown-linux-gnu; \ + case "$debArch" in \ + x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ + esac; \ +{{ ) else "" end -}} savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -130,6 +142,18 @@ RUN set -eux; \ {{ ) else "" end -}} ; \ rm -rf /var/lib/apt/lists/*; \ +{{ if should_yjit then ( -}} + \ + case "$yjit" in \ + 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ + echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ + chmod +x rustup-init; \ + ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ + rm rustup-init; \ + cargo --version; \ + rustc --version ;; \ + esac; \ +{{ ) else "" end -}} {{ ) end -}} \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ @@ -211,6 +235,10 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ +{{ if should_yjit then ( -}} + rm -rf $RUSTUP_HOME; \ + rm -rf $CARGO_HOME; \ +{{ ) else "" end -}} {{ ) end -}} \ cd /; \ From c756b06f8cc771fb54f629d51217aa1802ba6ec2 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 9 Jan 2023 10:17:45 -0800 Subject: [PATCH 056/132] Refactor to pull Rust version/checksum information from versions.json This also creates a separate "rust.json" so we don't update Rust versions automatically but do have a simple way to do so (especially without having to update checksums by hand). --- 3.2/alpine3.16/Dockerfile | 31 +++++++-- 3.2/alpine3.17/Dockerfile | 31 +++++++-- 3.2/bullseye/Dockerfile | 44 ++++++------- 3.2/buster/Dockerfile | 44 ++++++------- 3.2/slim-bullseye/Dockerfile | 44 ++++++------- 3.2/slim-buster/Dockerfile | 44 ++++++------- Dockerfile.template | 121 ++++++++++++++++++++++------------- rust.json | 83 ++++++++++++++++++++++++ rust.sh | 92 ++++++++++++++++++++++++++ versions.json | 32 +++++++++ versions.sh | 23 ++++++- 11 files changed, 439 insertions(+), 150 deletions(-) create mode 100644 rust.json create mode 100755 rust.sh diff --git a/3.2/alpine3.16/Dockerfile b/3.2/alpine3.16/Dockerfile index fcfdd5ba43..ca886ac777 100644 --- a/3.2/alpine3.16/Dockerfile +++ b/3.2/alpine3.16/Dockerfile @@ -34,11 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ - yjit=; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64 | aarch64) yjit=1 ;; \ - esac; \ # readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ @@ -69,9 +64,30 @@ RUN set -eux; \ xz \ yaml-dev \ zlib-dev \ - ${yjit:+rust} \ ; \ \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -107,11 +123,12 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ - ${yjit:+--enable-yjit} \ + ${rustArch:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ \ + rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ | tr ',' '\n' \ diff --git a/3.2/alpine3.17/Dockerfile b/3.2/alpine3.17/Dockerfile index da11b7a6ef..5c03dd4bcd 100644 --- a/3.2/alpine3.17/Dockerfile +++ b/3.2/alpine3.17/Dockerfile @@ -34,11 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ - yjit=; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64 | aarch64) yjit=1 ;; \ - esac; \ # readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ @@ -69,9 +64,30 @@ RUN set -eux; \ xz \ yaml-dev \ zlib-dev \ - ${yjit:+rust} \ ; \ \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -107,11 +123,12 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ - ${yjit:+--enable-yjit} \ + ${rustArch:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ \ + rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ | tr ',' '\n' \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index c437802ac5..1a7c5cdd11 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -23,17 +23,6 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ - yjit=; \ - debArch="$(uname -m)"; \ - \ - export RUSTUP_HOME=/tmp/rustup; \ - export CARGO_HOME=/tmp/cargo; \ - PATH=$CARGO_HOME/bin:$PATH; \ - rustArch=${debArch}-unknown-linux-gnu; \ - case "$debArch" in \ - x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ - esac; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -44,16 +33,28 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - case "$yjit" in \ - 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ - echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ - chmod +x rustup-init; \ - ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ - rm rustup-init; \ - cargo --version; \ - rustc --version ;; \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ esac; \ \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -78,11 +79,12 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ - ${yjit:+--enable-yjit} \ + ${rustArch:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ \ + rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ @@ -95,8 +97,6 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf $RUSTUP_HOME; \ - rm -rf $CARGO_HOME; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/buster/Dockerfile b/3.2/buster/Dockerfile index 42a331ab48..3d2bddab10 100644 --- a/3.2/buster/Dockerfile +++ b/3.2/buster/Dockerfile @@ -23,17 +23,6 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ - yjit=; \ - debArch="$(uname -m)"; \ - \ - export RUSTUP_HOME=/tmp/rustup; \ - export CARGO_HOME=/tmp/cargo; \ - PATH=$CARGO_HOME/bin:$PATH; \ - rustArch=${debArch}-unknown-linux-gnu; \ - case "$debArch" in \ - x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ - esac; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -44,16 +33,28 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - case "$yjit" in \ - 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ - echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ - chmod +x rustup-init; \ - ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ - rm rustup-init; \ - cargo --version; \ - rustc --version ;; \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ esac; \ \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -78,11 +79,12 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ - ${yjit:+--enable-yjit} \ + ${rustArch:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ \ + rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ @@ -95,8 +97,6 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf $RUSTUP_HOME; \ - rm -rf $CARGO_HOME; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index aef9b35c06..a1751e5349 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -37,17 +37,6 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ - yjit=; \ - debArch="$(uname -m)"; \ - \ - export RUSTUP_HOME=/tmp/rustup; \ - export CARGO_HOME=/tmp/cargo; \ - PATH=$CARGO_HOME/bin:$PATH; \ - rustArch=${debArch}-unknown-linux-gnu; \ - case "$debArch" in \ - x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ - esac; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -71,16 +60,28 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - case "$yjit" in \ - 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ - echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ - chmod +x rustup-init; \ - ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ - rm rustup-init; \ - cargo --version; \ - rustc --version ;; \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ esac; \ \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -105,11 +106,12 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ - ${yjit:+--enable-yjit} \ + ${rustArch:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ \ + rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ @@ -122,8 +124,6 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf $RUSTUP_HOME; \ - rm -rf $CARGO_HOME; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/slim-buster/Dockerfile b/3.2/slim-buster/Dockerfile index fcd5e40246..fa6566b4f2 100644 --- a/3.2/slim-buster/Dockerfile +++ b/3.2/slim-buster/Dockerfile @@ -37,17 +37,6 @@ ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ - yjit=; \ - debArch="$(uname -m)"; \ - \ - export RUSTUP_HOME=/tmp/rustup; \ - export CARGO_HOME=/tmp/cargo; \ - PATH=$CARGO_HOME/bin:$PATH; \ - rustArch=${debArch}-unknown-linux-gnu; \ - case "$debArch" in \ - x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ - esac; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -71,16 +60,28 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - case "$yjit" in \ - 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ - echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ - chmod +x rustup-init; \ - ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ - rm rustup-init; \ - cargo --version; \ - rustc --version ;; \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ esac; \ \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ @@ -105,11 +106,12 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ - ${yjit:+--enable-yjit} \ + ${rustArch:+--enable-yjit} \ ; \ make -j "$(nproc)"; \ make install; \ \ + rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ @@ -122,8 +124,6 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf $RUSTUP_HOME; \ - rm -rf $CARGO_HOME; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/Dockerfile.template b/Dockerfile.template index 2ac6f41b4f..ea7fd3d2e5 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -4,10 +4,6 @@ ; def is_slim: env.variant | startswith("slim-") - ; - def should_yjit: - # https://github.com/docker-library/ruby/issues/390 - ([ "2.7", "3.0", "3.1" ] | index(env.version) | not) -}} {{ if is_alpine then ( -}} FROM alpine:{{ env.variant | ltrimstr("alpine") }} @@ -63,13 +59,6 @@ ENV RUBY_DOWNLOAD_SHA256 {{ .sha256 }} RUN set -eux; \ \ {{ if is_alpine then ( -}} -{{ if should_yjit then ( -}} - yjit=; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - x86_64 | aarch64) yjit=1 ;; \ - esac; \ -{{ ) else "" end -}} # readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ @@ -100,24 +89,8 @@ RUN set -eux; \ xz \ yaml-dev \ zlib-dev \ -{{ if should_yjit then ( -}} - ${yjit:+rust} \ -{{ ) else "" end -}} ; \ {{ ) else ( -}} -{{ if should_yjit then ( -}} - yjit=; \ - debArch="$(uname -m)"; \ - \ - export RUSTUP_HOME=/tmp/rustup; \ - export CARGO_HOME=/tmp/cargo; \ - PATH=$CARGO_HOME/bin:$PATH; \ - rustArch=${debArch}-unknown-linux-gnu; \ - case "$debArch" in \ - x86_64) yjit=1; RUST_VERSION=1.66; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - aarch64) yjit=1; RUST_VERSION=1.66; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929';; \ - esac; \ -{{ ) else "" end -}} savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ @@ -142,19 +115,76 @@ RUN set -eux; \ {{ ) else "" end -}} ; \ rm -rf /var/lib/apt/lists/*; \ -{{ if should_yjit then ( -}} +{{ ) end -}} +{{ if .rust.version then ( -}} \ - case "$yjit" in \ - 1) wget https://static.rust-lang.org/rustup/archive/1.25.1/${rustArch}/rustup-init; \ - echo "${rustupSha256} *rustup-init" | sha256sum --check --strict; \ - chmod +x rustup-init; \ - ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ - rm rustup-init; \ - cargo --version; \ - rustc --version ;; \ + rustArch=; \ +{{ def archVar: if is_alpine then "apkArch" else "dpkgArch" end -}} + {{ archVar }}="$({{ if is_alpine then "apk --print-arch" else "dpkg --print-architecture" end }})"; \ + case "${{ archVar }}" in \ +{{ + ( + .rustup.arches + | (if is_alpine then "musl" else "glibc" end) as $libcKey + | to_entries + | map( + .key as $bashbrewArch + | ( + if is_alpine then + { + amd64: "x86_64", + arm32v6: "armhf", + arm32v7: "armv7", + arm64v8: "aarch64", + i386: "x86", + ppc64le: "ppc64le", + riscv64: "riscv64", + s390x: "s390x", + } + else + { + amd64: "amd64", + arm32v5: "armel", + arm32v7: "armhf", + arm64v8: "arm64", + i386: "i386", + mips64le: "mips64el", + ppc64le: "ppc64el", + riscv64: "riscv64", + s390x: "s390x", + } + end + )[$bashbrewArch] as $distroArch + | select($distroArch) + | .value + | select(has($libcKey)) + | .[$libcKey] + | ( +-}} + {{ $distroArch | @sh }}) rustArch={{ .arch | @sh }}; rustupUrl={{ .url | @sh }}; rustupSha256={{ .sha256 | @sh }} ;; \ +{{ + ) + ) + | join("") + ) +-}} esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain {{ .rust.version | @sh }} --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ {{ ) else "" end -}} -{{ ) end -}} \ wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ @@ -191,10 +221,10 @@ RUN set -eux; \ {{ if is_alpine and ( [ "2.7", "3.0" ] | index(env.version) ) then ( -}} # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 -{{ if should_yjit then "" else ( -}} - apkArch="$(apk --print-arch)"; \ +{{ if .rust.version then "" else ( -}} + {{ archVar }}="$(apk --print-arch)"; \ {{ ) end -}} - case "$apkArch" in \ + case "${{ archVar }}" in \ s390x | armhf | armv7) \ apk add --no-cache libucontext-dev; \ export LIBS='-lucontext'; \ @@ -206,13 +236,16 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ -{{ if should_yjit then ( -}} - ${yjit:+--enable-yjit} \ +{{ if .rust.version then ( -}} + ${rustArch:+--enable-yjit} \ {{ ) else "" end -}} ; \ make -j "$(nproc)"; \ make install; \ \ +{{ if .rust.version then ( -}} + rm -rf /tmp/rust; \ +{{ ) else "" end -}} {{ if is_alpine then ( -}} runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ @@ -235,10 +268,6 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ -{{ if should_yjit then ( -}} - rm -rf $RUSTUP_HOME; \ - rm -rf $CARGO_HOME; \ -{{ ) else "" end -}} {{ ) end -}} \ cd /; \ diff --git a/rust.json b/rust.json new file mode 100644 index 0000000000..d510f93c78 --- /dev/null +++ b/rust.json @@ -0,0 +1,83 @@ +{ + "rust": { + "version": "1.66.0" + }, + "rustup": { + "arches": { + "amd64": { + "glibc": { + "arch": "x86_64-unknown-linux-gnu", + "sha256": "5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "x86_64-unknown-linux-musl", + "sha256": "95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init" + } + }, + "arm32v5": { + "glibc": { + "arch": "arm-unknown-linux-gnueabi", + "sha256": "0bd9ba41cd40945b4cadc5a8acb3a926c61f7cce5747120a0e213aae1b4ea30a", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/arm-unknown-linux-gnueabi/rustup-init" + } + }, + "arm32v6": { + "glibc": { + "arch": "arm-unknown-linux-gnueabihf", + "sha256": "aad75c7c586fd5a8cc8a7153d7e574bb7a8bf39b99dd7d9dab7425143fa4a999", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/arm-unknown-linux-gnueabihf/rustup-init" + } + }, + "arm32v7": { + "glibc": { + "arch": "armv7-unknown-linux-gnueabihf", + "sha256": "48c5ecfd1409da93164af20cf4ac2c6f00688b15eb6ba65047f654060c844d85", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/armv7-unknown-linux-gnueabihf/rustup-init" + } + }, + "arm64v8": { + "glibc": { + "arch": "aarch64-unknown-linux-gnu", + "sha256": "e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "aarch64-unknown-linux-musl", + "sha256": "7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init" + } + }, + "i386": { + "glibc": { + "arch": "i686-unknown-linux-gnu", + "sha256": "0e0be29c560ad958ba52fcf06b3ea04435cb3cd674fbe11ce7d954093b9504fd", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/i686-unknown-linux-gnu/rustup-init" + } + }, + "mips64le": { + "glibc": { + "arch": "mips64el-unknown-linux-gnuabi64", + "sha256": "e69193145f5f2574bf79f355b46dae3d747e8afef511aa015445c51c4d057c6f", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/mips64el-unknown-linux-gnuabi64/rustup-init" + } + }, + "ppc64le": { + "glibc": { + "arch": "powerpc64le-unknown-linux-gnu", + "sha256": "774f62fd927f6c29499a6caee8f534e796161321ec35435788971629bb55af8e", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/powerpc64le-unknown-linux-gnu/rustup-init" + } + }, + "s390x": { + "glibc": { + "arch": "s390x-unknown-linux-gnu", + "sha256": "cf5965d0e3b5f53b51d19b84c7cae2996d69277cdf280a9c07fe47418233dde9", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/s390x-unknown-linux-gnu/rustup-init" + } + } + }, + "version": "1.25.1" + } +} diff --git a/rust.sh b/rust.sh new file mode 100755 index 0000000000..f26615b953 --- /dev/null +++ b/rust.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +rustupVersion="$(curl -fsSL 'https://static.rust-lang.org/rustup/release-stable.toml')" +rustupVersion="$(awk <<<"$rustupVersion" -F "[ ='\"]+" '$1 == "version" { print $2; exit }')" +[ -n "$rustupVersion" ] +export rustupVersion +echo "rustup: $rustupVersion" + +json="$(jq -nc ' + { + rustup: { + version: env.rustupVersion, + arches: ( + [ + # https://github.com/rust-lang/rustup/blob/1.25.1/doc/src/installation/other.md + # (filtering out windows, darwin, bsd, illumos, android, etc - just linux gnu and musl) + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "arm-unknown-linux-gnueabi", + "arm-unknown-linux-gnueabihf", + "armv7-unknown-linux-gnueabihf", + "i686-unknown-linux-gnu", + "mips-unknown-linux-gnu", + "mips64-unknown-linux-gnuabi64", + "mips64el-unknown-linux-gnuabi64", + "mipsel-unknown-linux-gnu", + "powerpc-unknown-linux-gnu", + "powerpc64-unknown-linux-gnu", + "powerpc64le-unknown-linux-gnu", + "s390x-unknown-linux-gnu", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-linux-musl", + # TODO find a good source for scraping these instead of hard-coding them + empty # trailing comma + ] + | map( + split("-") as $split + | $split[0] as $arch + | $split[-1] as $libc + | { + "aarch64": "arm64v8", + "arm": ("arm32v" + if ($libc | endswith("hf")) then "6" else "5" end), + "armv7": "arm32v7", + "i686": "i386", + "mips64el": "mips64le", + "powerpc64le": "ppc64le", + "s390x": "s390x", + "x86_64": "amd64", + # TODO windows? (we do not compile on/for Windows right now) + }[$arch] as $bashbrewArch + | select($bashbrewArch) + | { + ($bashbrewArch): { + (if $libc == "musl" then "musl" else "glibc" end): ({ + "arch": ., + "url": "https://static.rust-lang.org/rustup/archive/\(env.rustupVersion)/\(.)/rustup-init", + } | .sha256 = .url + ".sha256"), + }, + } + ) + | reduce .[] as $map ({}; . * $map) + ), + }, + } +')" + +urls="$(jq <<<"$json" -r '[ .. | .sha256? | select(. and startswith("http")) | @sh ] | join(" ")')" +eval "urls=( $urls )" +for url in "${urls[@]}"; do + sha256="$(curl -fsSL "$url")" + sha256="${sha256%% *}" + [ -n "$sha256" ] + export url sha256 + json="$(jq <<<"$json" -c 'walk(if . == env.url then env.sha256 else . end)')" +done + +# TODO https://static.rust-lang.org/dist/channel-rust-1.66.toml -> scrape stable to know which version is stable but we can scrape other minors to get the latest patch if we needed an older one for some reason (like an older version of Ruby needing an older Rust or a newer Rust no longer working on our older distros, etc) + +rustVersion="$(curl -fsSL 'https://static.rust-lang.org/dist/channel-rust-stable.toml' | grep -E '^(\[|(version|(xz_)?(url|hash|available))[[:space:]]*=)')" +rustVersion="$(awk <<<"$rustVersion" -F "[ ='\"]+" ' + /^\[/ { pkg = $0; next } + pkg == "[pkg.rust]" && $1 == "version" { print $2; exit } +')" +[ -n "$rustVersion" ] +export rustVersion +echo "rust: $rustVersion" +# TODO also scrape available "[pkg.rust.target.*-linux-*]" so we can cross-reference available target arches with rustup + +json="$(jq <<<"$json" -c '.rust = { version: env.rustVersion }')" + +jq <<<"$json" -S . > rust.json diff --git a/versions.json b/versions.json index 0558be8c8b..59600d054c 100644 --- a/versions.json +++ b/versions.json @@ -34,6 +34,38 @@ "version": "3.1.3" }, "3.2": { + "rust": { + "version": "1.66.0" + }, + "rustup": { + "arches": { + "amd64": { + "glibc": { + "arch": "x86_64-unknown-linux-gnu", + "sha256": "5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "x86_64-unknown-linux-musl", + "sha256": "95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init" + } + }, + "arm64v8": { + "glibc": { + "arch": "aarch64-unknown-linux-gnu", + "sha256": "e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "aarch64-unknown-linux-musl", + "sha256": "7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init" + } + } + }, + "version": "1.25.1" + }, "sha256": "d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4", "variants": [ "bullseye", diff --git a/versions.sh b/versions.sh index 83bc00d7bb..297c9f9aa0 100755 --- a/versions.sh +++ b/versions.sh @@ -64,8 +64,8 @@ for version in "${versions[@]}"; do echo "$version: $fullVersion; $shaVal" export fullVersion shaVal - json="$(jq <<<"$json" -c ' - .[env.version] = { + doc="$(jq -nc ' + { version: env.fullVersion, sha256: env.shaVal, variants: [ @@ -88,6 +88,25 @@ for version in "${versions[@]}"; do ], } ')" + + case "$rcVersion" in + 2.7 | 3.0 | 3.1) ;; + *) + # YJIT + doc="$(jq <<<"$doc" -sc ' + .[1][].arches? |= if . then with_entries(select(.key as $arch | [ + # https://github.com/ruby/ruby/blob/v3_2_0/doc/yjit/yjit.md ("currently supported for macOS and Linux on x86-64 and arm64/aarch64 CPUs") + # https://github.com/ruby/ruby/blob/v3_2_0/configure.ac#L3757-L3761 + "amd64", + "arm64v8", + empty # trailing comma + ] | index($arch))) else empty end + | add + ' - rust.json)" + ;; + esac + + json="$(jq <<<"$json" -c --argjson doc "$doc" '.[env.version] = $doc')" done jq <<<"$json" -S . > versions.json From c068755c5a4b78ae781ed9f8245ab6fb7aab519a Mon Sep 17 00:00:00 2001 From: Leif Gensert Date: Wed, 8 Feb 2023 09:07:29 -0800 Subject: [PATCH 057/132] Update 3.2.0 to 3.2.1 --- 3.2/alpine3.16/Dockerfile | 4 ++-- 3.2/alpine3.17/Dockerfile | 4 ++-- 3.2/bullseye/Dockerfile | 4 ++-- 3.2/buster/Dockerfile | 4 ++-- 3.2/slim-bullseye/Dockerfile | 4 ++-- 3.2/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.2/alpine3.16/Dockerfile b/3.2/alpine3.16/Dockerfile index ca886ac777..2be8ea609d 100644 --- a/3.2/alpine3.16/Dockerfile +++ b/3.2/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.0 -ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 +ENV RUBY_VERSION 3.2.1 +ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/alpine3.17/Dockerfile b/3.2/alpine3.17/Dockerfile index 5c03dd4bcd..b566261d75 100644 --- a/3.2/alpine3.17/Dockerfile +++ b/3.2/alpine3.17/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.0 -ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 +ENV RUBY_VERSION 3.2.1 +ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 1a7c5cdd11..a0be8d05ec 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.0 -ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 +ENV RUBY_VERSION 3.2.1 +ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/buster/Dockerfile b/3.2/buster/Dockerfile index 3d2bddab10..9d6a31cd1c 100644 --- a/3.2/buster/Dockerfile +++ b/3.2/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.0 -ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 +ENV RUBY_VERSION 3.2.1 +ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index a1751e5349..64d2633d37 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.0 -ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 +ENV RUBY_VERSION 3.2.1 +ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-buster/Dockerfile b/3.2/slim-buster/Dockerfile index fa6566b4f2..9b1a5796bf 100644 --- a/3.2/slim-buster/Dockerfile +++ b/3.2/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.0 -ENV RUBY_DOWNLOAD_SHA256 d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4 +ENV RUBY_VERSION 3.2.1 +ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 59600d054c..c44d5d29a1 100644 --- a/versions.json +++ b/versions.json @@ -66,7 +66,7 @@ }, "version": "1.25.1" }, - "sha256": "d2f4577306e6dd932259693233141e5c3ec13622c95b75996541b8d5b68b28b4", + "sha256": "746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c", "variants": [ "bullseye", "slim-bullseye", @@ -75,6 +75,6 @@ "alpine3.17", "alpine3.16" ], - "version": "3.2.0" + "version": "3.2.1" } } From e1866b57c27f0828f75eb9704f5804be47bd1c98 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Fri, 10 Mar 2023 16:10:17 -0800 Subject: [PATCH 058/132] Update permissions from 777 to 1777 This still supports the "arbitrary user" use case but with slightly tighter permissions on the end result. --- 2.7/alpine3.16/Dockerfile | 2 +- 2.7/bullseye/Dockerfile | 2 +- 2.7/buster/Dockerfile | 2 +- 2.7/slim-bullseye/Dockerfile | 2 +- 2.7/slim-buster/Dockerfile | 2 +- 3.0/alpine3.16/Dockerfile | 2 +- 3.0/bullseye/Dockerfile | 2 +- 3.0/buster/Dockerfile | 2 +- 3.0/slim-bullseye/Dockerfile | 2 +- 3.0/slim-buster/Dockerfile | 2 +- 3.1/alpine3.16/Dockerfile | 2 +- 3.1/alpine3.17/Dockerfile | 2 +- 3.1/bullseye/Dockerfile | 2 +- 3.1/buster/Dockerfile | 2 +- 3.1/slim-bullseye/Dockerfile | 2 +- 3.1/slim-buster/Dockerfile | 2 +- 3.2/alpine3.16/Dockerfile | 2 +- 3.2/alpine3.17/Dockerfile | 2 +- 3.2/bullseye/Dockerfile | 2 +- 3.2/buster/Dockerfile | 2 +- 3.2/slim-bullseye/Dockerfile | 2 +- 3.2/slim-buster/Dockerfile | 2 +- Dockerfile.template | 2 +- 23 files changed, 23 insertions(+), 23 deletions(-) diff --git a/2.7/alpine3.16/Dockerfile b/2.7/alpine3.16/Dockerfile index 2d92dcfa03..6253e27443 100644 --- a/2.7/alpine3.16/Dockerfile +++ b/2.7/alpine3.16/Dockerfile @@ -145,6 +145,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/2.7/bullseye/Dockerfile b/2.7/bullseye/Dockerfile index 22b3671ea3..8348dac74e 100644 --- a/2.7/bullseye/Dockerfile +++ b/2.7/bullseye/Dockerfile @@ -90,6 +90,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index db7f47eaec..8b08775106 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -90,6 +90,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/2.7/slim-bullseye/Dockerfile b/2.7/slim-bullseye/Dockerfile index d51e8791f9..39b724d60a 100644 --- a/2.7/slim-bullseye/Dockerfile +++ b/2.7/slim-bullseye/Dockerfile @@ -117,6 +117,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile index 4cd26b9511..2a32d98e2f 100644 --- a/2.7/slim-buster/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -117,6 +117,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.0/alpine3.16/Dockerfile b/3.0/alpine3.16/Dockerfile index 56188367b7..0d5f097187 100644 --- a/3.0/alpine3.16/Dockerfile +++ b/3.0/alpine3.16/Dockerfile @@ -145,6 +145,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index 5d067bbf1f..dc64d0d3bc 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -90,6 +90,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index c1f977d2d8..c0c181f45e 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -90,6 +90,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index 95b513debd..887a8decc6 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -117,6 +117,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index d4d05c859b..0f1d0dcc08 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -117,6 +117,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/alpine3.16/Dockerfile b/3.1/alpine3.16/Dockerfile index 2811b3387c..87c504a7d2 100644 --- a/3.1/alpine3.16/Dockerfile +++ b/3.1/alpine3.16/Dockerfile @@ -136,6 +136,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/alpine3.17/Dockerfile b/3.1/alpine3.17/Dockerfile index 7d20cedb70..e59ed1fe73 100644 --- a/3.1/alpine3.17/Dockerfile +++ b/3.1/alpine3.17/Dockerfile @@ -136,6 +136,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 79712fb215..1689b7b434 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -90,6 +90,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/buster/Dockerfile b/3.1/buster/Dockerfile index bc62c904dd..f4cc09d69f 100644 --- a/3.1/buster/Dockerfile +++ b/3.1/buster/Dockerfile @@ -90,6 +90,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index ad79427e5c..5d67798a5f 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -117,6 +117,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/slim-buster/Dockerfile b/3.1/slim-buster/Dockerfile index fe07c7d19e..2eac8074ba 100644 --- a/3.1/slim-buster/Dockerfile +++ b/3.1/slim-buster/Dockerfile @@ -117,6 +117,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/alpine3.16/Dockerfile b/3.2/alpine3.16/Dockerfile index 2be8ea609d..0779a87d2a 100644 --- a/3.2/alpine3.16/Dockerfile +++ b/3.2/alpine3.16/Dockerfile @@ -160,6 +160,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/alpine3.17/Dockerfile b/3.2/alpine3.17/Dockerfile index b566261d75..6026ff5faf 100644 --- a/3.2/alpine3.17/Dockerfile +++ b/3.2/alpine3.17/Dockerfile @@ -160,6 +160,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index a0be8d05ec..4d10b3ad15 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -114,6 +114,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/buster/Dockerfile b/3.2/buster/Dockerfile index 9d6a31cd1c..67a9b4fd8f 100644 --- a/3.2/buster/Dockerfile +++ b/3.2/buster/Dockerfile @@ -114,6 +114,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 64d2633d37..bec4004d95 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -141,6 +141,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/slim-buster/Dockerfile b/3.2/slim-buster/Dockerfile index 9b1a5796bf..f99bc51977 100644 --- a/3.2/slim-buster/Dockerfile +++ b/3.2/slim-buster/Dockerfile @@ -141,6 +141,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/Dockerfile.template b/Dockerfile.template index ea7fd3d2e5..a58bf00e99 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -296,6 +296,6 @@ ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH # adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 777 "$GEM_HOME" +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" CMD [ "irb" ] From 7117899e1b7d3d8230fe8021acf76ead8d2f5230 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 30 Mar 2023 09:19:28 -0700 Subject: [PATCH 059/132] Update 2.7 to 2.7.8 --- 2.7/alpine3.16/Dockerfile | 4 ++-- 2.7/bullseye/Dockerfile | 4 ++-- 2.7/buster/Dockerfile | 4 ++-- 2.7/slim-bullseye/Dockerfile | 4 ++-- 2.7/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/2.7/alpine3.16/Dockerfile b/2.7/alpine3.16/Dockerfile index 6253e27443..3350c01753 100644 --- a/2.7/alpine3.16/Dockerfile +++ b/2.7/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.7 -ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c +ENV RUBY_VERSION 2.7.8 +ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/bullseye/Dockerfile b/2.7/bullseye/Dockerfile index 8348dac74e..235d087daf 100644 --- a/2.7/bullseye/Dockerfile +++ b/2.7/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.7 -ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c +ENV RUBY_VERSION 2.7.8 +ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile index 8b08775106..ace35dbd3a 100644 --- a/2.7/buster/Dockerfile +++ b/2.7/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.7 -ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c +ENV RUBY_VERSION 2.7.8 +ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/slim-bullseye/Dockerfile b/2.7/slim-bullseye/Dockerfile index 39b724d60a..84d9c39036 100644 --- a/2.7/slim-bullseye/Dockerfile +++ b/2.7/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.7 -ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c +ENV RUBY_VERSION 2.7.8 +ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile index 2a32d98e2f..c2884ea592 100644 --- a/2.7/slim-buster/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.7 -ENV RUBY_DOWNLOAD_SHA256 b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c +ENV RUBY_VERSION 2.7.8 +ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index c44d5d29a1..3092210944 100644 --- a/versions.json +++ b/versions.json @@ -1,6 +1,6 @@ { "2.7": { - "sha256": "b38dff2e1f8ce6e5b7d433f8758752987a6b2adfd9bc7571dbc42ea5d04e3e4c", + "sha256": "f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb", "variants": [ "bullseye", "slim-bullseye", @@ -8,7 +8,7 @@ "slim-buster", "alpine3.16" ], - "version": "2.7.7" + "version": "2.7.8" }, "3.0": { "sha256": "cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde", From 1cd75932f3d072dbbe2a866951fc47ff5a5bb2fc Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 30 Mar 2023 09:35:55 -0700 Subject: [PATCH 060/132] Update 3.0 to 3.0.6 --- 3.0/alpine3.16/Dockerfile | 4 ++-- 3.0/bullseye/Dockerfile | 4 ++-- 3.0/buster/Dockerfile | 4 ++-- 3.0/slim-bullseye/Dockerfile | 4 ++-- 3.0/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/3.0/alpine3.16/Dockerfile b/3.0/alpine3.16/Dockerfile index 0d5f097187..e11ab34cdd 100644 --- a/3.0/alpine3.16/Dockerfile +++ b/3.0/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.5 -ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde +ENV RUBY_VERSION 3.0.6 +ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index dc64d0d3bc..3b917a9551 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.5 -ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde +ENV RUBY_VERSION 3.0.6 +ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index c0c181f45e..03abed05ff 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.5 -ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde +ENV RUBY_VERSION 3.0.6 +ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index 887a8decc6..26b331f686 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.5 -ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde +ENV RUBY_VERSION 3.0.6 +ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index 0f1d0dcc08..9f755b058f 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.5 -ENV RUBY_DOWNLOAD_SHA256 cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde +ENV RUBY_VERSION 3.0.6 +ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 3092210944..7637380592 100644 --- a/versions.json +++ b/versions.json @@ -11,7 +11,7 @@ "version": "2.7.8" }, "3.0": { - "sha256": "cf7cb5ba2030fe36596a40980cdecfd79a0337d35860876dc2b10a38675bddde", + "sha256": "b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1", "variants": [ "bullseye", "slim-bullseye", @@ -19,7 +19,7 @@ "slim-buster", "alpine3.16" ], - "version": "3.0.5" + "version": "3.0.6" }, "3.1": { "sha256": "4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a", From 564fdfe2e1451d2f56a815b1213e54c7f8639cb4 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 30 Mar 2023 09:54:18 -0700 Subject: [PATCH 061/132] Update 3.1 to 3.1.4 --- 3.1/alpine3.16/Dockerfile | 4 ++-- 3.1/alpine3.17/Dockerfile | 4 ++-- 3.1/bullseye/Dockerfile | 4 ++-- 3.1/buster/Dockerfile | 4 ++-- 3.1/slim-bullseye/Dockerfile | 4 ++-- 3.1/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.1/alpine3.16/Dockerfile b/3.1/alpine3.16/Dockerfile index 87c504a7d2..007b802002 100644 --- a/3.1/alpine3.16/Dockerfile +++ b/3.1/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.3 -ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a +ENV RUBY_VERSION 3.1.4 +ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/alpine3.17/Dockerfile b/3.1/alpine3.17/Dockerfile index e59ed1fe73..0858dd60d8 100644 --- a/3.1/alpine3.17/Dockerfile +++ b/3.1/alpine3.17/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.3 -ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a +ENV RUBY_VERSION 3.1.4 +ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 1689b7b434..5851055de9 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.3 -ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a +ENV RUBY_VERSION 3.1.4 +ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/buster/Dockerfile b/3.1/buster/Dockerfile index f4cc09d69f..f50561f2a0 100644 --- a/3.1/buster/Dockerfile +++ b/3.1/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.3 -ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a +ENV RUBY_VERSION 3.1.4 +ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 5d67798a5f..9551c6b9b4 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.3 -ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a +ENV RUBY_VERSION 3.1.4 +ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-buster/Dockerfile b/3.1/slim-buster/Dockerfile index 2eac8074ba..887f3916a9 100644 --- a/3.1/slim-buster/Dockerfile +++ b/3.1/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.3 -ENV RUBY_DOWNLOAD_SHA256 4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a +ENV RUBY_VERSION 3.1.4 +ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 7637380592..7ed3e32507 100644 --- a/versions.json +++ b/versions.json @@ -22,7 +22,7 @@ "version": "3.0.6" }, "3.1": { - "sha256": "4ee161939826bcdfdafa757cf8e293a7f14e357f62be7144f040335cc8c7371a", + "sha256": "1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f", "variants": [ "bullseye", "slim-bullseye", @@ -31,7 +31,7 @@ "alpine3.17", "alpine3.16" ], - "version": "3.1.3" + "version": "3.1.4" }, "3.2": { "rust": { From 4041b21f3e11111846e6b6043da2da92e1da7019 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 30 Mar 2023 10:17:18 -0700 Subject: [PATCH 062/132] Update 3.2 to 3.2.2 --- 3.2/alpine3.16/Dockerfile | 4 ++-- 3.2/alpine3.17/Dockerfile | 4 ++-- 3.2/bullseye/Dockerfile | 4 ++-- 3.2/buster/Dockerfile | 4 ++-- 3.2/slim-bullseye/Dockerfile | 4 ++-- 3.2/slim-buster/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.2/alpine3.16/Dockerfile b/3.2/alpine3.16/Dockerfile index 0779a87d2a..a813244cd3 100644 --- a/3.2/alpine3.16/Dockerfile +++ b/3.2/alpine3.16/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.1 -ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c +ENV RUBY_VERSION 3.2.2 +ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/alpine3.17/Dockerfile b/3.2/alpine3.17/Dockerfile index 6026ff5faf..98ed500fac 100644 --- a/3.2/alpine3.17/Dockerfile +++ b/3.2/alpine3.17/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.1 -ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c +ENV RUBY_VERSION 3.2.2 +ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 4d10b3ad15..47d83c1c20 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.1 -ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c +ENV RUBY_VERSION 3.2.2 +ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/buster/Dockerfile b/3.2/buster/Dockerfile index 67a9b4fd8f..48d07be313 100644 --- a/3.2/buster/Dockerfile +++ b/3.2/buster/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.1 -ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c +ENV RUBY_VERSION 3.2.2 +ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index bec4004d95..6ca0fa2933 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.1 -ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c +ENV RUBY_VERSION 3.2.2 +ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-buster/Dockerfile b/3.2/slim-buster/Dockerfile index f99bc51977..4eae3f543a 100644 --- a/3.2/slim-buster/Dockerfile +++ b/3.2/slim-buster/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.1 -ENV RUBY_DOWNLOAD_SHA256 746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c +ENV RUBY_VERSION 3.2.2 +ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 7ed3e32507..4c85019d79 100644 --- a/versions.json +++ b/versions.json @@ -66,7 +66,7 @@ }, "version": "1.25.1" }, - "sha256": "746c8661ae25449cbdc5297d1092702e93e66f365a75fecb740d4f292ced630c", + "sha256": "4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23", "variants": [ "bullseye", "slim-bullseye", @@ -75,6 +75,6 @@ "alpine3.17", "alpine3.16" ], - "version": "3.2.1" + "version": "3.2.2" } } From 3ac53a7fe039d4299aca9b49ad53e1cc85cc6498 Mon Sep 17 00:00:00 2001 From: Matthew Newell <18470637+wheatevo@users.noreply.github.com> Date: Tue, 9 May 2023 21:55:51 -0500 Subject: [PATCH 063/132] Add Alpine 3.18 Alpine 3.18 release post: https://alpinelinux.org/posts/Alpine-3.18.0-released.html --- 3.1/alpine3.18/Dockerfile | 141 ++++++++++++++++++++++++++++++++ 3.2/alpine3.18/Dockerfile | 165 ++++++++++++++++++++++++++++++++++++++ versions.json | 2 + versions.sh | 3 +- 4 files changed, 310 insertions(+), 1 deletion(-) create mode 100644 3.1/alpine3.18/Dockerfile create mode 100644 3.2/alpine3.18/Dockerfile diff --git a/3.1/alpine3.18/Dockerfile b/3.1/alpine3.18/Dockerfile new file mode 100644 index 0000000000..679171a895 --- /dev/null +++ b/3.1/alpine3.18/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.18 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.1 +ENV RUBY_VERSION 3.1.4 +ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.2/alpine3.18/Dockerfile b/3.2/alpine3.18/Dockerfile new file mode 100644 index 0000000000..17449c0a15 --- /dev/null +++ b/3.2/alpine3.18/Dockerfile @@ -0,0 +1,165 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.18 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.2 +ENV RUBY_VERSION 3.2.2 +ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/versions.json b/versions.json index 4c85019d79..d4aecf2446 100644 --- a/versions.json +++ b/versions.json @@ -28,6 +28,7 @@ "slim-bullseye", "buster", "slim-buster", + "alpine3.18", "alpine3.17", "alpine3.16" ], @@ -72,6 +73,7 @@ "slim-bullseye", "buster", "slim-buster", + "alpine3.18", "alpine3.17", "alpine3.16" ], diff --git a/versions.sh b/versions.sh index 297c9f9aa0..c27a96ad98 100755 --- a/versions.sh +++ b/versions.sh @@ -75,11 +75,12 @@ for version in "${versions[@]}"; do empty # trailing comma hack | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( - # Alpine 3.17 defaults to OpenSSL 3 which is not supported (yet?) by Ruby 2.7 or 3.0 + # Alpine 3.17+ defaults to OpenSSL 3 which is not supported (yet?) by Ruby 2.7 or 3.0 # https://bugs.ruby-lang.org/issues/18658 # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 if [ "2.7", "3.0" ] | index(env.version) then empty else "3.17", + "3.18", empty # trailing comma hack end, "3.16", From 10e743ee7f6444f683d184c8b5d3fbd23a15acae Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 10 May 2023 15:08:13 -0700 Subject: [PATCH 064/132] Remove Alpine 3.16 from most versions (max 2 supported Alpine versions at a time), fix ordering --- 3.1/alpine3.16/Dockerfile | 141 -------------------------------- 3.2/alpine3.16/Dockerfile | 165 -------------------------------------- versions.json | 6 +- versions.sh | 8 +- 4 files changed, 5 insertions(+), 315 deletions(-) delete mode 100644 3.1/alpine3.16/Dockerfile delete mode 100644 3.2/alpine3.16/Dockerfile diff --git a/3.1/alpine3.16/Dockerfile b/3.1/alpine3.16/Dockerfile deleted file mode 100644 index 007b802002..0000000000 --- a/3.1/alpine3.16/Dockerfile +++ /dev/null @@ -1,141 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.16 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.4 -ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.2/alpine3.16/Dockerfile b/3.2/alpine3.16/Dockerfile deleted file mode 100644 index a813244cd3..0000000000 --- a/3.2/alpine3.16/Dockerfile +++ /dev/null @@ -1,165 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.16 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.2 -ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - rustArch=; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/versions.json b/versions.json index d4aecf2446..0d8a13b66d 100644 --- a/versions.json +++ b/versions.json @@ -29,8 +29,7 @@ "buster", "slim-buster", "alpine3.18", - "alpine3.17", - "alpine3.16" + "alpine3.17" ], "version": "3.1.4" }, @@ -74,8 +73,7 @@ "buster", "slim-buster", "alpine3.18", - "alpine3.17", - "alpine3.16" + "alpine3.17" ], "version": "3.2.2" } diff --git a/versions.sh b/versions.sh index c27a96ad98..e9dde46d12 100755 --- a/versions.sh +++ b/versions.sh @@ -78,13 +78,11 @@ for version in "${versions[@]}"; do # Alpine 3.17+ defaults to OpenSSL 3 which is not supported (yet?) by Ruby 2.7 or 3.0 # https://bugs.ruby-lang.org/issues/18658 # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 - if [ "2.7", "3.0" ] | index(env.version) then empty else - "3.17", + if [ "2.7", "3.0" ] | index(env.version) then "3.16" else "3.18", + "3.17", empty # trailing comma hack - end, - "3.16", - empty # trailing comma hack + end | "alpine" + .) ], } From 26a1dafd81f4798c0aa44942412fe0465ce3c30d Mon Sep 17 00:00:00 2001 From: Joseph Ferguson Date: Wed, 10 May 2023 15:59:18 -0700 Subject: [PATCH 065/132] Drop EOL 2.7 --- 2.7/alpine3.16/Dockerfile | 150 ---------------------------------- 2.7/bullseye/Dockerfile | 95 --------------------- 2.7/buster/Dockerfile | 95 --------------------- 2.7/slim-bullseye/Dockerfile | 122 --------------------------- 2.7/slim-buster/Dockerfile | 122 --------------------------- Dockerfile.template | 2 +- generate-stackbrew-library.sh | 1 - versions.json | 11 --- versions.sh | 6 +- 9 files changed, 4 insertions(+), 600 deletions(-) delete mode 100644 2.7/alpine3.16/Dockerfile delete mode 100644 2.7/bullseye/Dockerfile delete mode 100644 2.7/buster/Dockerfile delete mode 100644 2.7/slim-bullseye/Dockerfile delete mode 100644 2.7/slim-buster/Dockerfile diff --git a/2.7/alpine3.16/Dockerfile b/2.7/alpine3.16/Dockerfile deleted file mode 100644 index 3350c01753..0000000000 --- a/2.7/alpine3.16/Dockerfile +++ /dev/null @@ -1,150 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.16 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.8 -ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 - # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - s390x | armhf | armv7) \ - apk add --no-cache libucontext-dev; \ - export LIBS='-lucontext'; \ - ;; \ - esac; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.7/bullseye/Dockerfile b/2.7/bullseye/Dockerfile deleted file mode 100644 index 235d087daf..0000000000 --- a/2.7/bullseye/Dockerfile +++ /dev/null @@ -1,95 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bullseye - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.8 -ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | grep -vE '^/usr/local/lib/' \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.7/buster/Dockerfile b/2.7/buster/Dockerfile deleted file mode 100644 index ace35dbd3a..0000000000 --- a/2.7/buster/Dockerfile +++ /dev/null @@ -1,95 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:buster - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.8 -ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | grep -vE '^/usr/local/lib/' \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.7/slim-bullseye/Dockerfile b/2.7/slim-bullseye/Dockerfile deleted file mode 100644 index 84d9c39036..0000000000 --- a/2.7/slim-bullseye/Dockerfile +++ /dev/null @@ -1,122 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bullseye-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.8 -ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | grep -vE '^/usr/local/lib/' \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile deleted file mode 100644 index c2884ea592..0000000000 --- a/2.7/slim-buster/Dockerfile +++ /dev/null @@ -1,122 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:buster-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 -ENV RUBY_MAJOR 2.7 -ENV RUBY_VERSION 2.7.8 -ENV RUBY_DOWNLOAD_SHA256 f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ - | sort -u \ - | grep -vE '^/usr/local/lib/' \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/Dockerfile.template b/Dockerfile.template index a58bf00e99..39aff0610d 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -218,7 +218,7 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ -{{ if is_alpine and ( [ "2.7", "3.0" ] | index(env.version) ) then ( -}} +{{ if is_alpine and "3.0" == env.version then ( -}} # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 {{ if .rust.version then "" else ( -}} diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 23f8629606..398f7d4f36 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -3,7 +3,6 @@ set -Eeuo pipefail declare -A aliases=( [3.2]='3 latest' - [2.7]='2' ) self="$(basename "$BASH_SOURCE")" diff --git a/versions.json b/versions.json index 0d8a13b66d..83f046b785 100644 --- a/versions.json +++ b/versions.json @@ -1,15 +1,4 @@ { - "2.7": { - "sha256": "f22f662da504d49ce2080e446e4bea7008cee11d5ec4858fc69000d0e5b1d7fb", - "variants": [ - "bullseye", - "slim-bullseye", - "buster", - "slim-buster", - "alpine3.16" - ], - "version": "2.7.8" - }, "3.0": { "sha256": "b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1", "variants": [ diff --git a/versions.sh b/versions.sh index e9dde46d12..5cac8c3cb5 100755 --- a/versions.sh +++ b/versions.sh @@ -75,10 +75,10 @@ for version in "${versions[@]}"; do empty # trailing comma hack | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( - # Alpine 3.17+ defaults to OpenSSL 3 which is not supported (yet?) by Ruby 2.7 or 3.0 + # Alpine 3.17+ defaults to OpenSSL 3 which is not supported by Ruby 3.0 # https://bugs.ruby-lang.org/issues/18658 # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 - if [ "2.7", "3.0" ] | index(env.version) then "3.16" else + if "3.0" == env.version then "3.16" else "3.18", "3.17", empty # trailing comma hack @@ -89,7 +89,7 @@ for version in "${versions[@]}"; do ')" case "$rcVersion" in - 2.7 | 3.0 | 3.1) ;; + 3.0 | 3.1) ;; *) # YJIT doc="$(jq <<<"$doc" -sc ' From b0be6d1004b0c0665366402905347a85f115b324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Codru=C8=9B=20Constantin=20Gu=C8=99oi?= Date: Sat, 13 May 2023 14:38:42 +0100 Subject: [PATCH 066/132] Add ruby 3.3.0-preview1 Released on 12 May 2023. https://www.ruby-lang.org/en/news/2023/05/12/ruby-3-3-0-preview1-released/ --- 3.3-rc/alpine3.17/Dockerfile | 165 ++++++++++++++++++++++++++++++++ 3.3-rc/alpine3.18/Dockerfile | 165 ++++++++++++++++++++++++++++++++ 3.3-rc/bullseye/Dockerfile | 119 +++++++++++++++++++++++ 3.3-rc/buster/Dockerfile | 119 +++++++++++++++++++++++ 3.3-rc/slim-bullseye/Dockerfile | 146 ++++++++++++++++++++++++++++ 3.3-rc/slim-buster/Dockerfile | 146 ++++++++++++++++++++++++++++ versions.json | 44 +++++++++ 7 files changed, 904 insertions(+) create mode 100644 3.3-rc/alpine3.17/Dockerfile create mode 100644 3.3-rc/alpine3.18/Dockerfile create mode 100644 3.3-rc/bullseye/Dockerfile create mode 100644 3.3-rc/buster/Dockerfile create mode 100644 3.3-rc/slim-bullseye/Dockerfile create mode 100644 3.3-rc/slim-buster/Dockerfile diff --git a/3.3-rc/alpine3.17/Dockerfile b/3.3-rc/alpine3.17/Dockerfile new file mode 100644 index 0000000000..6e1a022980 --- /dev/null +++ b/3.3-rc/alpine3.17/Dockerfile @@ -0,0 +1,165 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.17 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.3-rc +ENV RUBY_VERSION 3.3.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3-rc/alpine3.18/Dockerfile b/3.3-rc/alpine3.18/Dockerfile new file mode 100644 index 0000000000..95bb7033b6 --- /dev/null +++ b/3.3-rc/alpine3.18/Dockerfile @@ -0,0 +1,165 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.18 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.3-rc +ENV RUBY_VERSION 3.3.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ +# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + readline-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3-rc/bullseye/Dockerfile b/3.3-rc/bullseye/Dockerfile new file mode 100644 index 0000000000..ef2b7ce226 --- /dev/null +++ b/3.3-rc/bullseye/Dockerfile @@ -0,0 +1,119 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.3-rc +ENV RUBY_VERSION 3.3.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3-rc/buster/Dockerfile b/3.3-rc/buster/Dockerfile new file mode 100644 index 0000000000..905a428f5c --- /dev/null +++ b/3.3-rc/buster/Dockerfile @@ -0,0 +1,119 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:buster + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.3-rc +ENV RUBY_VERSION 3.3.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..0381025f2b --- /dev/null +++ b/3.3-rc/slim-bullseye/Dockerfile @@ -0,0 +1,146 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.3-rc +ENV RUBY_VERSION 3.3.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3-rc/slim-buster/Dockerfile b/3.3-rc/slim-buster/Dockerfile new file mode 100644 index 0000000000..8a167b6f19 --- /dev/null +++ b/3.3-rc/slim-buster/Dockerfile @@ -0,0 +1,146 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:buster-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 +ENV RUBY_MAJOR 3.3-rc +ENV RUBY_VERSION 3.3.0-preview1 +ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libreadline-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | grep -vE '^/usr/local/lib/' \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/versions.json b/versions.json index 83f046b785..04f7764c52 100644 --- a/versions.json +++ b/versions.json @@ -65,5 +65,49 @@ "alpine3.17" ], "version": "3.2.2" + }, + "3.3-rc": { + "rust": { + "version": "1.66.0" + }, + "rustup": { + "arches": { + "amd64": { + "glibc": { + "arch": "x86_64-unknown-linux-gnu", + "sha256": "5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "x86_64-unknown-linux-musl", + "sha256": "95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init" + } + }, + "arm64v8": { + "glibc": { + "arch": "aarch64-unknown-linux-gnu", + "sha256": "e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "aarch64-unknown-linux-musl", + "sha256": "7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda", + "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init" + } + } + }, + "version": "1.25.1" + }, + "sha256": "ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb", + "variants": [ + "bullseye", + "slim-bullseye", + "buster", + "slim-buster", + "alpine3.18", + "alpine3.17" + ], + "version": "3.3.0-preview1" } } From 8940c5948e376abce960aa427d45833b1af728e1 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 15 May 2023 14:40:39 -0700 Subject: [PATCH 067/132] Fix spurious 404s in "versions.sh" Also, update "large HTML" returns to store less raw content so the script is easier to debug. --- versions.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/versions.sh b/versions.sh index 5cac8c3cb5..090102643b 100755 --- a/versions.sh +++ b/versions.sh @@ -12,8 +12,8 @@ else fi versions=( "${versions[@]%/}" ) -releasesPage="$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/')" -newsPage="$(curl -fsSL 'https://www.ruby-lang.org/en/news/')" # occasionally, releases don't show up on the Releases page (see https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml) +releasesPage="$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/' | grep -A 2 'Ruby')" # very wide grep to cut down on "set -x" output when debugging (should match the one later) +newsPage="$(curl -fsSL 'https://www.ruby-lang.org/en/news/' | grep 'Released')" # occasionally, releases don't show up on the Releases page (see https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml) # TODO consider parsing https://github.com/ruby/www.ruby-lang.org/blob/master/_data/downloads.yml as well for version in "${versions[@]}"; do @@ -39,14 +39,14 @@ for version in "${versions[@]}"; do { versionReleasePage="$(grep "Ruby $tryVersion" -A 2 <<<"$releasesPage" | awk -F '"' '$1 == "Ruby '"$tryVersion"' Released' | cut -d'"' -f2)" \ + versionReleasePage="$(grep -oE 'Ruby '"$tryVersion"' Released' <<<"$newsPage" | cut -d'"' -f2)" \ && [ -n "$versionReleasePage" ] \ - && shaVal="$(curl -fsSL "https://www.ruby-lang.org/$versionReleasePage" | grep "ruby-$tryVersion.tar.xz" -A 5)" \ + && shaVal="$(curl -fsL "https://www.ruby-lang.org/$versionReleasePage" | grep "ruby-$tryVersion.tar.xz" -A 5)" \ && shaVal="$(awk <<<"$shaVal" '$1 == "SHA256:" { print $2; exit }')" \ && [ -n "$shaVal" ] } \ From 39aa7dd5e4ebeef3f466d486f1094b09e41d6c5b Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 15 May 2023 14:50:09 -0700 Subject: [PATCH 068/132] Remove unnecessary readline headers in 3.3+ Also, remove now unnecessary comment. See https://github.com/ruby/ruby/blob/v3_3_0_preview1/NEWS.md#extreadline-is-retired --- 3.0/alpine3.16/Dockerfile | 1 - 3.1/alpine3.17/Dockerfile | 1 - 3.1/alpine3.18/Dockerfile | 1 - 3.2/alpine3.17/Dockerfile | 1 - 3.2/alpine3.18/Dockerfile | 1 - 3.3-rc/alpine3.17/Dockerfile | 2 -- 3.3-rc/alpine3.18/Dockerfile | 2 -- 3.3-rc/slim-bullseye/Dockerfile | 1 - 3.3-rc/slim-buster/Dockerfile | 1 - Dockerfile.template | 7 +++++-- 10 files changed, 5 insertions(+), 13 deletions(-) diff --git a/3.0/alpine3.16/Dockerfile b/3.0/alpine3.16/Dockerfile index e11ab34cdd..377e2f8d29 100644 --- a/3.0/alpine3.16/Dockerfile +++ b/3.0/alpine3.16/Dockerfile @@ -34,7 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea2 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ diff --git a/3.1/alpine3.17/Dockerfile b/3.1/alpine3.17/Dockerfile index 0858dd60d8..2524ac4651 100644 --- a/3.1/alpine3.17/Dockerfile +++ b/3.1/alpine3.17/Dockerfile @@ -34,7 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a69 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ diff --git a/3.1/alpine3.18/Dockerfile b/3.1/alpine3.18/Dockerfile index 679171a895..4bc3519e2a 100644 --- a/3.1/alpine3.18/Dockerfile +++ b/3.1/alpine3.18/Dockerfile @@ -34,7 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a69 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ diff --git a/3.2/alpine3.17/Dockerfile b/3.2/alpine3.17/Dockerfile index 98ed500fac..86daae5e35 100644 --- a/3.2/alpine3.17/Dockerfile +++ b/3.2/alpine3.17/Dockerfile @@ -34,7 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ diff --git a/3.2/alpine3.18/Dockerfile b/3.2/alpine3.18/Dockerfile index 17449c0a15..86d177b2c7 100644 --- a/3.2/alpine3.18/Dockerfile +++ b/3.2/alpine3.18/Dockerfile @@ -34,7 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ diff --git a/3.3-rc/alpine3.17/Dockerfile b/3.3-rc/alpine3.17/Dockerfile index 6e1a022980..ec797eba84 100644 --- a/3.3-rc/alpine3.17/Dockerfile +++ b/3.3-rc/alpine3.17/Dockerfile @@ -34,7 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -58,7 +57,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - readline-dev \ ruby \ tar \ xz \ diff --git a/3.3-rc/alpine3.18/Dockerfile b/3.3-rc/alpine3.18/Dockerfile index 95bb7033b6..516cadaaae 100644 --- a/3.3-rc/alpine3.18/Dockerfile +++ b/3.3-rc/alpine3.18/Dockerfile @@ -34,7 +34,6 @@ ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795 # we purge system ruby later to make sure our final image uses what we just built RUN set -eux; \ \ -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -58,7 +57,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - readline-dev \ ruby \ tar \ xz \ diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile index 0381025f2b..7a38e1fe17 100644 --- a/3.3-rc/slim-bullseye/Dockerfile +++ b/3.3-rc/slim-bullseye/Dockerfile @@ -51,7 +51,6 @@ RUN set -eux; \ libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ - libreadline-dev \ libxml2-dev \ libxslt-dev \ make \ diff --git a/3.3-rc/slim-buster/Dockerfile b/3.3-rc/slim-buster/Dockerfile index 8a167b6f19..236bf39d90 100644 --- a/3.3-rc/slim-buster/Dockerfile +++ b/3.3-rc/slim-buster/Dockerfile @@ -51,7 +51,6 @@ RUN set -eux; \ libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ - libreadline-dev \ libxml2-dev \ libxslt-dev \ make \ diff --git a/Dockerfile.template b/Dockerfile.template index 39aff0610d..33ecb3b5fc 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -59,7 +59,6 @@ ENV RUBY_DOWNLOAD_SHA256 {{ .sha256 }} RUN set -eux; \ \ {{ if is_alpine then ( -}} -# readline-dev vs libedit-dev: https://bugs.ruby-lang.org/issues/11869 and https://github.com/docker-library/ruby/issues/75 apk add --no-cache --virtual .ruby-builddeps \ autoconf \ bison \ @@ -83,7 +82,9 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ +{{ if [ "3.0", "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} readline-dev \ +{{ ) else "" end -}} ruby \ tar \ xz \ @@ -106,7 +107,9 @@ RUN set -eux; \ libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ +{{ if [ "3.0", "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} libreadline-dev \ +{{ ) else "" end -}} libxml2-dev \ libxslt-dev \ make \ @@ -218,7 +221,7 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ -{{ if is_alpine and "3.0" == env.version then ( -}} +{{ if is_alpine and "3.0" == (env.version | rtrimstr("-rc")) then ( -}} # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 {{ if .rust.version then "" else ( -}} From ed1be47a38a7a24a0aa03c450549afcb592f02a8 Mon Sep 17 00:00:00 2001 From: Ivan Prisyazhnyy Date: Wed, 5 Apr 2023 12:43:34 +0200 Subject: [PATCH 069/132] Add debian:bookworm, drop buster Signed-off-by: Ivan Prisyazhnyy --- 3.0/bullseye/Dockerfile | 3 +-- 3.0/buster/Dockerfile | 3 +-- 3.0/slim-bullseye/Dockerfile | 3 +-- 3.0/slim-buster/Dockerfile | 3 +-- 3.1/{buster => bookworm}/Dockerfile | 5 ++--- 3.1/bullseye/Dockerfile | 3 +-- 3.1/{slim-buster => slim-bookworm}/Dockerfile | 5 ++--- 3.1/slim-bullseye/Dockerfile | 3 +-- 3.2/{buster => bookworm}/Dockerfile | 5 ++--- 3.2/bullseye/Dockerfile | 3 +-- 3.2/{slim-buster => slim-bookworm}/Dockerfile | 5 ++--- 3.2/slim-bullseye/Dockerfile | 3 +-- 3.3-rc/{buster => bookworm}/Dockerfile | 5 ++--- 3.3-rc/bullseye/Dockerfile | 3 +-- 3.3-rc/{slim-buster => slim-bookworm}/Dockerfile | 5 ++--- 3.3-rc/slim-bullseye/Dockerfile | 3 +-- Dockerfile.template | 3 +-- versions.json | 12 ++++++------ versions.sh | 13 ++++++++++--- 19 files changed, 39 insertions(+), 49 deletions(-) rename 3.1/{buster => bookworm}/Dockerfile (94%) rename 3.1/{slim-buster => slim-bookworm}/Dockerfile (95%) rename 3.2/{buster => bookworm}/Dockerfile (96%) rename 3.2/{slim-buster => slim-bookworm}/Dockerfile (96%) rename 3.3-rc/{buster => bookworm}/Dockerfile (96%) rename 3.3-rc/{slim-buster => slim-bookworm}/Dockerfile (96%) diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index 3b917a9551..a348d95d8c 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -64,9 +64,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index 03abed05ff..0f67902bd7 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -64,9 +64,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index 26b331f686..66ab15e3c9 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -91,9 +91,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index 9f755b058f..956097c485 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -91,9 +91,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.1/buster/Dockerfile b/3.1/bookworm/Dockerfile similarity index 94% rename from 3.1/buster/Dockerfile rename to 3.1/bookworm/Dockerfile index f50561f2a0..97991aa81b 100644 --- a/3.1/buster/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM buildpack-deps:buster +FROM buildpack-deps:bookworm # skip installing gem documentation RUN set -eux; \ @@ -64,9 +64,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 5851055de9..80f0ec1ad6 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -64,9 +64,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.1/slim-buster/Dockerfile b/3.1/slim-bookworm/Dockerfile similarity index 95% rename from 3.1/slim-buster/Dockerfile rename to 3.1/slim-bookworm/Dockerfile index 887f3916a9..fef9c14ad4 100644 --- a/3.1/slim-buster/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM debian:buster-slim +FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ @@ -91,9 +91,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 9551c6b9b4..346266152c 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -91,9 +91,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.2/buster/Dockerfile b/3.2/bookworm/Dockerfile similarity index 96% rename from 3.2/buster/Dockerfile rename to 3.2/bookworm/Dockerfile index 48d07be313..b56f1ce1f1 100644 --- a/3.2/buster/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM buildpack-deps:buster +FROM buildpack-deps:bookworm # skip installing gem documentation RUN set -eux; \ @@ -88,9 +88,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 47d83c1c20..d4d54ffdc3 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -88,9 +88,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.2/slim-buster/Dockerfile b/3.2/slim-bookworm/Dockerfile similarity index 96% rename from 3.2/slim-buster/Dockerfile rename to 3.2/slim-bookworm/Dockerfile index 4eae3f543a..9adf74dee0 100644 --- a/3.2/slim-buster/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM debian:buster-slim +FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ @@ -115,9 +115,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 6ca0fa2933..775022ad6f 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -115,9 +115,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.3-rc/buster/Dockerfile b/3.3-rc/bookworm/Dockerfile similarity index 96% rename from 3.3-rc/buster/Dockerfile rename to 3.3-rc/bookworm/Dockerfile index 905a428f5c..9159abc495 100644 --- a/3.3-rc/buster/Dockerfile +++ b/3.3-rc/bookworm/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM buildpack-deps:buster +FROM buildpack-deps:bookworm # skip installing gem documentation RUN set -eux; \ @@ -88,9 +88,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.3-rc/bullseye/Dockerfile b/3.3-rc/bullseye/Dockerfile index ef2b7ce226..eedcf34f60 100644 --- a/3.3-rc/bullseye/Dockerfile +++ b/3.3-rc/bullseye/Dockerfile @@ -88,9 +88,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.3-rc/slim-buster/Dockerfile b/3.3-rc/slim-bookworm/Dockerfile similarity index 96% rename from 3.3-rc/slim-buster/Dockerfile rename to 3.3-rc/slim-bookworm/Dockerfile index 236bf39d90..c116a36788 100644 --- a/3.3-rc/slim-buster/Dockerfile +++ b/3.3-rc/slim-bookworm/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM debian:buster-slim +FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ @@ -114,9 +114,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile index 7a38e1fe17..c2f6993de2 100644 --- a/3.3-rc/slim-bullseye/Dockerfile +++ b/3.3-rc/slim-bullseye/Dockerfile @@ -114,9 +114,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/Dockerfile.template b/Dockerfile.template index 33ecb3b5fc..c81cc16bdb 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -262,9 +262,8 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { print $(NF-1) }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ | sort -u \ - | grep -vE '^/usr/local/lib/' \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ diff --git a/versions.json b/versions.json index 04f7764c52..40cd759183 100644 --- a/versions.json +++ b/versions.json @@ -13,10 +13,10 @@ "3.1": { "sha256": "1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f", "variants": [ + "bookworm", + "slim-bookworm", "bullseye", "slim-bullseye", - "buster", - "slim-buster", "alpine3.18", "alpine3.17" ], @@ -57,10 +57,10 @@ }, "sha256": "4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23", "variants": [ + "bookworm", + "slim-bookworm", "bullseye", "slim-bullseye", - "buster", - "slim-buster", "alpine3.18", "alpine3.17" ], @@ -101,10 +101,10 @@ }, "sha256": "ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb", "variants": [ + "bookworm", + "slim-bookworm", "bullseye", "slim-bullseye", - "buster", - "slim-buster", "alpine3.18", "alpine3.17" ], diff --git a/versions.sh b/versions.sh index 090102643b..d887f0c736 100755 --- a/versions.sh +++ b/versions.sh @@ -70,9 +70,16 @@ for version in "${versions[@]}"; do sha256: env.shaVal, variants: [ ( - "bullseye", - "buster", - empty # trailing comma hack + # https://bugs.ruby-lang.org/issues/18658 + # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 + if "3.0" == env.version then + "bullseye", + "buster" + else + "bookworm", + "bullseye", + empty # trailing comma hack + end | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( # Alpine 3.17+ defaults to OpenSSL 3 which is not supported by Ruby 3.0 From 31c1fdba369192fe2c3cf327d7d98819edc1400b Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 14 Sep 2023 04:03:25 -0700 Subject: [PATCH 070/132] Update 3.3-rc to 3.3.0-preview2 --- 3.3-rc/alpine3.17/Dockerfile | 4 ++-- 3.3-rc/alpine3.18/Dockerfile | 4 ++-- 3.3-rc/bookworm/Dockerfile | 4 ++-- 3.3-rc/bullseye/Dockerfile | 4 ++-- 3.3-rc/slim-bookworm/Dockerfile | 4 ++-- 3.3-rc/slim-bullseye/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.3-rc/alpine3.17/Dockerfile b/3.3-rc/alpine3.17/Dockerfile index ec797eba84..a34c4a547a 100644 --- a/3.3-rc/alpine3.17/Dockerfile +++ b/3.3-rc/alpine3.17/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb +ENV RUBY_VERSION 3.3.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/alpine3.18/Dockerfile b/3.3-rc/alpine3.18/Dockerfile index 516cadaaae..ea272e1310 100644 --- a/3.3-rc/alpine3.18/Dockerfile +++ b/3.3-rc/alpine3.18/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb +ENV RUBY_VERSION 3.3.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/bookworm/Dockerfile b/3.3-rc/bookworm/Dockerfile index 9159abc495..c03105aabb 100644 --- a/3.3-rc/bookworm/Dockerfile +++ b/3.3-rc/bookworm/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb +ENV RUBY_VERSION 3.3.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/bullseye/Dockerfile b/3.3-rc/bullseye/Dockerfile index eedcf34f60..e857057719 100644 --- a/3.3-rc/bullseye/Dockerfile +++ b/3.3-rc/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb +ENV RUBY_VERSION 3.3.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/slim-bookworm/Dockerfile b/3.3-rc/slim-bookworm/Dockerfile index c116a36788..7de520786e 100644 --- a/3.3-rc/slim-bookworm/Dockerfile +++ b/3.3-rc/slim-bookworm/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb +ENV RUBY_VERSION 3.3.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile index c2f6993de2..09179fe709 100644 --- a/3.3-rc/slim-bullseye/Dockerfile +++ b/3.3-rc/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview1 -ENV RUBY_DOWNLOAD_SHA256 ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb +ENV RUBY_VERSION 3.3.0-preview2 +ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 40cd759183..c16757392e 100644 --- a/versions.json +++ b/versions.json @@ -99,7 +99,7 @@ }, "version": "1.25.1" }, - "sha256": "ae300b49e06c13087dd163b97eddd38db895dc8e0c9904284119795d75303fbb", + "sha256": "62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1", "variants": [ "bookworm", "slim-bookworm", @@ -108,6 +108,6 @@ "alpine3.18", "alpine3.17" ], - "version": "3.3.0-preview1" + "version": "3.3.0-preview2" } } From 897d5b47686172a3ad13fd6ddc48f6eaabf151c7 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Sun, 12 Nov 2023 04:03:20 -0800 Subject: [PATCH 071/132] Update 3.3-rc to 3.3.0-preview3 --- 3.3-rc/alpine3.17/Dockerfile | 4 ++-- 3.3-rc/alpine3.18/Dockerfile | 4 ++-- 3.3-rc/bookworm/Dockerfile | 4 ++-- 3.3-rc/bullseye/Dockerfile | 4 ++-- 3.3-rc/slim-bookworm/Dockerfile | 4 ++-- 3.3-rc/slim-bullseye/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.3-rc/alpine3.17/Dockerfile b/3.3-rc/alpine3.17/Dockerfile index a34c4a547a..b1c0d16191 100644 --- a/3.3-rc/alpine3.17/Dockerfile +++ b/3.3-rc/alpine3.17/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 +ENV RUBY_VERSION 3.3.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/alpine3.18/Dockerfile b/3.3-rc/alpine3.18/Dockerfile index ea272e1310..fe6842ccbf 100644 --- a/3.3-rc/alpine3.18/Dockerfile +++ b/3.3-rc/alpine3.18/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 +ENV RUBY_VERSION 3.3.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/bookworm/Dockerfile b/3.3-rc/bookworm/Dockerfile index c03105aabb..730b40709e 100644 --- a/3.3-rc/bookworm/Dockerfile +++ b/3.3-rc/bookworm/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 +ENV RUBY_VERSION 3.3.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/bullseye/Dockerfile b/3.3-rc/bullseye/Dockerfile index e857057719..4d3a02387f 100644 --- a/3.3-rc/bullseye/Dockerfile +++ b/3.3-rc/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 +ENV RUBY_VERSION 3.3.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/slim-bookworm/Dockerfile b/3.3-rc/slim-bookworm/Dockerfile index 7de520786e..a50cfca375 100644 --- a/3.3-rc/slim-bookworm/Dockerfile +++ b/3.3-rc/slim-bookworm/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 +ENV RUBY_VERSION 3.3.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile index 09179fe709..fbd06f7a18 100644 --- a/3.3-rc/slim-bullseye/Dockerfile +++ b/3.3-rc/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview2 -ENV RUBY_DOWNLOAD_SHA256 62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1 +ENV RUBY_VERSION 3.3.0-preview3 +ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index c16757392e..741f9817b0 100644 --- a/versions.json +++ b/versions.json @@ -99,7 +99,7 @@ }, "version": "1.25.1" }, - "sha256": "62b1c4f586c70bf1cb58f2d909d0d824506315782e835f9dd3fcc0b659a70fc1", + "sha256": "f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355", "variants": [ "bookworm", "slim-bookworm", @@ -108,6 +108,6 @@ "alpine3.18", "alpine3.17" ], - "version": "3.3.0-preview2" + "version": "3.3.0-preview3" } } From 61a806938da52038916a8fd7b9b4373937bdc28f Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Fri, 8 Dec 2023 09:03:46 +0100 Subject: [PATCH 072/132] Add alpine 3.19 --- 3.1/{alpine3.17 => alpine3.19}/Dockerfile | 2 +- 3.2/{alpine3.17 => alpine3.19}/Dockerfile | 2 +- 3.3-rc/{alpine3.17 => alpine3.19}/Dockerfile | 2 +- versions.json | 12 ++++++------ versions.sh | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) rename 3.1/{alpine3.17 => alpine3.19}/Dockerfile (99%) rename 3.2/{alpine3.17 => alpine3.19}/Dockerfile (99%) rename 3.3-rc/{alpine3.17 => alpine3.19}/Dockerfile (99%) diff --git a/3.1/alpine3.17/Dockerfile b/3.1/alpine3.19/Dockerfile similarity index 99% rename from 3.1/alpine3.17/Dockerfile rename to 3.1/alpine3.19/Dockerfile index 2524ac4651..d5b4dbc879 100644 --- a/3.1/alpine3.17/Dockerfile +++ b/3.1/alpine3.19/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.17 +FROM alpine:3.19 RUN set -eux; \ apk add --no-cache \ diff --git a/3.2/alpine3.17/Dockerfile b/3.2/alpine3.19/Dockerfile similarity index 99% rename from 3.2/alpine3.17/Dockerfile rename to 3.2/alpine3.19/Dockerfile index 86daae5e35..7488be0616 100644 --- a/3.2/alpine3.17/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.17 +FROM alpine:3.19 RUN set -eux; \ apk add --no-cache \ diff --git a/3.3-rc/alpine3.17/Dockerfile b/3.3-rc/alpine3.19/Dockerfile similarity index 99% rename from 3.3-rc/alpine3.17/Dockerfile rename to 3.3-rc/alpine3.19/Dockerfile index b1c0d16191..8f3f77250b 100644 --- a/3.3-rc/alpine3.17/Dockerfile +++ b/3.3-rc/alpine3.19/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.17 +FROM alpine:3.19 RUN set -eux; \ apk add --no-cache \ diff --git a/versions.json b/versions.json index 741f9817b0..08893fa2e2 100644 --- a/versions.json +++ b/versions.json @@ -17,8 +17,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.18", - "alpine3.17" + "alpine3.19", + "alpine3.18" ], "version": "3.1.4" }, @@ -61,8 +61,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.18", - "alpine3.17" + "alpine3.19", + "alpine3.18" ], "version": "3.2.2" }, @@ -105,8 +105,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.18", - "alpine3.17" + "alpine3.19", + "alpine3.18" ], "version": "3.3.0-preview3" } diff --git a/versions.sh b/versions.sh index d887f0c736..061ee394a1 100755 --- a/versions.sh +++ b/versions.sh @@ -86,8 +86,8 @@ for version in "${versions[@]}"; do # https://bugs.ruby-lang.org/issues/18658 # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 if "3.0" == env.version then "3.16" else + "3.19", "3.18", - "3.17", empty # trailing comma hack end | "alpine" + .) From 423e364cd1681dac6b5afd6191d774aaa1cf6161 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Fri, 8 Dec 2023 09:27:14 +0100 Subject: [PATCH 073/132] Bump rust version Needed for alpine 3.19 to work with ruby 3.2/3.3-rc --- 3.2/alpine3.18/Dockerfile | 6 ++--- 3.2/alpine3.19/Dockerfile | 6 ++--- 3.2/bookworm/Dockerfile | 6 ++--- 3.2/bullseye/Dockerfile | 6 ++--- 3.2/slim-bookworm/Dockerfile | 6 ++--- 3.2/slim-bullseye/Dockerfile | 6 ++--- 3.3-rc/alpine3.18/Dockerfile | 6 ++--- 3.3-rc/alpine3.19/Dockerfile | 6 ++--- 3.3-rc/bookworm/Dockerfile | 6 ++--- 3.3-rc/bullseye/Dockerfile | 6 ++--- 3.3-rc/slim-bookworm/Dockerfile | 6 ++--- 3.3-rc/slim-bullseye/Dockerfile | 6 ++--- rust.json | 48 ++++++++++++++++----------------- versions.json | 40 +++++++++++++-------------- 14 files changed, 80 insertions(+), 80 deletions(-) diff --git a/3.2/alpine3.18/Dockerfile b/3.2/alpine3.18/Dockerfile index 86d177b2c7..b80ebd39d8 100644 --- a/3.2/alpine3.18/Dockerfile +++ b/3.2/alpine3.18/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index 7488be0616..f5dfda1f1e 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index b56f1ce1f1..522d36dfd4 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -36,8 +36,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -49,7 +49,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index d4d54ffdc3..273e0b659f 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -36,8 +36,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -49,7 +49,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 9adf74dee0..c618e9a26d 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 775022ad6f..363ec92e44 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3-rc/alpine3.18/Dockerfile b/3.3-rc/alpine3.18/Dockerfile index fe6842ccbf..1e2ea36e3d 100644 --- a/3.3-rc/alpine3.18/Dockerfile +++ b/3.3-rc/alpine3.18/Dockerfile @@ -67,8 +67,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -80,7 +80,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3-rc/alpine3.19/Dockerfile b/3.3-rc/alpine3.19/Dockerfile index 8f3f77250b..9bacaf1988 100644 --- a/3.3-rc/alpine3.19/Dockerfile +++ b/3.3-rc/alpine3.19/Dockerfile @@ -67,8 +67,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -80,7 +80,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3-rc/bookworm/Dockerfile b/3.3-rc/bookworm/Dockerfile index 730b40709e..37458ffacc 100644 --- a/3.3-rc/bookworm/Dockerfile +++ b/3.3-rc/bookworm/Dockerfile @@ -36,8 +36,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -49,7 +49,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3-rc/bullseye/Dockerfile b/3.3-rc/bullseye/Dockerfile index 4d3a02387f..090343d4aa 100644 --- a/3.3-rc/bullseye/Dockerfile +++ b/3.3-rc/bullseye/Dockerfile @@ -36,8 +36,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -49,7 +49,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3-rc/slim-bookworm/Dockerfile b/3.3-rc/slim-bookworm/Dockerfile index a50cfca375..a38c85f40e 100644 --- a/3.3-rc/slim-bookworm/Dockerfile +++ b/3.3-rc/slim-bookworm/Dockerfile @@ -62,8 +62,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -75,7 +75,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile index fbd06f7a18..602e952142 100644 --- a/3.3-rc/slim-bullseye/Dockerfile +++ b/3.3-rc/slim-bullseye/Dockerfile @@ -62,8 +62,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -75,7 +75,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.66.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/rust.json b/rust.json index d510f93c78..d95ed803a2 100644 --- a/rust.json +++ b/rust.json @@ -1,83 +1,83 @@ { "rust": { - "version": "1.66.0" + "version": "1.74.1" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init" + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" } }, "arm32v5": { "glibc": { "arch": "arm-unknown-linux-gnueabi", - "sha256": "0bd9ba41cd40945b4cadc5a8acb3a926c61f7cce5747120a0e213aae1b4ea30a", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/arm-unknown-linux-gnueabi/rustup-init" + "sha256": "1fca5ad0f877f65c76f07bb0cbbe22c28b6e4ba883bf057f1a05636e8e2a4b40", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/arm-unknown-linux-gnueabi/rustup-init" } }, "arm32v6": { "glibc": { "arch": "arm-unknown-linux-gnueabihf", - "sha256": "aad75c7c586fd5a8cc8a7153d7e574bb7a8bf39b99dd7d9dab7425143fa4a999", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/arm-unknown-linux-gnueabihf/rustup-init" + "sha256": "8f7801e93ec2c80e0253cba0e25c1085f92e8f49c7ddf9930be62d13361bd808", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/arm-unknown-linux-gnueabihf/rustup-init" } }, "arm32v7": { "glibc": { "arch": "armv7-unknown-linux-gnueabihf", - "sha256": "48c5ecfd1409da93164af20cf4ac2c6f00688b15eb6ba65047f654060c844d85", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/armv7-unknown-linux-gnueabihf/rustup-init" + "sha256": "f21c44b01678c645d8fbba1e55e4180a01ac5af2d38bcbd14aa665e0d96ed69a", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/armv7-unknown-linux-gnueabihf/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init" + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" } }, "i386": { "glibc": { "arch": "i686-unknown-linux-gnu", - "sha256": "0e0be29c560ad958ba52fcf06b3ea04435cb3cd674fbe11ce7d954093b9504fd", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/i686-unknown-linux-gnu/rustup-init" + "sha256": "e7b0f47557c1afcd86939b118cbcf7fb95a5d1d917bdd355157b63ca00fc4333", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/i686-unknown-linux-gnu/rustup-init" } }, "mips64le": { "glibc": { "arch": "mips64el-unknown-linux-gnuabi64", - "sha256": "e69193145f5f2574bf79f355b46dae3d747e8afef511aa015445c51c4d057c6f", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/mips64el-unknown-linux-gnuabi64/rustup-init" + "sha256": "b8a30dd0d0ba34324c5b2399e76ba44e50a036439cb66c92aef62b485fdc97c8", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/mips64el-unknown-linux-gnuabi64/rustup-init" } }, "ppc64le": { "glibc": { "arch": "powerpc64le-unknown-linux-gnu", - "sha256": "774f62fd927f6c29499a6caee8f534e796161321ec35435788971629bb55af8e", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/powerpc64le-unknown-linux-gnu/rustup-init" + "sha256": "1032934fb154ad2d365e02dcf770c6ecfaec6ab2987204c618c21ba841c97b44", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/powerpc64le-unknown-linux-gnu/rustup-init" } }, "s390x": { "glibc": { "arch": "s390x-unknown-linux-gnu", - "sha256": "cf5965d0e3b5f53b51d19b84c7cae2996d69277cdf280a9c07fe47418233dde9", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/s390x-unknown-linux-gnu/rustup-init" + "sha256": "414210ffd294a39ee5963e05d9f5a8435945657a1ddf74b14fd63f6eb898d69e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/s390x-unknown-linux-gnu/rustup-init" } } }, - "version": "1.25.1" + "version": "1.26.0" } } diff --git a/versions.json b/versions.json index 08893fa2e2..f51c03b6a8 100644 --- a/versions.json +++ b/versions.json @@ -24,36 +24,36 @@ }, "3.2": { "rust": { - "version": "1.66.0" + "version": "1.74.1" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init" + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init" + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.25.1" + "version": "1.26.0" }, "sha256": "4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23", "variants": [ @@ -68,36 +68,36 @@ }, "3.3-rc": { "rust": { - "version": "1.66.0" + "version": "1.74.1" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "95427cb0592e32ed39c8bd522fe2a40a746ba07afb8149f91e936cddb4d6eeac", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-musl/rustup-init" + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "e189948e396d47254103a49c987e7fb0e5dd8e34b200aa4481ecc4b8e41fb929", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "7855404cdc50c20040c743800c947b6f452490d47f8590a4a83bc6f75d1d8eda", - "url": "https://static.rust-lang.org/rustup/archive/1.25.1/aarch64-unknown-linux-musl/rustup-init" + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.25.1" + "version": "1.26.0" }, "sha256": "f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355", "variants": [ From b166ecb60c263e8880edf86b3fc8c620f7647e8e Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Mon, 11 Dec 2023 04:03:21 -0800 Subject: [PATCH 074/132] Update 3.3-rc to 3.3.0-rc1 --- 3.3-rc/alpine3.18/Dockerfile | 4 ++-- 3.3-rc/alpine3.19/Dockerfile | 4 ++-- 3.3-rc/bookworm/Dockerfile | 4 ++-- 3.3-rc/bullseye/Dockerfile | 4 ++-- 3.3-rc/slim-bookworm/Dockerfile | 4 ++-- 3.3-rc/slim-bullseye/Dockerfile | 4 ++-- versions.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.3-rc/alpine3.18/Dockerfile b/3.3-rc/alpine3.18/Dockerfile index 1e2ea36e3d..12730d35c3 100644 --- a/3.3-rc/alpine3.18/Dockerfile +++ b/3.3-rc/alpine3.18/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 +ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/alpine3.19/Dockerfile b/3.3-rc/alpine3.19/Dockerfile index 9bacaf1988..05358035e7 100644 --- a/3.3-rc/alpine3.19/Dockerfile +++ b/3.3-rc/alpine3.19/Dockerfile @@ -27,8 +27,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 +ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/bookworm/Dockerfile b/3.3-rc/bookworm/Dockerfile index 37458ffacc..7993f281a6 100644 --- a/3.3-rc/bookworm/Dockerfile +++ b/3.3-rc/bookworm/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 +ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/bullseye/Dockerfile b/3.3-rc/bullseye/Dockerfile index 090343d4aa..c73d4e0f46 100644 --- a/3.3-rc/bullseye/Dockerfile +++ b/3.3-rc/bullseye/Dockerfile @@ -16,8 +16,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 +ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/slim-bookworm/Dockerfile b/3.3-rc/slim-bookworm/Dockerfile index a38c85f40e..8c68665b83 100644 --- a/3.3-rc/slim-bookworm/Dockerfile +++ b/3.3-rc/slim-bookworm/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 +ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile index 602e952142..9bb0bf1124 100644 --- a/3.3-rc/slim-bullseye/Dockerfile +++ b/3.3-rc/slim-bullseye/Dockerfile @@ -30,8 +30,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 ENV RUBY_MAJOR 3.3-rc -ENV RUBY_VERSION 3.3.0-preview3 -ENV RUBY_DOWNLOAD_SHA256 f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355 +ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index f51c03b6a8..942667adaa 100644 --- a/versions.json +++ b/versions.json @@ -99,7 +99,7 @@ }, "version": "1.26.0" }, - "sha256": "f79afcf122dc7d04fe26cfa4436b9c488b21766fc54b0d2dfb2ba41cd0cdd355", + "sha256": "051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290", "variants": [ "bookworm", "slim-bookworm", @@ -108,6 +108,6 @@ "alpine3.19", "alpine3.18" ], - "version": "3.3.0-preview3" + "version": "3.3.0-rc1" } } From 25e8353781fe722e4cb5d926f49a2c799456d22c Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 21 Dec 2023 15:26:47 -0800 Subject: [PATCH 075/132] Finally parse upstream releases data properly This ports our `versions.sh` script to finally actually parse https://github.com/ruby/www.ruby-lang.org/raw/master/_data/releases.yml directly instead of scraping the data from the webpages generated from it. Additionally, this *should* allow us to automatically pick up GA releases after the pre-release (we can find out whether it worked next week!) --- .gitignore | 1 + 3.3-rc/alpine3.18/Dockerfile | 6 +- 3.3-rc/alpine3.19/Dockerfile | 6 +- 3.3-rc/bookworm/Dockerfile | 6 +- 3.3-rc/bullseye/Dockerfile | 6 +- 3.3-rc/slim-bookworm/Dockerfile | 6 +- 3.3-rc/slim-bullseye/Dockerfile | 6 +- Dockerfile.template | 15 +++- apply-templates.sh | 5 ++ generate-stackbrew-library.sh | 7 +- versions.json | 153 ++++++++++++++++++++++++++----- versions.sh | 155 ++++++++++++++++++-------------- 12 files changed, 267 insertions(+), 105 deletions(-) diff --git a/.gitignore b/.gitignore index d548f66de0..da4ffd7830 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .jq-template.awk +.yq* diff --git a/3.3-rc/alpine3.18/Dockerfile b/3.3-rc/alpine3.18/Dockerfile index 12730d35c3..6e65161149 100644 --- a/3.3-rc/alpine3.18/Dockerfile +++ b/3.3-rc/alpine3.18/Dockerfile @@ -26,8 +26,10 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.3-rc + +# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby @@ -86,7 +88,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.3-rc/alpine3.19/Dockerfile b/3.3-rc/alpine3.19/Dockerfile index 05358035e7..13557e7995 100644 --- a/3.3-rc/alpine3.19/Dockerfile +++ b/3.3-rc/alpine3.19/Dockerfile @@ -26,8 +26,10 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.3-rc + +# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby @@ -86,7 +88,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.3-rc/bookworm/Dockerfile b/3.3-rc/bookworm/Dockerfile index 7993f281a6..12727ffe31 100644 --- a/3.3-rc/bookworm/Dockerfile +++ b/3.3-rc/bookworm/Dockerfile @@ -15,8 +15,10 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.3-rc + +# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby @@ -55,7 +57,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.3-rc/bullseye/Dockerfile b/3.3-rc/bullseye/Dockerfile index c73d4e0f46..dd3f4a6e21 100644 --- a/3.3-rc/bullseye/Dockerfile +++ b/3.3-rc/bullseye/Dockerfile @@ -15,8 +15,10 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.3-rc + +# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby @@ -55,7 +57,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.3-rc/slim-bookworm/Dockerfile b/3.3-rc/slim-bookworm/Dockerfile index 8c68665b83..17bb114152 100644 --- a/3.3-rc/slim-bookworm/Dockerfile +++ b/3.3-rc/slim-bookworm/Dockerfile @@ -29,8 +29,10 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.3-rc + +# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby @@ -81,7 +83,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile index 9bb0bf1124..e87831cdc7 100644 --- a/3.3-rc/slim-bullseye/Dockerfile +++ b/3.3-rc/slim-bullseye/Dockerfile @@ -29,8 +29,10 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.3-rc + +# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ ENV RUBY_VERSION 3.3.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 # some of ruby's build scripts are written in ruby @@ -81,7 +83,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/Dockerfile.template b/Dockerfile.template index c81cc16bdb..4cb9f1ea37 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -50,9 +50,17 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 +{{ if .version | . == "3.0.6" or . == "3.1.4" or . == "3.2.2" then ( -}} ENV RUBY_MAJOR {{ env.version }} ENV RUBY_VERSION {{ .version }} -ENV RUBY_DOWNLOAD_SHA256 {{ .sha256 }} +ENV RUBY_DOWNLOAD_SHA256 {{ .sha256.xz }} +{{ ) else ( -}} + +# https://www.ruby-lang.org/{{ .post | ltrimstr("/") }} +ENV RUBY_VERSION {{ .version }} +ENV RUBY_DOWNLOAD_URL {{ .url.xz }} +ENV RUBY_DOWNLOAD_SHA256 {{ .sha256.xz }} +{{ ) end -}} # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -189,7 +197,12 @@ RUN set -eux; \ fi; \ {{ ) else "" end -}} \ +{{ if .version | . == "3.0.6" or . == "3.1.4" or . == "3.2.2" then ( -}} +{{ if .url.xz != "https://cache.ruby-lang.org/pub/ruby/\(env.version | rtrimstr("-rc"))/ruby-\(.version).tar.xz" then error("url for \(.version) is not as expected!") else "" end -}} wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ +{{ ) else ( -}} + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ +{{ ) end -}} echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/apply-templates.sh b/apply-templates.sh index 7f9da43e19..9ed389b588 100755 --- a/apply-templates.sh +++ b/apply-templates.sh @@ -32,6 +32,11 @@ for version; do rm -rf "$version/" + if jq -e '.[env.version] | not' versions.json > /dev/null; then + echo "deleting $version ..." + continue + fi + variants="$(jq -r '.[env.version].variants | map(@sh) | join(" ")' versions.json)" eval "variants=( $variants )" diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 398f7d4f36..4e3679a087 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -75,11 +75,14 @@ join() { for version; do export version + + if ! fullVersion="$(jq -er '.[env.version] | if . then .version else empty end' versions.json)"; then + continue + fi + variants="$(jq -r '.[env.version].variants | map(@sh) | join(" ")' versions.json)" eval "variants=( $variants )" - fullVersion="$(jq -r '.[env.version].version' versions.json)" - versionAliases=( $fullVersion $version diff --git a/versions.json b/versions.json index 942667adaa..99ffa1b602 100644 --- a/versions.json +++ b/versions.json @@ -1,17 +1,70 @@ { "3.0": { - "sha256": "b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1", + "version": "3.0.6", + "date": "2023-03-30", + "post": "/en/news/2023/03/30/ruby-3-0-6-released/", + "url": { + "gz": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.6.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.6.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.6.zip" + }, + "size": { + "gz": 21315725, + "xz": 15864560, + "zip": 25694359 + }, + "sha1": { + "gz": "1052441f0abbb0302fb9f1481d2db99dfb4d4c29", + "xz": "7880c34d7193224e967163b12f33bf7aaf7304f6", + "zip": "e75d1bc14dd89c176145dc3968774e30f3a17652" + }, + "sha256": { + "gz": "6e6cbd490030d7910c0ff20edefab4294dfcd1046f0f8f47f78b597987ac683e", + "xz": "b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1", + "zip": "428d518d12f09df4146fc31dbed47c8d7e10fcccd2426948e5c0862d9321480d" + }, + "sha512": { + "gz": "d596bfd374ae777717379b409afe8ee1655ade0c0539ada7a10af4780b818efe25a28aa50a2a7226741d1776d744e10ad916641f9d12fb31c7444b0a01d0e0cc", + "xz": "abbf883cd9f3ddbd171df8f8c3cd35d930623c4c01a5e01387de0aee9811cca7604b82163e18e04f809773bf1ca5a450f13f62f3db14f191f610e116ae4fa6f8", + "zip": "576d11c668acac57cf4952228b148d17f16ab1dc491145355a4f2068b15f6cab8a4007a84d9d1eda4c1b62837675c82be99ebe6379c314f46c6ebbbf89677b5e" + }, "variants": [ "bullseye", "slim-bullseye", "buster", "slim-buster", "alpine3.16" - ], - "version": "3.0.6" + ] }, "3.1": { - "sha256": "1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f", + "version": "3.1.4", + "date": "2023-03-30", + "post": "/en/news/2023/03/30/ruby-3-1-4-released/", + "url": { + "gz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.zip" + }, + "size": { + "gz": 20917933, + "xz": 15316604, + "zip": 25241255 + }, + "sha1": { + "gz": "38eddfc5a7536b6c8133183563009a4ed9bbe6db", + "xz": "2e2fbf43b7db6f24280548a3544912535bed8212", + "zip": "1061632623caa82a68a04a35777ed8f1797a9f8f" + }, + "sha256": { + "gz": "a3d55879a0dfab1d7141fdf10d22a07dbf8e5cdc4415da1bde06127d5cc3c7b6", + "xz": "1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f", + "zip": "1fce1ab3d61d10a857dc821dab6e77fa41d0663c5dbbfaa5d9b9c2bdec5ce303" + }, + "sha512": { + "gz": "41cf1561dd7eb249bb2c2f5ea958884880648cc1d11da9315f14158a2d0ff94b2c5c7d75291a67e57e1813d2ec7b618e5372a9f18ee93be6ed306f47b0d3199a", + "xz": "a627bb629a10750b8b2081ad451a41faea0fc85d95aa1e267e3d2a0f56a35bb58195d4a8d13bbdbd82f4197a96dae22b1cee1dfc83861ec33a67ece07aef5633", + "zip": "3a334302df97c2c7fec3c2d05d19a40b1ec6f95fef52c85d397196ce62fac4834f96783f0ac7fcba6e2a670f004bcc275db6f1810ace6c68a594e7d2fd9b297b" + }, "variants": [ "bookworm", "slim-bookworm", @@ -19,10 +72,45 @@ "slim-bullseye", "alpine3.19", "alpine3.18" - ], - "version": "3.1.4" + ] }, "3.2": { + "version": "3.2.2", + "date": "2023-03-30", + "post": "/en/news/2023/03/30/ruby-3-2-2-released/", + "url": { + "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.zip" + }, + "size": { + "gz": 20467023, + "xz": 15118856, + "zip": 24615317 + }, + "sha1": { + "gz": "670fce00d83771a1349b116e56a8a3b0ad323769", + "xz": "087af286b70b0e17f88c9c4469b471eca2010161", + "zip": "a1b6d57019d41dca269b4b16a80784755d34b81d" + }, + "sha256": { + "gz": "96c57558871a6748de5bc9f274e93f4b5aad06cd8f37befa0e8d94e7b8a423bc", + "xz": "4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23", + "zip": "cc216ecb4f49064d8f44e10ecf9218cfd7b28cf4168bb79ecdf171e321db4af1" + }, + "sha512": { + "gz": "bcc68f3f24c1c8987d9c80b57332e5791f25b935ba38daf5addf60dbfe3a05f9dcaf21909681b88e862c67c6ed103150f73259c6e35c564f13a00f432e3c1e46", + "xz": "a29f24cd80f563f6368952d06d6273f7241a409fa9ab2f60e03dde2ac58ca06bee1750715b6134caebf4c061d3503446dc37a6059e19860bb0010eef34951935", + "zip": "569a68d89cc9a646cd0319d7cb8d57df3a55c0ac2c64f1f61607cc9c06b3aa8415eb8d38f7893ab3dbf072da9e919fbc454a9338e924c20a6a5110a1fa301d52" + }, + "variants": [ + "bookworm", + "slim-bookworm", + "bullseye", + "slim-bullseye", + "alpine3.19", + "alpine3.18" + ], "rust": { "version": "1.74.1" }, @@ -54,8 +142,44 @@ } }, "version": "1.26.0" + } + }, + "3.3": null, + "3.3-rc": { + "version": "3.3.0-rc1", + "date": "2023-12-11", + "post": "/en/news/2023/12/11/ruby-3-3-0-rc1-released/", + "tag": "v3_3_0_rc1", + "stats": { + "files_changed": 5414, + "insertions": 306141, + "deletions": 183575 + }, + "url": { + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz" + }, + "size": { + "gz": 21783575, + "zip": 26735443, + "xz": 16163884 + }, + "sha1": { + "gz": "c75a860e06f27b7f69b874757417277c21d1d3f4", + "zip": "35583453a7734216b08829ef0ec9ea1bc0d4ae7f", + "xz": "26503f9bdc7d0a05aaa9836f54d3aa9e74a9ead9" + }, + "sha256": { + "gz": "c4ff82395a90ef76c7f906b7687026e0ab96b094dcf3a532d9ab97784a073222", + "zip": "56dd82e1dd714f2889ca975ae7befbe005675de08839c2cc4a484de2ae65201c", + "xz": "051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290" + }, + "sha512": { + "gz": "265fb2ffe55af47d8349edffcebe749cc170291227cef55529fe4e67363e4e84b88daa34ffb5364a99c8a0e32110266a34c9a11d62f3bd6f6d47fa76eca641f4", + "zip": "7fbe414c230aedc9f364512bcbc213038f8f6e4268929a559d2527e2f3e32a140b394e37098ab7e59161236eca8b89cc9e52d73a3be8d7bd44faa91681483f5d", + "xz": "82f4acfaad1dc47db27ee3eb952481a95b3474a98059e9e9f5ceb035b690d1faabe99f2ec52371c4089ed1615eb10c395f029088418fec4d26399b65b4f259b9" }, - "sha256": "4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23", "variants": [ "bookworm", "slim-bookworm", @@ -64,9 +188,6 @@ "alpine3.19", "alpine3.18" ], - "version": "3.2.2" - }, - "3.3-rc": { "rust": { "version": "1.74.1" }, @@ -98,16 +219,6 @@ } }, "version": "1.26.0" - }, - "sha256": "051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290", - "variants": [ - "bookworm", - "slim-bookworm", - "bullseye", - "slim-bullseye", - "alpine3.19", - "alpine3.18" - ], - "version": "3.3.0-rc1" + } } } diff --git a/versions.sh b/versions.sh index 061ee394a1..6b8b185335 100755 --- a/versions.sh +++ b/versions.sh @@ -12,9 +12,26 @@ else fi versions=( "${versions[@]%/}" ) -releasesPage="$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/releases/' | grep -A 2 'Ruby')" # very wide grep to cut down on "set -x" output when debugging (should match the one later) -newsPage="$(curl -fsSL 'https://www.ruby-lang.org/en/news/' | grep 'Released')" # occasionally, releases don't show up on the Releases page (see https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml) -# TODO consider parsing https://github.com/ruby/www.ruby-lang.org/blob/master/_data/downloads.yml as well +yq='./.yq' +# https://github.com/mikefarah/yq/releases +# TODO detect host architecture +yqUrl='https://github.com/mikefarah/yq/releases/download/v4.40.5/yq_linux_amd64' +yqSha256='0d6aaf1cf44a8d18fbc7ed0ef14f735a8df8d2e314c4cc0f0242d35c0a440c95' +if command -v yq &> /dev/null; then + # TODO verify that the "yq" in PATH is https://github.com/mikefarah/yq, not the python-based version you'd get from "apt-get install yq" somehow? maybe they're compatible enough for our needs that it doesn't matter? + yq='yq' +elif [ ! -x "$yq" ] || ! sha256sum <<<"$yqSha256 *$yq" --quiet --strict --check; then + wget -qO "$yq.new" "$yqUrl" + sha256sum <<<"$yqSha256 *$yq.new" --quiet --strict --check + chmod +x "$yq.new" + "$yq.new" --version + mv "$yq.new" "$yq" +fi + +releases="$( + wget -qO- 'https://github.com/ruby/www.ruby-lang.org/raw/master/_data/releases.yml' \ + | "$yq" -r '@json' # this *should* work on both the Go-based "yq" we download and the Python-based "yq" available from Debian's APT repo +)" for version in "${versions[@]}"; do rcGrepV='-v' @@ -24,75 +41,70 @@ for version in "${versions[@]}"; do fi export version rcVersion - IFS=$'\n'; allVersions=( $( - curl -fsSL --compressed "https://cache.ruby-lang.org/pub/ruby/$rcVersion/" \ - | grep -oE '["/]ruby-'"$rcVersion"'.[^"]+\.tar\.xz' \ - | sed -r 's!^["/]ruby-([^"]+)[.]tar[.]xz!\1!' \ - | grep $rcGrepV -E 'preview|rc' \ - | sort -ruV - ) ); unset IFS - - fullVersion= - shaVal= - for tryVersion in "${allVersions[@]}"; do - if \ - { - versionReleasePage="$(grep "Ruby $tryVersion" -A 2 <<<"$releasesPage" | awk -F '"' '$1 == "Ruby '"$tryVersion"' Released' <<<"$newsPage" | cut -d'"' -f2)" \ - && [ -n "$versionReleasePage" ] \ - && shaVal="$(curl -fsL "https://www.ruby-lang.org/$versionReleasePage" | grep "ruby-$tryVersion.tar.xz" -A 5)" \ - && shaVal="$(awk <<<"$shaVal" '$1 == "SHA256:" { print $2; exit }')" \ - && [ -n "$shaVal" ] - } \ - ; then - fullVersion="$tryVersion" - break - fi - done + doc="$(jq <<<"$releases" -c ' + map( + select( + .version + # exact versions ("3.1.0-preview1") should match exactly but "X.Y" or "X.Y-rc" should fuzzy match appropriately + | . == env.version or ( + ( + startswith(env.rcVersion + ".") + or startswith(env.rcVersion + "-") + ) and ( + contains("preview") or contains("rc") + | if env.version == env.rcVersion then not else . end + ) + ) + ) + ) + | first // empty + ')" - if [ -z "$fullVersion" ]; then - echo >&2 "error: cannot determine sha for $version (tried all of ${allVersions[*]})" - exit 1 + if [ -z "$doc" ]; then + echo >&2 "warning: skipping/removing '$version' (does not appear to exist upstream)" + json="$(jq <<<"$json" -c '.[env.version] = null')" + continue fi - echo "$version: $fullVersion; $shaVal" + fullVersion="$(jq <<<"$doc" -r '.version')" + echo "$version: $fullVersion" - export fullVersion shaVal - doc="$(jq -nc ' - { - version: env.fullVersion, - sha256: env.shaVal, - variants: [ - ( - # https://bugs.ruby-lang.org/issues/18658 - # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 - if "3.0" == env.version then - "bullseye", - "buster" - else - "bookworm", - "bullseye", - empty # trailing comma hack - end - | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 - ( - # Alpine 3.17+ defaults to OpenSSL 3 which is not supported by Ruby 3.0 - # https://bugs.ruby-lang.org/issues/18658 - # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 - if "3.0" == env.version then "3.16" else - "3.19", - "3.18", - empty # trailing comma hack - end - | "alpine" + .) - ], - } + if [ "$rcVersion" != "$version" ] && gaFullVersion="$(jq <<<"$json" -er '.[env.rcVersion] | if . then .version else empty end')"; then + # Ruby pre-releases have only been for .0 since ~2011, so if our pre-release now has a relevant GA, it should go away 👀 + # just in case, we'll also do a version comparison to make sure we don't have a pre-release that's newer than the relevant GA + latestVersion="$({ echo "$fullVersion"; echo "$gaFullVersion"; } | sort -V | tail -1)" + if [[ "$fullVersion" == "$gaFullVersion"* ]] || [ "$latestVersion" = "$gaFullVersion" ]; then + # "x.y.z-rc1" == x.y.z* + json="$(jq <<<"$json" -c 'del(.[env.rcVersion])')" + continue + fi + fi + + doc="$(jq <<<"$doc" -c ' + .variants = [ + ( + # https://bugs.ruby-lang.org/issues/18658 + # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 + if "3.0" == env.version then + "bullseye", + "buster" + else + "bookworm", + "bullseye", + empty # trailing comma hack + end + | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 + ( + # Alpine 3.17+ defaults to OpenSSL 3 which is not supported by Ruby 3.0 + # https://bugs.ruby-lang.org/issues/18658 + # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 + if "3.0" == env.version then "3.16" else + "3.19", + "3.18", + empty # trailing comma hack + end + | "alpine" + .) + ] ')" case "$rcVersion" in @@ -113,6 +125,11 @@ for version in "${versions[@]}"; do esac json="$(jq <<<"$json" -c --argjson doc "$doc" '.[env.version] = $doc')" + + # make sure pre-release versions have a placeholder for GA + if [ "$version" != "$rcVersion" ]; then + json="$(jq <<<"$json" -c '.[env.rcVersion] //= null')" + fi done -jq <<<"$json" -S . > versions.json +jq <<<"$json" 'to_entries | sort_by(.key) | from_entries' > versions.json From 088718f389d35483e0cd87354adf7b0f1d0d789e Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 21 Dec 2023 17:03:24 -0800 Subject: [PATCH 076/132] Automate "latest" and "3" aliases --- generate-stackbrew-library.sh | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 4e3679a087..da9269d380 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -1,10 +1,6 @@ #!/usr/bin/env bash set -Eeuo pipefail -declare -A aliases=( - [3.2]='3 latest' -) - self="$(basename "$BASH_SOURCE")" cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" @@ -73,6 +69,11 @@ join() { echo "${out#$sep}" } +declare -A latest=( + #[3]='3.2' + #[latest]='3.2' +) + for version; do export version @@ -86,9 +87,17 @@ for version; do versionAliases=( $fullVersion $version - ${aliases[$version]:-} ) + if [ "$version" = "${version%-rc}" ]; then + for a in "${version%%.*}" latest; do # "3", "latest" + if [ -z "${latest[$a]:-}" ]; then + latest[$a]="$version" + versionAliases+=( "$a" ) + fi + done + fi + defaultDebianVariant="$(jq -r ' .[env.version].variants | map(select( From 04ee24d72e947d3834c9153de4a794010c71d921 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 26 Dec 2023 10:21:17 -0800 Subject: [PATCH 077/132] Fix bug with 3.3.0 deleting 3.3 instead of 3.3-rc --- versions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.sh b/versions.sh index 6b8b185335..65edfc8e5c 100755 --- a/versions.sh +++ b/versions.sh @@ -75,7 +75,7 @@ for version in "${versions[@]}"; do latestVersion="$({ echo "$fullVersion"; echo "$gaFullVersion"; } | sort -V | tail -1)" if [[ "$fullVersion" == "$gaFullVersion"* ]] || [ "$latestVersion" = "$gaFullVersion" ]; then # "x.y.z-rc1" == x.y.z* - json="$(jq <<<"$json" -c 'del(.[env.rcVersion])')" + json="$(jq <<<"$json" -c 'del(.[env.version])')" continue fi fi From 52e176c1dee983d991d9cff0c6371f5c50bfd636 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Tue, 26 Dec 2023 10:22:18 -0800 Subject: [PATCH 078/132] Update 3.3 to 3.3.0, rust 1.74.1, rustup 1.26.0 --- 3.3/alpine3.18/Dockerfile | 165 +++++++++++++++++++++++++++++++++++ 3.3/alpine3.19/Dockerfile | 165 +++++++++++++++++++++++++++++++++++ 3.3/bookworm/Dockerfile | 120 +++++++++++++++++++++++++ 3.3/bullseye/Dockerfile | 120 +++++++++++++++++++++++++ 3.3/slim-bookworm/Dockerfile | 146 +++++++++++++++++++++++++++++++ 3.3/slim-bullseye/Dockerfile | 146 +++++++++++++++++++++++++++++++ versions.json | 77 +++++++++++++++- 7 files changed, 938 insertions(+), 1 deletion(-) create mode 100644 3.3/alpine3.18/Dockerfile create mode 100644 3.3/alpine3.19/Dockerfile create mode 100644 3.3/bookworm/Dockerfile create mode 100644 3.3/bullseye/Dockerfile create mode 100644 3.3/slim-bookworm/Dockerfile create mode 100644 3.3/slim-bullseye/Dockerfile diff --git a/3.3/alpine3.18/Dockerfile b/3.3/alpine3.18/Dockerfile new file mode 100644 index 0000000000..74a9ed71ab --- /dev/null +++ b/3.3/alpine3.18/Dockerfile @@ -0,0 +1,165 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.18 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ +ENV RUBY_VERSION 3.3.0 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz +ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile new file mode 100644 index 0000000000..ca56f0f9f3 --- /dev/null +++ b/3.3/alpine3.19/Dockerfile @@ -0,0 +1,165 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.19 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ +ENV RUBY_VERSION 3.3.0 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz +ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bison \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile new file mode 100644 index 0000000000..ec774551c9 --- /dev/null +++ b/3.3/bookworm/Dockerfile @@ -0,0 +1,120 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bookworm + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ +ENV RUBY_VERSION 3.3.0 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz +ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile new file mode 100644 index 0000000000..a2f0cdd3f2 --- /dev/null +++ b/3.3/bullseye/Dockerfile @@ -0,0 +1,120 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ +ENV RUBY_VERSION 3.3.0 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz +ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile new file mode 100644 index 0000000000..a873fb2ec5 --- /dev/null +++ b/3.3/slim-bookworm/Dockerfile @@ -0,0 +1,146 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bookworm-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ +ENV RUBY_VERSION 3.3.0 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz +ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..58b43445aa --- /dev/null +++ b/3.3/slim-bullseye/Dockerfile @@ -0,0 +1,146 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ +ENV RUBY_VERSION 3.3.0 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz +ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bison \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/versions.json b/versions.json index 99ffa1b602..66d79d94c4 100644 --- a/versions.json +++ b/versions.json @@ -144,7 +144,82 @@ "version": "1.26.0" } }, - "3.3": null, + "3.3": { + "version": "3.3.0", + "date": "2023-12-25", + "post": "/en/news/2023/12/25/ruby-3-3-0-released/", + "tag": "v3_3_0", + "stats": { + "files_changed": 5532, + "insertions": 326851, + "deletions": 185793 + }, + "url": { + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz" + }, + "size": { + "gz": 22065999, + "zip": 26935108, + "xz": 16345456 + }, + "sha1": { + "gz": "1a7e56851bf29bda1183aca99b3b323c58e0187b", + "zip": "a433eef1d7f96daeaf3b4cb842d0ed2dd82e7dc1", + "xz": "c8f68e1b0a114b90460a0b44165a3b2f540fa5b6" + }, + "sha256": { + "gz": "96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d", + "zip": "0e6563f679dd3694732eb3addf9de681c67b584602ac574376b60e7a509d2cd8", + "xz": "676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b" + }, + "sha512": { + "gz": "26074009b501fc793d71a74e419f34a6033c9353433919ca74ba2d24a3de432dbb11fd92c2bc285f0e4d951a6d6c74bf5b69a2ab36200c8c26e871746d6e0fc6", + "zip": "a94a85937a14b217c1f4b90d24185289ed4aee79239c4f3eecf8034d3fd34e65ee8d66869473857ed153067188adc9b70c0471e4ebe842c9f98ef60c34090450", + "xz": "7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01" + }, + "variants": [ + "bookworm", + "slim-bookworm", + "bullseye", + "slim-bullseye", + "alpine3.19", + "alpine3.18" + ], + "rust": { + "version": "1.74.1" + }, + "rustup": { + "arches": { + "amd64": { + "glibc": { + "arch": "x86_64-unknown-linux-gnu", + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "x86_64-unknown-linux-musl", + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + } + }, + "arm64v8": { + "glibc": { + "arch": "aarch64-unknown-linux-gnu", + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "aarch64-unknown-linux-musl", + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + } + } + }, + "version": "1.26.0" + } + }, "3.3-rc": { "version": "3.3.0-rc1", "date": "2023-12-11", From 8af6f2310287cacc8abaf012b1276a3df1d29a90 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Tue, 26 Dec 2023 10:34:06 -0800 Subject: [PATCH 079/132] Update 3.3-rc --- 3.3-rc/alpine3.18/Dockerfile | 165 -------------------------------- 3.3-rc/alpine3.19/Dockerfile | 165 -------------------------------- 3.3-rc/bookworm/Dockerfile | 120 ----------------------- 3.3-rc/bullseye/Dockerfile | 120 ----------------------- 3.3-rc/slim-bookworm/Dockerfile | 146 ---------------------------- 3.3-rc/slim-bullseye/Dockerfile | 146 ---------------------------- versions.json | 76 --------------- 7 files changed, 938 deletions(-) delete mode 100644 3.3-rc/alpine3.18/Dockerfile delete mode 100644 3.3-rc/alpine3.19/Dockerfile delete mode 100644 3.3-rc/bookworm/Dockerfile delete mode 100644 3.3-rc/bullseye/Dockerfile delete mode 100644 3.3-rc/slim-bookworm/Dockerfile delete mode 100644 3.3-rc/slim-bullseye/Dockerfile diff --git a/3.3-rc/alpine3.18/Dockerfile b/3.3-rc/alpine3.18/Dockerfile deleted file mode 100644 index 6e65161149..0000000000 --- a/3.3-rc/alpine3.18/Dockerfile +++ /dev/null @@ -1,165 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.18 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ -ENV RUBY_VERSION 3.3.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - rustArch=; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.3-rc/alpine3.19/Dockerfile b/3.3-rc/alpine3.19/Dockerfile deleted file mode 100644 index 13557e7995..0000000000 --- a/3.3-rc/alpine3.19/Dockerfile +++ /dev/null @@ -1,165 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.19 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ -ENV RUBY_VERSION 3.3.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - rustArch=; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.3-rc/bookworm/Dockerfile b/3.3-rc/bookworm/Dockerfile deleted file mode 100644 index 12727ffe31..0000000000 --- a/3.3-rc/bookworm/Dockerfile +++ /dev/null @@ -1,120 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bookworm - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ -ENV RUBY_VERSION 3.3.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - rustArch=; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.3-rc/bullseye/Dockerfile b/3.3-rc/bullseye/Dockerfile deleted file mode 100644 index dd3f4a6e21..0000000000 --- a/3.3-rc/bullseye/Dockerfile +++ /dev/null @@ -1,120 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bullseye - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ -ENV RUBY_VERSION 3.3.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - rustArch=; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.3-rc/slim-bookworm/Dockerfile b/3.3-rc/slim-bookworm/Dockerfile deleted file mode 100644 index 17bb114152..0000000000 --- a/3.3-rc/slim-bookworm/Dockerfile +++ /dev/null @@ -1,146 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bookworm-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ -ENV RUBY_VERSION 3.3.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - rustArch=; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.3-rc/slim-bullseye/Dockerfile b/3.3-rc/slim-bullseye/Dockerfile deleted file mode 100644 index e87831cdc7..0000000000 --- a/3.3-rc/slim-bullseye/Dockerfile +++ /dev/null @@ -1,146 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bullseye-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ -ENV RUBY_VERSION 3.3.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - rustArch=; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/versions.json b/versions.json index 66d79d94c4..360d1888bd 100644 --- a/versions.json +++ b/versions.json @@ -219,81 +219,5 @@ }, "version": "1.26.0" } - }, - "3.3-rc": { - "version": "3.3.0-rc1", - "date": "2023-12-11", - "post": "/en/news/2023/12/11/ruby-3-3-0-rc1-released/", - "tag": "v3_3_0_rc1", - "stats": { - "files_changed": 5414, - "insertions": 306141, - "deletions": 183575 - }, - "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0-rc1.tar.xz" - }, - "size": { - "gz": 21783575, - "zip": 26735443, - "xz": 16163884 - }, - "sha1": { - "gz": "c75a860e06f27b7f69b874757417277c21d1d3f4", - "zip": "35583453a7734216b08829ef0ec9ea1bc0d4ae7f", - "xz": "26503f9bdc7d0a05aaa9836f54d3aa9e74a9ead9" - }, - "sha256": { - "gz": "c4ff82395a90ef76c7f906b7687026e0ab96b094dcf3a532d9ab97784a073222", - "zip": "56dd82e1dd714f2889ca975ae7befbe005675de08839c2cc4a484de2ae65201c", - "xz": "051815637f1fa75a1edf2c54b66d5d5b69563daad777da8dc39543b7754b5290" - }, - "sha512": { - "gz": "265fb2ffe55af47d8349edffcebe749cc170291227cef55529fe4e67363e4e84b88daa34ffb5364a99c8a0e32110266a34c9a11d62f3bd6f6d47fa76eca641f4", - "zip": "7fbe414c230aedc9f364512bcbc213038f8f6e4268929a559d2527e2f3e32a140b394e37098ab7e59161236eca8b89cc9e52d73a3be8d7bd44faa91681483f5d", - "xz": "82f4acfaad1dc47db27ee3eb952481a95b3474a98059e9e9f5ceb035b690d1faabe99f2ec52371c4089ed1615eb10c395f029088418fec4d26399b65b4f259b9" - }, - "variants": [ - "bookworm", - "slim-bookworm", - "bullseye", - "slim-bullseye", - "alpine3.19", - "alpine3.18" - ], - "rust": { - "version": "1.74.1" - }, - "rustup": { - "arches": { - "amd64": { - "glibc": { - "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" - }, - "musl": { - "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" - } - }, - "arm64v8": { - "glibc": { - "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" - }, - "musl": { - "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" - } - } - }, - "version": "1.26.0" - } } } From fae67e79854356f406825bcd9c7e1bf2e5772579 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 3 Jan 2024 11:12:23 -0800 Subject: [PATCH 080/132] Update GHA YAML with bashbrew example improvements (esp. concurrency:) --- .github/workflows/ci.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3860c115ce..61ffb56ef1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,6 +3,7 @@ name: GitHub CI on: pull_request: push: + workflow_dispatch: schedule: - cron: 0 0 * * 0 @@ -10,6 +11,13 @@ defaults: run: shell: 'bash -Eeuo pipefail -x {0}' +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + jobs: generate-jobs: @@ -24,8 +32,11 @@ jobs: name: Generate Jobs run: | strategy="$("$BASHBREW_SCRIPTS/github-actions/generate.sh")" - echo "strategy=$strategy" >> "$GITHUB_OUTPUT" - jq . <<<"$strategy" # sanity check / debugging aid + + EOF="EOF-$RANDOM-$RANDOM-$RANDOM" + echo "strategy<<$EOF" >> "$GITHUB_OUTPUT" + jq <<<"$strategy" . | tee -a "$GITHUB_OUTPUT" + echo "$EOF" >> "$GITHUB_OUTPUT" test: needs: generate-jobs From c473741514de6aa1e3ccdf3a9c6df0aa71348ce3 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 18 Jan 2024 04:03:17 -0800 Subject: [PATCH 081/132] Update 3.2 to 3.2.3 --- 3.2/alpine3.18/Dockerfile | 10 ++++++---- 3.2/alpine3.19/Dockerfile | 10 ++++++---- 3.2/bookworm/Dockerfile | 10 ++++++---- 3.2/bullseye/Dockerfile | 10 ++++++---- 3.2/slim-bookworm/Dockerfile | 10 ++++++---- 3.2/slim-bullseye/Dockerfile | 10 ++++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 54 insertions(+), 42 deletions(-) diff --git a/3.2/alpine3.18/Dockerfile b/3.2/alpine3.18/Dockerfile index b80ebd39d8..800f1b611b 100644 --- a/3.2/alpine3.18/Dockerfile +++ b/3.2/alpine3.18/Dockerfile @@ -26,9 +26,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.2 -ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 + +# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ +ENV RUBY_VERSION 3.2.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -87,7 +89,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index f5dfda1f1e..a8b51c1294 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -26,9 +26,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.2 -ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 + +# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ +ENV RUBY_VERSION 3.2.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -87,7 +89,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index 522d36dfd4..f87fe76f9e 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -15,9 +15,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.2 -ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 + +# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ +ENV RUBY_VERSION 3.2.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -55,7 +57,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 273e0b659f..e753e00b32 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -15,9 +15,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.2 -ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 + +# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ +ENV RUBY_VERSION 3.2.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -55,7 +57,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index c618e9a26d..d5f809841b 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -29,9 +29,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.2 -ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 + +# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ +ENV RUBY_VERSION 3.2.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -82,7 +84,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 363ec92e44..189b7ff567 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -29,9 +29,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.2 -ENV RUBY_VERSION 3.2.2 -ENV RUBY_DOWNLOAD_SHA256 4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23 + +# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ +ENV RUBY_VERSION 3.2.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -82,7 +84,7 @@ RUN set -eux; \ cargo --version; \ fi; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/versions.json b/versions.json index 360d1888bd..0e183389b6 100644 --- a/versions.json +++ b/versions.json @@ -75,33 +75,33 @@ ] }, "3.2": { - "version": "3.2.2", - "date": "2023-03-30", - "post": "/en/news/2023/03/30/ruby-3-2-2-released/", + "version": "3.2.3", + "date": "2024-01-18", + "post": "/en/news/2024/01/18/ruby-3-2-3-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.zip" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.zip" }, "size": { - "gz": 20467023, - "xz": 15118856, - "zip": 24615317 + "gz": 20577155, + "xz": 15163960, + "zip": 24734275 }, "sha1": { - "gz": "670fce00d83771a1349b116e56a8a3b0ad323769", - "xz": "087af286b70b0e17f88c9c4469b471eca2010161", - "zip": "a1b6d57019d41dca269b4b16a80784755d34b81d" + "gz": "7f553e514cb42751a61c3a560a7e8d727c6931ca", + "xz": "08e0016c8b96103930aaa3b2323081d8f5756e25", + "zip": "e305dfe36229c5328d231ea0ac03ae5e05bfaca6" }, "sha256": { - "gz": "96c57558871a6748de5bc9f274e93f4b5aad06cd8f37befa0e8d94e7b8a423bc", - "xz": "4b352d0f7ec384e332e3e44cdbfdcd5ff2d594af3c8296b5636c710975149e23", - "zip": "cc216ecb4f49064d8f44e10ecf9218cfd7b28cf4168bb79ecdf171e321db4af1" + "gz": "af7f1757d9ddb630345988139211f1fd570ff5ba830def1cc7c468ae9b65c9ba", + "xz": "cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b", + "zip": "42aa39f74e5be9e24e4db47e7bfb15dc7e095f7e2295859b355edccf6fab96a2" }, "sha512": { - "gz": "bcc68f3f24c1c8987d9c80b57332e5791f25b935ba38daf5addf60dbfe3a05f9dcaf21909681b88e862c67c6ed103150f73259c6e35c564f13a00f432e3c1e46", - "xz": "a29f24cd80f563f6368952d06d6273f7241a409fa9ab2f60e03dde2ac58ca06bee1750715b6134caebf4c061d3503446dc37a6059e19860bb0010eef34951935", - "zip": "569a68d89cc9a646cd0319d7cb8d57df3a55c0ac2c64f1f61607cc9c06b3aa8415eb8d38f7893ab3dbf072da9e919fbc454a9338e924c20a6a5110a1fa301d52" + "gz": "75aecd9cf87f1fa66b24ecda8837a53162071b4f8801dcfd79119a24c6e81df3e3e2ba478e1cc48c60103dfaab12a00cfa2039a621f8651298eba8bd8d576360", + "xz": "d2a1897c2f4e801a28acb869322abfee76775115016252cecad90639485ed51deda1446cb16edb387f10a2e188602d646ef9b008b57f27bd745071277c535f3b", + "zip": "fd89a0a833df4b5cb1734a7ffc86a8cf7cb3a8e25944331db674d3ad7732f615867e7e214e1fdd61e44e9c9c856b461b46219b340de7c87a758f28f3a99dd172" }, "variants": [ "bookworm", From 90c7a1d6999710f5502d69162a197e979f90bb1a Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Thu, 1 Feb 2024 13:16:26 +0900 Subject: [PATCH 082/132] Remove unnecessary bison for Ruby 3.3.0 https://github.com/ruby/ruby/pull/7798 --- 3.3/alpine3.18/Dockerfile | 1 - 3.3/alpine3.19/Dockerfile | 1 - 3.3/bookworm/Dockerfile | 1 - 3.3/bullseye/Dockerfile | 1 - 3.3/slim-bookworm/Dockerfile | 1 - 3.3/slim-bullseye/Dockerfile | 1 - Dockerfile.template | 6 ++++++ 7 files changed, 6 insertions(+), 6 deletions(-) diff --git a/3.3/alpine3.18/Dockerfile b/3.3/alpine3.18/Dockerfile index 74a9ed71ab..a8fc31e8d3 100644 --- a/3.3/alpine3.18/Dockerfile +++ b/3.3/alpine3.18/Dockerfile @@ -38,7 +38,6 @@ RUN set -eux; \ \ apk add --no-cache --virtual .ruby-builddeps \ autoconf \ - bison \ bzip2 \ bzip2-dev \ ca-certificates \ diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index ca56f0f9f3..09166fdd97 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -38,7 +38,6 @@ RUN set -eux; \ \ apk add --no-cache --virtual .ruby-builddeps \ autoconf \ - bison \ bzip2 \ bzip2-dev \ ca-certificates \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index ec774551c9..42ab5f94e7 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -28,7 +28,6 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bison \ dpkg-dev \ libgdbm-dev \ ruby \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index a2f0cdd3f2..3be8ea342d 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -28,7 +28,6 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bison \ dpkg-dev \ libgdbm-dev \ ruby \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index a873fb2ec5..ace67cb4a5 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -42,7 +42,6 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bison \ dpkg-dev \ libgdbm-dev \ ruby \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 58b43445aa..da0533312f 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -42,7 +42,6 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bison \ dpkg-dev \ libgdbm-dev \ ruby \ diff --git a/Dockerfile.template b/Dockerfile.template index 4cb9f1ea37..b59a19ea71 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -69,7 +69,10 @@ RUN set -eux; \ {{ if is_alpine then ( -}} apk add --no-cache --virtual .ruby-builddeps \ autoconf \ +{{ if [ "3.0", "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ # https://github.com/docker-library/ruby/pull/438 -}} bison \ +{{ ) else "" end -}} bzip2 \ bzip2-dev \ ca-certificates \ @@ -103,7 +106,10 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ +{{ if [ "3.0", "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ # https://github.com/docker-library/ruby/pull/438 -}} bison \ +{{ ) else "" end -}} dpkg-dev \ libgdbm-dev \ ruby \ From cfdac1e2a0de73395dea8f048eae2541cb26715f Mon Sep 17 00:00:00 2001 From: Daisuke Aritomo Date: Sat, 17 Feb 2024 12:31:21 +0900 Subject: [PATCH 083/132] Workaround 3.3.0 crash on arm64 Ruby 3.3.0 has a bug which crashes many programs on arm64. https://bugs.ruby-lang.org/issues/20085 This bug is fixed in upstream (https://github.com/ruby/ruby/pull/9371) and is planned to be backported, but no date is given yet for the 3.3.1 release. This patch workarounds this bug by applying the upstream fix/backport in https://github.com/ruby/ruby/pull/9385 . Co-authored-by: Tianon Gravi --- 3.3/alpine3.18/Dockerfile | 7 +++++++ 3.3/alpine3.19/Dockerfile | 7 +++++++ 3.3/bookworm/Dockerfile | 7 +++++++ 3.3/bullseye/Dockerfile | 7 +++++++ 3.3/slim-bookworm/Dockerfile | 7 +++++++ 3.3/slim-bullseye/Dockerfile | 7 +++++++ Dockerfile.template | 9 +++++++++ 7 files changed, 51 insertions(+) diff --git a/3.3/alpine3.18/Dockerfile b/3.3/alpine3.18/Dockerfile index a8fc31e8d3..01c0153f14 100644 --- a/3.3/alpine3.18/Dockerfile +++ b/3.3/alpine3.18/Dockerfile @@ -117,6 +117,13 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # workaround crash on arm64 + # https://bugs.ruby-lang.org/issues/20085 + # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 + wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ + echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i arm64-fix.patch; \ + rm arm64-fix.patch; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 09166fdd97..e3ad15beed 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -117,6 +117,13 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # workaround crash on arm64 + # https://bugs.ruby-lang.org/issues/20085 + # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 + wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ + echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i arm64-fix.patch; \ + rm arm64-fix.patch; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 42ab5f94e7..79801b37f3 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -75,6 +75,13 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # workaround crash on arm64 + # https://bugs.ruby-lang.org/issues/20085 + # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 + wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ + echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i arm64-fix.patch; \ + rm arm64-fix.patch; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 3be8ea342d..70b0fd66d1 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -75,6 +75,13 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # workaround crash on arm64 + # https://bugs.ruby-lang.org/issues/20085 + # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 + wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ + echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i arm64-fix.patch; \ + rm arm64-fix.patch; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index ace67cb4a5..183503cb9c 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -101,6 +101,13 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # workaround crash on arm64 + # https://bugs.ruby-lang.org/issues/20085 + # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 + wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ + echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i arm64-fix.patch; \ + rm arm64-fix.patch; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index da0533312f..6ed757bea7 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -101,6 +101,13 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ + # workaround crash on arm64 + # https://bugs.ruby-lang.org/issues/20085 + # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 + wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ + echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i arm64-fix.patch; \ + rm arm64-fix.patch; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/Dockerfile.template b/Dockerfile.template index b59a19ea71..3387f9cb30 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -252,6 +252,15 @@ RUN set -eux; \ export LIBS='-lucontext'; \ ;; \ esac; \ +{{ ) else "" end -}} +{{ if .version == "3.3.0" then ( -}} + # workaround crash on arm64 + # https://bugs.ruby-lang.org/issues/20085 + # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 + wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ + echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i arm64-fix.patch; \ + rm arm64-fix.patch; \ {{ ) else "" end -}} gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ From 7ac7122778cc764cd50271807efe2e94775b2c21 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 29 Feb 2024 13:45:14 -0800 Subject: [PATCH 084/132] Apply arm64 patch sooner so `autoconf` regenerates `configure` correctly --- 3.3/alpine3.18/Dockerfile | 3 ++- 3.3/alpine3.19/Dockerfile | 3 ++- 3.3/bookworm/Dockerfile | 3 ++- 3.3/bullseye/Dockerfile | 3 ++- 3.3/slim-bookworm/Dockerfile | 3 ++- 3.3/slim-bullseye/Dockerfile | 3 ++- Dockerfile.template | 19 ++++++++++--------- 7 files changed, 22 insertions(+), 15 deletions(-) diff --git a/3.3/alpine3.18/Dockerfile b/3.3/alpine3.18/Dockerfile index 01c0153f14..691fd02942 100644 --- a/3.3/alpine3.18/Dockerfile +++ b/3.3/alpine3.18/Dockerfile @@ -116,7 +116,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - autoconf; \ # workaround crash on arm64 # https://bugs.ruby-lang.org/issues/20085 # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 @@ -124,6 +123,8 @@ RUN set -eux; \ echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ patch -p1 -i arm64-fix.patch; \ rm arm64-fix.patch; \ + \ + autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index e3ad15beed..3c2de30c4a 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -116,7 +116,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - autoconf; \ # workaround crash on arm64 # https://bugs.ruby-lang.org/issues/20085 # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 @@ -124,6 +123,8 @@ RUN set -eux; \ echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ patch -p1 -i arm64-fix.patch; \ rm arm64-fix.patch; \ + \ + autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 79801b37f3..e66e1a392d 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -74,7 +74,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - autoconf; \ # workaround crash on arm64 # https://bugs.ruby-lang.org/issues/20085 # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 @@ -82,6 +81,8 @@ RUN set -eux; \ echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ patch -p1 -i arm64-fix.patch; \ rm arm64-fix.patch; \ + \ + autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 70b0fd66d1..33b18b722d 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -74,7 +74,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - autoconf; \ # workaround crash on arm64 # https://bugs.ruby-lang.org/issues/20085 # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 @@ -82,6 +81,8 @@ RUN set -eux; \ echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ patch -p1 -i arm64-fix.patch; \ rm arm64-fix.patch; \ + \ + autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 183503cb9c..c69e19331d 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -100,7 +100,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - autoconf; \ # workaround crash on arm64 # https://bugs.ruby-lang.org/issues/20085 # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 @@ -108,6 +107,8 @@ RUN set -eux; \ echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ patch -p1 -i arm64-fix.patch; \ rm arm64-fix.patch; \ + \ + autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 6ed757bea7..020ba65712 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -100,7 +100,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - autoconf; \ # workaround crash on arm64 # https://bugs.ruby-lang.org/issues/20085 # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 @@ -108,6 +107,8 @@ RUN set -eux; \ echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ patch -p1 -i arm64-fix.patch; \ rm arm64-fix.patch; \ + \ + autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/Dockerfile.template b/Dockerfile.template index 3387f9cb30..a01ca4934b 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -238,6 +238,16 @@ RUN set -eux; \ cat file.c; \ } > file.c.new; \ mv file.c.new file.c; \ +{{ if .version == "3.3.0" then ( -}} + \ + # workaround crash on arm64 + # https://bugs.ruby-lang.org/issues/20085 + # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 + wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ + echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i arm64-fix.patch; \ + rm arm64-fix.patch; \ +{{ ) else "" end -}} \ autoconf; \ {{ if is_alpine and "3.0" == (env.version | rtrimstr("-rc")) then ( -}} @@ -252,15 +262,6 @@ RUN set -eux; \ export LIBS='-lucontext'; \ ;; \ esac; \ -{{ ) else "" end -}} -{{ if .version == "3.3.0" then ( -}} - # workaround crash on arm64 - # https://bugs.ruby-lang.org/issues/20085 - # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 - wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ - echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i arm64-fix.patch; \ - rm arm64-fix.patch; \ {{ ) else "" end -}} gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ From 77efb18a0fb15955a4f77c9fa1d3968875915b78 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Fri, 5 Apr 2024 14:54:06 -0700 Subject: [PATCH 085/132] Fix `dpkg-query --search` to be more specific --- 3.0/bullseye/Dockerfile | 2 +- 3.0/buster/Dockerfile | 2 +- 3.0/slim-bullseye/Dockerfile | 2 +- 3.0/slim-buster/Dockerfile | 2 +- 3.1/bookworm/Dockerfile | 2 +- 3.1/bullseye/Dockerfile | 2 +- 3.1/slim-bookworm/Dockerfile | 2 +- 3.1/slim-bullseye/Dockerfile | 2 +- 3.2/bookworm/Dockerfile | 2 +- 3.2/bullseye/Dockerfile | 2 +- 3.2/slim-bookworm/Dockerfile | 2 +- 3.2/slim-bullseye/Dockerfile | 2 +- 3.3/bookworm/Dockerfile | 2 +- 3.3/bullseye/Dockerfile | 2 +- 3.3/slim-bookworm/Dockerfile | 2 +- 3.3/slim-bullseye/Dockerfile | 2 +- Dockerfile.template | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index a348d95d8c..e57c1e5eb7 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -64,7 +64,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index 0f67902bd7..becce5fae6 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -64,7 +64,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index 66ab15e3c9..22bf722f57 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -91,7 +91,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index 956097c485..3a49517c8c 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -91,7 +91,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile index 97991aa81b..48af0cc2d5 100644 --- a/3.1/bookworm/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -64,7 +64,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 80f0ec1ad6..86c8a5102c 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -64,7 +64,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index fef9c14ad4..85cefcf0a8 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -91,7 +91,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 346266152c..9225a64892 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -91,7 +91,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index f87fe76f9e..f445dd9ba9 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -90,7 +90,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index e753e00b32..fe861df4e9 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -90,7 +90,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index d5f809841b..e5a9175c77 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -117,7 +117,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 189b7ff567..679b0501b4 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -117,7 +117,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index e66e1a392d..44440813c5 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -97,7 +97,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 33b18b722d..89bb994e4d 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -97,7 +97,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index c69e19331d..10d00dea43 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -123,7 +123,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 020ba65712..8d3744e6d6 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -123,7 +123,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ diff --git a/Dockerfile.template b/Dockerfile.template index a01ca4934b..cfa4306e93 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -291,7 +291,7 @@ RUN set -eux; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ From 53646d3dc96008bd20218a4d9aeb5695619fb4f7 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 23 Apr 2024 08:14:18 -0700 Subject: [PATCH 086/132] [security] Update to 3.3.1, 3.2.4, 3.1.5, 3.0.7 --- 3.0/alpine3.16/Dockerfile | 10 ++- 3.0/bullseye/Dockerfile | 10 ++- 3.0/buster/Dockerfile | 10 ++- 3.0/slim-bullseye/Dockerfile | 10 ++- 3.0/slim-buster/Dockerfile | 10 ++- 3.1/alpine3.18/Dockerfile | 10 ++- 3.1/alpine3.19/Dockerfile | 10 ++- 3.1/bookworm/Dockerfile | 10 ++- 3.1/bullseye/Dockerfile | 10 ++- 3.1/slim-bookworm/Dockerfile | 10 ++- 3.1/slim-bullseye/Dockerfile | 10 ++- 3.2/alpine3.18/Dockerfile | 8 +- 3.2/alpine3.19/Dockerfile | 8 +- 3.2/bookworm/Dockerfile | 8 +- 3.2/bullseye/Dockerfile | 8 +- 3.2/slim-bookworm/Dockerfile | 8 +- 3.2/slim-bullseye/Dockerfile | 8 +- 3.3/alpine3.18/Dockerfile | 16 +--- 3.3/alpine3.19/Dockerfile | 16 +--- 3.3/bookworm/Dockerfile | 16 +--- 3.3/bullseye/Dockerfile | 16 +--- 3.3/slim-bookworm/Dockerfile | 16 +--- 3.3/slim-bullseye/Dockerfile | 16 +--- versions.json | 151 +++++++++++++++++------------------ 24 files changed, 187 insertions(+), 218 deletions(-) diff --git a/3.0/alpine3.16/Dockerfile b/3.0/alpine3.16/Dockerfile index 377e2f8d29..45dc15fdec 100644 --- a/3.0/alpine3.16/Dockerfile +++ b/3.0/alpine3.16/Dockerfile @@ -26,9 +26,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.6 -ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_VERSION 3.0.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -65,7 +67,7 @@ RUN set -eux; \ zlib-dev \ ; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index e57c1e5eb7..f8645c1f2f 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -15,9 +15,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.6 -ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_VERSION 3.0.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -33,7 +35,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index becce5fae6..104bc54ac2 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -15,9 +15,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.6 -ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_VERSION 3.0.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -33,7 +35,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index 22bf722f57..e98952d3f6 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -29,9 +29,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.6 -ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_VERSION 3.0.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -60,7 +62,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index 3a49517c8c..0d690e232d 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -29,9 +29,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.6 -ENV RUBY_DOWNLOAD_SHA256 b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1 + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_VERSION 3.0.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -60,7 +62,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.1/alpine3.18/Dockerfile b/3.1/alpine3.18/Dockerfile index 4bc3519e2a..eed94cc85b 100644 --- a/3.1/alpine3.18/Dockerfile +++ b/3.1/alpine3.18/Dockerfile @@ -26,9 +26,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.4 -ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ +ENV RUBY_VERSION 3.1.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -65,7 +67,7 @@ RUN set -eux; \ zlib-dev \ ; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.1/alpine3.19/Dockerfile b/3.1/alpine3.19/Dockerfile index d5b4dbc879..c965966336 100644 --- a/3.1/alpine3.19/Dockerfile +++ b/3.1/alpine3.19/Dockerfile @@ -26,9 +26,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.4 -ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ +ENV RUBY_VERSION 3.1.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -65,7 +67,7 @@ RUN set -eux; \ zlib-dev \ ; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile index 48af0cc2d5..8d4fe5ce4a 100644 --- a/3.1/bookworm/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -15,9 +15,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.4 -ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ +ENV RUBY_VERSION 3.1.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -33,7 +35,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 86c8a5102c..07bad766c5 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -15,9 +15,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.4 -ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ +ENV RUBY_VERSION 3.1.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -33,7 +35,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index 85cefcf0a8..f6adcb60a9 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -29,9 +29,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.4 -ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ +ENV RUBY_VERSION 3.1.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -60,7 +62,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 9225a64892..e442181419 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -29,9 +29,11 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -ENV RUBY_MAJOR 3.1 -ENV RUBY_VERSION 3.1.4 -ENV RUBY_DOWNLOAD_SHA256 1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f + +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ +ENV RUBY_VERSION 3.1.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -60,7 +62,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.2/alpine3.18/Dockerfile b/3.2/alpine3.18/Dockerfile index 800f1b611b..b7ad3ec2d3 100644 --- a/3.2/alpine3.18/Dockerfile +++ b/3.2/alpine3.18/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ -ENV RUBY_VERSION 3.2.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ +ENV RUBY_VERSION 3.2.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index a8b51c1294..a8c92e9cfb 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ -ENV RUBY_VERSION 3.2.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ +ENV RUBY_VERSION 3.2.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index f445dd9ba9..74ce1a0dfb 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ -ENV RUBY_VERSION 3.2.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ +ENV RUBY_VERSION 3.2.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index fe861df4e9..2b070f6c2f 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ -ENV RUBY_VERSION 3.2.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ +ENV RUBY_VERSION 3.2.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index e5a9175c77..bf66d8db02 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ -ENV RUBY_VERSION 3.2.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ +ENV RUBY_VERSION 3.2.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 679b0501b4..23897b7fa5 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/ -ENV RUBY_VERSION 3.2.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ +ENV RUBY_VERSION 3.2.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/alpine3.18/Dockerfile b/3.3/alpine3.18/Dockerfile index 691fd02942..324bd23658 100644 --- a/3.3/alpine3.18/Dockerfile +++ b/3.3/alpine3.18/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ -ENV RUBY_VERSION 3.3.0 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz -ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ +ENV RUBY_VERSION 3.3.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -116,14 +116,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - # workaround crash on arm64 - # https://bugs.ruby-lang.org/issues/20085 - # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 - wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ - echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i arm64-fix.patch; \ - rm arm64-fix.patch; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 3c2de30c4a..40fcaabad2 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ -ENV RUBY_VERSION 3.3.0 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz -ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ +ENV RUBY_VERSION 3.3.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -116,14 +116,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - # workaround crash on arm64 - # https://bugs.ruby-lang.org/issues/20085 - # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 - wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ - echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i arm64-fix.patch; \ - rm arm64-fix.patch; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 44440813c5..edccd883ed 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ -ENV RUBY_VERSION 3.3.0 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz -ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ +ENV RUBY_VERSION 3.3.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -74,14 +74,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - # workaround crash on arm64 - # https://bugs.ruby-lang.org/issues/20085 - # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 - wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ - echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i arm64-fix.patch; \ - rm arm64-fix.patch; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 89bb994e4d..f03e56f183 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ -ENV RUBY_VERSION 3.3.0 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz -ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ +ENV RUBY_VERSION 3.3.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -74,14 +74,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - # workaround crash on arm64 - # https://bugs.ruby-lang.org/issues/20085 - # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 - wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ - echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i arm64-fix.patch; \ - rm arm64-fix.patch; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 10d00dea43..5af2387d6d 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ -ENV RUBY_VERSION 3.3.0 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz -ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ +ENV RUBY_VERSION 3.3.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -100,14 +100,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - # workaround crash on arm64 - # https://bugs.ruby-lang.org/issues/20085 - # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 - wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ - echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i arm64-fix.patch; \ - rm arm64-fix.patch; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 8d3744e6d6..436b9af0f8 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ -ENV RUBY_VERSION 3.3.0 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz -ENV RUBY_DOWNLOAD_SHA256 676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ +ENV RUBY_VERSION 3.3.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -100,14 +100,6 @@ RUN set -eux; \ } > file.c.new; \ mv file.c.new file.c; \ \ - # workaround crash on arm64 - # https://bugs.ruby-lang.org/issues/20085 - # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 - wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ - echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i arm64-fix.patch; \ - rm arm64-fix.patch; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/versions.json b/versions.json index 0e183389b6..0fd1fe4466 100644 --- a/versions.json +++ b/versions.json @@ -1,32 +1,32 @@ { "3.0": { - "version": "3.0.6", - "date": "2023-03-30", - "post": "/en/news/2023/03/30/ruby-3-0-6-released/", + "version": "3.0.7", + "date": "2024-04-23", + "post": "/en/news/2024/04/23/ruby-3-0-7-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.6.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.6.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.6.zip" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.zip" }, "size": { - "gz": 21315725, - "xz": 15864560, - "zip": 25694359 + "gz": 21268288, + "xz": 15848768, + "zip": 25652209 }, "sha1": { - "gz": "1052441f0abbb0302fb9f1481d2db99dfb4d4c29", - "xz": "7880c34d7193224e967163b12f33bf7aaf7304f6", - "zip": "e75d1bc14dd89c176145dc3968774e30f3a17652" + "gz": "ec95aee1364fc4d0ca0e8f83c525127016e05c86", + "xz": "efc97e609868a19f89653068c4915c162117b721", + "zip": "b258a1bfcd49fb801b83a0aec90a8bb3989e9e42" }, "sha256": { - "gz": "6e6cbd490030d7910c0ff20edefab4294dfcd1046f0f8f47f78b597987ac683e", - "xz": "b5cbee93e62d85cfb2a408c49fa30a74231ae8409c2b3858e5f5ea254d7ddbd1", - "zip": "428d518d12f09df4146fc31dbed47c8d7e10fcccd2426948e5c0862d9321480d" + "gz": "2a3411977f2850431136b0fab8ad53af09fb74df2ee2f4fb7f11b378fe034388", + "xz": "1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab", + "zip": "163d752070a2ba1a015f004ae75e38ac9aa44bc4ebfafb55d5ff184cc72db5be" }, "sha512": { - "gz": "d596bfd374ae777717379b409afe8ee1655ade0c0539ada7a10af4780b818efe25a28aa50a2a7226741d1776d744e10ad916641f9d12fb31c7444b0a01d0e0cc", - "xz": "abbf883cd9f3ddbd171df8f8c3cd35d930623c4c01a5e01387de0aee9811cca7604b82163e18e04f809773bf1ca5a450f13f62f3db14f191f610e116ae4fa6f8", - "zip": "576d11c668acac57cf4952228b148d17f16ab1dc491145355a4f2068b15f6cab8a4007a84d9d1eda4c1b62837675c82be99ebe6379c314f46c6ebbbf89677b5e" + "gz": "66e5116ddd027ab1b27d466104a5b440889318b4f2f74b5fdf3099812bf5f7ef77be62fe1df37e0dc7cd5b2f5efe7fee5b9096910ce815ca4126577cb2abfaa7", + "xz": "4760dc7d1345279b53cff30f3dd015b67f6a505e5028357f046dbf23b15a52d09f7d91fcfe5cb75d6c3222e7283aad12b97b36f5de0ff959f824bd42073f9c48", + "zip": "ed5e6d827ba981808bc4d914e400963b4443d522d52dd5d3f645db0cf38b50ab6c9baafac1b5e348e677500a16ceef1a5ac15c6a67003c2b2037cb86c1bd3654" }, "variants": [ "bullseye", @@ -37,33 +37,33 @@ ] }, "3.1": { - "version": "3.1.4", - "date": "2023-03-30", - "post": "/en/news/2023/03/30/ruby-3-1-4-released/", + "version": "3.1.5", + "date": "2024-04-23", + "post": "/en/news/2024/04/23/ruby-3-1-5-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.zip" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.zip" }, "size": { - "gz": 20917933, - "xz": 15316604, - "zip": 25241255 + "gz": 20884264, + "xz": 15293020, + "zip": 25208327 }, "sha1": { - "gz": "38eddfc5a7536b6c8133183563009a4ed9bbe6db", - "xz": "2e2fbf43b7db6f24280548a3544912535bed8212", - "zip": "1061632623caa82a68a04a35777ed8f1797a9f8f" + "gz": "e3387c8fa2b6faf20beade2239ebdfc701ee6268", + "xz": "807bf2b261cf71e7fe58641a6b5dac61fdeb05ea", + "zip": "83c6b2f26a35a1b23fef091e6db5c60ad0f52bf9" }, "sha256": { - "gz": "a3d55879a0dfab1d7141fdf10d22a07dbf8e5cdc4415da1bde06127d5cc3c7b6", - "xz": "1b6d6010e76036c937b9671f4752f065aeca800a6c664f71f6c9a699453af94f", - "zip": "1fce1ab3d61d10a857dc821dab6e77fa41d0663c5dbbfaa5d9b9c2bdec5ce303" + "gz": "3685c51eeee1352c31ea039706d71976f53d00ab6d77312de6aa1abaf5cda2c5", + "xz": "f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91", + "zip": "e5eefbd95844b0322f6b2650cdef4d884d31c08856df7362375d26360cca9ba4" }, "sha512": { - "gz": "41cf1561dd7eb249bb2c2f5ea958884880648cc1d11da9315f14158a2d0ff94b2c5c7d75291a67e57e1813d2ec7b618e5372a9f18ee93be6ed306f47b0d3199a", - "xz": "a627bb629a10750b8b2081ad451a41faea0fc85d95aa1e267e3d2a0f56a35bb58195d4a8d13bbdbd82f4197a96dae22b1cee1dfc83861ec33a67ece07aef5633", - "zip": "3a334302df97c2c7fec3c2d05d19a40b1ec6f95fef52c85d397196ce62fac4834f96783f0ac7fcba6e2a670f004bcc275db6f1810ace6c68a594e7d2fd9b297b" + "gz": "23661cb1b61013d912b7433f8707bbcd723391694d91f413747c71428e74f8c7385c1304de7d08b70c9fa3bd649e4eb5e9acb472d89dc2ad5678cc54855a24ae", + "xz": "a9883f4d074825bb1f54ef3429a9a71341274bd2de1aa8ea32bce19b6b9c1bac5e5dc4c34a92b8e7caa73ba71d7ed7c546a6fec6f1fd3d8986974dce214f6d49", + "zip": "390e6f99b101aa80de924532bfb0b9fc29702b1e14b92e12cc596e9c76f9a2e52ba0e72eb95accb4bac16d5d10d81900a2e8afba80aa514ef870f52cfd50b4fd" }, "variants": [ "bookworm", @@ -75,33 +75,33 @@ ] }, "3.2": { - "version": "3.2.3", - "date": "2024-01-18", - "post": "/en/news/2024/01/18/ruby-3-2-3-released/", + "version": "3.2.4", + "date": "2024-04-23", + "post": "/en/news/2024/04/23/ruby-3-2-4-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.3.zip" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.zip" }, "size": { - "gz": 20577155, - "xz": 15163960, - "zip": 24734275 + "gz": 20581711, + "zip": 24739492, + "xz": 15175656 }, "sha1": { - "gz": "7f553e514cb42751a61c3a560a7e8d727c6931ca", - "xz": "08e0016c8b96103930aaa3b2323081d8f5756e25", - "zip": "e305dfe36229c5328d231ea0ac03ae5e05bfaca6" + "gz": "a177e809102270f1cd77bf23c6df30c50ee7c107", + "zip": "e81354859b904711ce18eda1f42960a53caf3019", + "xz": "2806593a486f54ce56e5ba83c152f397e48eb416" }, "sha256": { - "gz": "af7f1757d9ddb630345988139211f1fd570ff5ba830def1cc7c468ae9b65c9ba", - "xz": "cfb231954b8c241043a538a4c682a1cca0b2016d835fee0b9e4a0be3ceba476b", - "zip": "42aa39f74e5be9e24e4db47e7bfb15dc7e095f7e2295859b355edccf6fab96a2" + "gz": "c72b3c5c30482dca18b0f868c9075f3f47d8168eaf626d4e682ce5b59c858692", + "zip": "7edc0163bb033e895a8a97392be0146daec03769c1a6c7f8d084b6e8dc7f7299", + "xz": "e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b" }, "sha512": { - "gz": "75aecd9cf87f1fa66b24ecda8837a53162071b4f8801dcfd79119a24c6e81df3e3e2ba478e1cc48c60103dfaab12a00cfa2039a621f8651298eba8bd8d576360", - "xz": "d2a1897c2f4e801a28acb869322abfee76775115016252cecad90639485ed51deda1446cb16edb387f10a2e188602d646ef9b008b57f27bd745071277c535f3b", - "zip": "fd89a0a833df4b5cb1734a7ffc86a8cf7cb3a8e25944331db674d3ad7732f615867e7e214e1fdd61e44e9c9c856b461b46219b340de7c87a758f28f3a99dd172" + "gz": "b695b98dac7bb2c8755a106d949cb1b1b91551092fad263765171ddf8a4d86585259ffab5f7cc9bace70143d645dbe5932cfc61c6dba7817177de391d76bcd79", + "zip": "b52a95b19d98ff5bd29aa74cb7d2cbad58f1ccad75892ad966aec35eef1a57f7c9727b8fd2a51c5c6a1677eaf67226afceee8ce079e523c7b264e841790ddcae", + "xz": "fb0af37be4b6ad7b98ab9f8a508952238ee68b5828e3926331e4db52e2ebc1e6046f31114069322db0cd3bea7c9b82ace91c8564573ddcfa1f960877b237dbff" }, "variants": [ "bookworm", @@ -145,39 +145,34 @@ } }, "3.3": { - "version": "3.3.0", - "date": "2023-12-25", - "post": "/en/news/2023/12/25/ruby-3-3-0-released/", - "tag": "v3_3_0", - "stats": { - "files_changed": 5532, - "insertions": 326851, - "deletions": 185793 - }, + "version": "3.3.1", + "date": "2024-04-23", + "post": "/en/news/2024/04/23/ruby-3-3-1-released/", + "tag": "v3_3_1", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz" }, "size": { - "gz": 22065999, - "zip": 26935108, - "xz": 16345456 + "gz": 22074535, + "zip": 26953741, + "xz": 16350792 }, "sha1": { - "gz": "1a7e56851bf29bda1183aca99b3b323c58e0187b", - "zip": "a433eef1d7f96daeaf3b4cb842d0ed2dd82e7dc1", - "xz": "c8f68e1b0a114b90460a0b44165a3b2f540fa5b6" + "gz": "affd82947d7cd84bd586f7f487a1da0c0bd8b1fd", + "zip": "98b9858e3c125cfe6ca838ac4e4e269fa34bcaaa", + "xz": "88ef585faece4ed76f4330bce52903664d4fbfe0" }, "sha256": { - "gz": "96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d", - "zip": "0e6563f679dd3694732eb3addf9de681c67b584602ac574376b60e7a509d2cd8", - "xz": "676b65a36e637e90f982b57b059189b3276b9045034dcd186a7e9078847b975b" + "gz": "8dc2af2802cc700cd182d5430726388ccf885b3f0a14fcd6a0f21ff249c9aa99", + "zip": "d81c99dd03d095f116361c9d097145666f7bb2512cd856ee086545b1c3e54c55", + "xz": "0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b" }, "sha512": { - "gz": "26074009b501fc793d71a74e419f34a6033c9353433919ca74ba2d24a3de432dbb11fd92c2bc285f0e4d951a6d6c74bf5b69a2ab36200c8c26e871746d6e0fc6", - "zip": "a94a85937a14b217c1f4b90d24185289ed4aee79239c4f3eecf8034d3fd34e65ee8d66869473857ed153067188adc9b70c0471e4ebe842c9f98ef60c34090450", - "xz": "7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01" + "gz": "0c8ea922a79152ac7adbfb2541320565bce6a631692fd39d499a06f53ad6339c16fad8374d171351ed63f7bda3312b26d4f8c058c5b6df3d7548fde372c718f1", + "zip": "200bfcc1cc11282c64b03fe529287509684e01266d248ec85f51f6b382beebd8324321c2db59f52185f42c49fdde84aaa42cb59f0048faca389985431224564d", + "xz": "c58e9be9b5ab48191fbf7d67e13f0ec42ee71ed338170e0f7b246708e9cfc617ce65098f5ce7ab32d4305e785642d3e44253462104d5b9c4abcb1a4113f48347" }, "variants": [ "bookworm", From 1db5a7b341c03963ea27b0664f46bcf2e47c0912 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 23 Apr 2024 09:25:48 -0700 Subject: [PATCH 087/132] Revert RUBY_MAJOR refactoring for 3.0 (since it's effectively EOL now except the possibility of a severe regression: https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/) --- 3.0/alpine3.16/Dockerfile | 4 ++-- 3.0/bullseye/Dockerfile | 4 ++-- 3.0/buster/Dockerfile | 4 ++-- 3.0/slim-bullseye/Dockerfile | 4 ++-- 3.0/slim-buster/Dockerfile | 4 ++-- Dockerfile.template | 8 ++++---- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/3.0/alpine3.16/Dockerfile b/3.0/alpine3.16/Dockerfile index 45dc15fdec..76f99ef7db 100644 --- a/3.0/alpine3.16/Dockerfile +++ b/3.0/alpine3.16/Dockerfile @@ -28,8 +28,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 # https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_MAJOR 3.0 ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby @@ -67,7 +67,7 @@ RUN set -eux; \ zlib-dev \ ; \ \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile index f8645c1f2f..1bbb0cbfe6 100644 --- a/3.0/bullseye/Dockerfile +++ b/3.0/bullseye/Dockerfile @@ -17,8 +17,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 # https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_MAJOR 3.0 ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby @@ -35,7 +35,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile index 104bc54ac2..ddf71619e0 100644 --- a/3.0/buster/Dockerfile +++ b/3.0/buster/Dockerfile @@ -17,8 +17,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 # https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_MAJOR 3.0 ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby @@ -35,7 +35,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile index e98952d3f6..7f8ba05edc 100644 --- a/3.0/slim-bullseye/Dockerfile +++ b/3.0/slim-bullseye/Dockerfile @@ -31,8 +31,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 # https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_MAJOR 3.0 ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby @@ -62,7 +62,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile index 0d690e232d..d2d74ca983 100644 --- a/3.0/slim-buster/Dockerfile +++ b/3.0/slim-buster/Dockerfile @@ -31,8 +31,8 @@ RUN set -eux; \ ENV LANG C.UTF-8 # https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ +ENV RUBY_MAJOR 3.0 ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab # some of ruby's build scripts are written in ruby @@ -62,7 +62,7 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/*; \ \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ diff --git a/Dockerfile.template b/Dockerfile.template index cfa4306e93..457a7c4bcf 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -50,13 +50,13 @@ RUN set -eux; \ } >> /usr/local/etc/gemrc ENV LANG C.UTF-8 -{{ if .version | . == "3.0.6" or . == "3.1.4" or . == "3.2.2" then ( -}} + +# https://www.ruby-lang.org/{{ .post | ltrimstr("/") }} +{{ if env.version == "3.0" then ( -}} ENV RUBY_MAJOR {{ env.version }} ENV RUBY_VERSION {{ .version }} ENV RUBY_DOWNLOAD_SHA256 {{ .sha256.xz }} {{ ) else ( -}} - -# https://www.ruby-lang.org/{{ .post | ltrimstr("/") }} ENV RUBY_VERSION {{ .version }} ENV RUBY_DOWNLOAD_URL {{ .url.xz }} ENV RUBY_DOWNLOAD_SHA256 {{ .sha256.xz }} @@ -203,7 +203,7 @@ RUN set -eux; \ fi; \ {{ ) else "" end -}} \ -{{ if .version | . == "3.0.6" or . == "3.1.4" or . == "3.2.2" then ( -}} +{{ if env.version == "3.0" then ( -}} {{ if .url.xz != "https://cache.ruby-lang.org/pub/ruby/\(env.version | rtrimstr("-rc"))/ruby-\(.version).tar.xz" then error("url for \(.version) is not as expected!") else "" end -}} wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ {{ ) else ( -}} From ed54bf2587aacd0ece5cc0931ce2c2b56fafb9d0 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Tue, 23 Apr 2024 19:28:10 +0200 Subject: [PATCH 088/132] Remove 3.3.0 arm64 patch This is now part of 3.3.1 --- Dockerfile.template | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Dockerfile.template b/Dockerfile.template index 457a7c4bcf..5bbca8b1ea 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -238,16 +238,6 @@ RUN set -eux; \ cat file.c; \ } > file.c.new; \ mv file.c.new file.c; \ -{{ if .version == "3.3.0" then ( -}} - \ - # workaround crash on arm64 - # https://bugs.ruby-lang.org/issues/20085 - # https://github.com/ruby/ruby/pull/9385 <- https://github.com/ruby/ruby/pull/9371 - wget -O 'arm64-fix.patch' 'https://github.com/ruby/ruby/commit/7f97e3540ce448b501bcbee15afac5f94bb22dd9.patch?full_index=1'; \ - echo '86bc65415fd62cb2272a4df249f39fb79db15617ad05c540e05a22f02eae73b3 *arm64-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i arm64-fix.patch; \ - rm arm64-fix.patch; \ -{{ ) else "" end -}} \ autoconf; \ {{ if is_alpine and "3.0" == (env.version | rtrimstr("-rc")) then ( -}} From b0fcebf807054af9b58c2d55a0e54d9636298737 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Thu, 25 Apr 2024 23:21:25 +0200 Subject: [PATCH 089/132] Bump `actions/checkout` to v4 > Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3. > For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/. --- .github/workflows/ci.yml | 4 ++-- .github/workflows/verify-templating.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 61ffb56ef1..9e33b8bfa1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: outputs: strategy: ${{ steps.generate-jobs.outputs.strategy }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: docker-library/bashbrew@HEAD - id: generate-jobs name: Generate Jobs @@ -44,7 +44,7 @@ jobs: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Prepare Environment run: ${{ matrix.runs.prepare }} - name: Pull Dependencies diff --git a/.github/workflows/verify-templating.yml b/.github/workflows/verify-templating.yml index 14497bec68..2e1fb78729 100644 --- a/.github/workflows/verify-templating.yml +++ b/.github/workflows/verify-templating.yml @@ -13,7 +13,7 @@ jobs: name: Check For Uncomitted Changes runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Apply Templates run: ./apply-templates.sh - name: Check Git Status From bfd3f474cdaef7cf5ed6741bef80355c62e9ba2f Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 16 May 2024 09:05:11 -0700 Subject: [PATCH 090/132] Add 3.4.0-preview1 --- 3.4-rc/alpine3.18/Dockerfile | 164 ++++++++++++++++++++++++++++++++ 3.4-rc/alpine3.19/Dockerfile | 164 ++++++++++++++++++++++++++++++++ 3.4-rc/bookworm/Dockerfile | 119 +++++++++++++++++++++++ 3.4-rc/bullseye/Dockerfile | 119 +++++++++++++++++++++++ 3.4-rc/slim-bookworm/Dockerfile | 145 ++++++++++++++++++++++++++++ 3.4-rc/slim-bullseye/Dockerfile | 145 ++++++++++++++++++++++++++++ versions.json | 77 +++++++++++++++ 7 files changed, 933 insertions(+) create mode 100644 3.4-rc/alpine3.18/Dockerfile create mode 100644 3.4-rc/alpine3.19/Dockerfile create mode 100644 3.4-rc/bookworm/Dockerfile create mode 100644 3.4-rc/bullseye/Dockerfile create mode 100644 3.4-rc/slim-bookworm/Dockerfile create mode 100644 3.4-rc/slim-bullseye/Dockerfile diff --git a/3.4-rc/alpine3.18/Dockerfile b/3.4-rc/alpine3.18/Dockerfile new file mode 100644 index 0000000000..9931b5bb1a --- /dev/null +++ b/3.4-rc/alpine3.18/Dockerfile @@ -0,0 +1,164 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.18 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ +ENV RUBY_VERSION 3.4.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4-rc/alpine3.19/Dockerfile b/3.4-rc/alpine3.19/Dockerfile new file mode 100644 index 0000000000..9eb48f1426 --- /dev/null +++ b/3.4-rc/alpine3.19/Dockerfile @@ -0,0 +1,164 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.19 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ +ENV RUBY_VERSION 3.4.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4-rc/bookworm/Dockerfile b/3.4-rc/bookworm/Dockerfile new file mode 100644 index 0000000000..4b736cbbf6 --- /dev/null +++ b/3.4-rc/bookworm/Dockerfile @@ -0,0 +1,119 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bookworm + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ +ENV RUBY_VERSION 3.4.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4-rc/bullseye/Dockerfile b/3.4-rc/bullseye/Dockerfile new file mode 100644 index 0000000000..bc900b2d0b --- /dev/null +++ b/3.4-rc/bullseye/Dockerfile @@ -0,0 +1,119 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ +ENV RUBY_VERSION 3.4.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4-rc/slim-bookworm/Dockerfile b/3.4-rc/slim-bookworm/Dockerfile new file mode 100644 index 0000000000..b74c10f521 --- /dev/null +++ b/3.4-rc/slim-bookworm/Dockerfile @@ -0,0 +1,145 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bookworm-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ +ENV RUBY_VERSION 3.4.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4-rc/slim-bullseye/Dockerfile b/3.4-rc/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..c7a484607c --- /dev/null +++ b/3.4-rc/slim-bullseye/Dockerfile @@ -0,0 +1,145 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + { \ + echo 'install: --no-document'; \ + echo 'update: --no-document'; \ + } >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ +ENV RUBY_VERSION 3.4.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +# adjust permissions of a few directories for running "gem install" as an arbitrary user +RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/versions.json b/versions.json index 0fd1fe4466..7bbdeaa5f6 100644 --- a/versions.json +++ b/versions.json @@ -214,5 +214,82 @@ }, "version": "1.26.0" } + }, + "3.4": null, + "3.4-rc": { + "version": "3.4.0-preview1", + "date": "2024-05-16", + "post": "/en/news/2024/05/16/ruby-3-4-0-preview1-released/", + "tag": "v3_4_0_preview1", + "stats": { + "files_changed": 3283, + "insertions": 107449, + "deletions": 115380 + }, + "url": { + "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz" + }, + "size": { + "gz": 22507726, + "zip": 27731060, + "xz": 16709536 + }, + "sha1": { + "gz": "1619cbe06b5a8c774711b3351d18bb0f84f1d017", + "zip": "5d79834050369ea9241d86467bf93e9e89e2ab7a", + "xz": "6041ad2651527d01c36106de3d3cdab680ed3132" + }, + "sha256": { + "gz": "1a3c322e90cb22e5fba0b5d257bb2be9988affa3867eba7642ed981fdde895bb", + "zip": "bd2a6c0e8396698e6f6768c00b0f155510859bb6fb92420f7b7abec610e71dbb", + "xz": "4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97" + }, + "sha512": { + "gz": "29c0e32179f7b823b6708f5328e495cd333fe8dd88f7df7d9051deab47add67b14d899bba565bba1a77e1b04c9693d9708541445c112925777bb6891cb7b2b62", + "zip": "36ea6897e6ad769141516f4c1bb18989fbde27a76f0f3abcce947f8b6b79639846ba93907e085181f7d305ab06ad73f1bbb37928049c8c951d33176ee444abbf", + "xz": "4ce306b9beb1e2d88c76d7f809724b66bed17e354c07a2b54aa050fc2035652e4d83deadc8dbf7a375bbdb1c816f2996334bb8e7ff5e6c24b71a858bf6b0cb7c" + }, + "variants": [ + "bookworm", + "slim-bookworm", + "bullseye", + "slim-bullseye", + "alpine3.19", + "alpine3.18" + ], + "rust": { + "version": "1.74.1" + }, + "rustup": { + "arches": { + "amd64": { + "glibc": { + "arch": "x86_64-unknown-linux-gnu", + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "x86_64-unknown-linux-musl", + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + } + }, + "arm64v8": { + "glibc": { + "arch": "aarch64-unknown-linux-gnu", + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "aarch64-unknown-linux-musl", + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + } + } + }, + "version": "1.26.0" + } } } From cfb3148e13d2952e0a88863719959a6ec0ff0098 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Wed, 22 May 2024 22:21:55 +0200 Subject: [PATCH 091/132] Drop Ruby 3.0 It's EOL since 23 Apr 2024 and makes issues since it uses alpine 3.16 --- 3.0/alpine3.16/Dockerfile | 151 ----------------------------------- 3.0/bullseye/Dockerfile | 96 ---------------------- 3.0/buster/Dockerfile | 96 ---------------------- 3.0/slim-bullseye/Dockerfile | 123 ---------------------------- 3.0/slim-buster/Dockerfile | 123 ---------------------------- Dockerfile.template | 32 +------- versions.json | 37 --------- versions.sh | 26 ++---- 8 files changed, 11 insertions(+), 673 deletions(-) delete mode 100644 3.0/alpine3.16/Dockerfile delete mode 100644 3.0/bullseye/Dockerfile delete mode 100644 3.0/buster/Dockerfile delete mode 100644 3.0/slim-bullseye/Dockerfile delete mode 100644 3.0/slim-buster/Dockerfile diff --git a/3.0/alpine3.16/Dockerfile b/3.0/alpine3.16/Dockerfile deleted file mode 100644 index 76f99ef7db..0000000000 --- a/3.0/alpine3.16/Dockerfile +++ /dev/null @@ -1,151 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.16 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 - # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - s390x | armhf | armv7) \ - apk add --no-cache libucontext-dev; \ - export LIBS='-lucontext'; \ - ;; \ - esac; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.0/bullseye/Dockerfile b/3.0/bullseye/Dockerfile deleted file mode 100644 index 1bbb0cbfe6..0000000000 --- a/3.0/bullseye/Dockerfile +++ /dev/null @@ -1,96 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bullseye - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.0/buster/Dockerfile b/3.0/buster/Dockerfile deleted file mode 100644 index ddf71619e0..0000000000 --- a/3.0/buster/Dockerfile +++ /dev/null @@ -1,96 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:buster - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.0/slim-bullseye/Dockerfile b/3.0/slim-bullseye/Dockerfile deleted file mode 100644 index 7f8ba05edc..0000000000 --- a/3.0/slim-bullseye/Dockerfile +++ /dev/null @@ -1,123 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bullseye-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.0/slim-buster/Dockerfile b/3.0/slim-buster/Dockerfile deleted file mode 100644 index d2d74ca983..0000000000 --- a/3.0/slim-buster/Dockerfile +++ /dev/null @@ -1,123 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:buster-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-0-7-released/ -ENV RUBY_MAJOR 3.0 -ENV RUBY_VERSION 3.0.7 -ENV RUBY_DOWNLOAD_SHA256 1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libreadline-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/Dockerfile.template b/Dockerfile.template index 5bbca8b1ea..66466f9447 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -52,15 +52,9 @@ RUN set -eux; \ ENV LANG C.UTF-8 # https://www.ruby-lang.org/{{ .post | ltrimstr("/") }} -{{ if env.version == "3.0" then ( -}} -ENV RUBY_MAJOR {{ env.version }} -ENV RUBY_VERSION {{ .version }} -ENV RUBY_DOWNLOAD_SHA256 {{ .sha256.xz }} -{{ ) else ( -}} ENV RUBY_VERSION {{ .version }} ENV RUBY_DOWNLOAD_URL {{ .url.xz }} ENV RUBY_DOWNLOAD_SHA256 {{ .sha256.xz }} -{{ ) end -}} # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -69,7 +63,7 @@ RUN set -eux; \ {{ if is_alpine then ( -}} apk add --no-cache --virtual .ruby-builddeps \ autoconf \ -{{ if [ "3.0", "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ if [ "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} {{ # https://github.com/docker-library/ruby/pull/438 -}} bison \ {{ ) else "" end -}} @@ -93,7 +87,7 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ -{{ if [ "3.0", "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ if [ "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} readline-dev \ {{ ) else "" end -}} ruby \ @@ -106,7 +100,7 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ -{{ if [ "3.0", "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ if [ "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} {{ # https://github.com/docker-library/ruby/pull/438 -}} bison \ {{ ) else "" end -}} @@ -121,7 +115,7 @@ RUN set -eux; \ libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ -{{ if [ "3.0", "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ if [ "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} libreadline-dev \ {{ ) else "" end -}} libxml2-dev \ @@ -203,12 +197,7 @@ RUN set -eux; \ fi; \ {{ ) else "" end -}} \ -{{ if env.version == "3.0" then ( -}} -{{ if .url.xz != "https://cache.ruby-lang.org/pub/ruby/\(env.version | rtrimstr("-rc"))/ruby-\(.version).tar.xz" then error("url for \(.version) is not as expected!") else "" end -}} - wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz"; \ -{{ ) else ( -}} wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ -{{ ) end -}} echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ \ mkdir -p /usr/src/ruby; \ @@ -240,19 +229,6 @@ RUN set -eux; \ mv file.c.new file.c; \ \ autoconf; \ -{{ if is_alpine and "3.0" == (env.version | rtrimstr("-rc")) then ( -}} - # fix builds on arm32v6/7 and s390x: https://github.com/docker-library/ruby/issues/308 - # and don't break the other arches: https://github.com/docker-library/ruby/issues/365 -{{ if .rust.version then "" else ( -}} - {{ archVar }}="$(apk --print-arch)"; \ -{{ ) end -}} - case "${{ archVar }}" in \ - s390x | armhf | armv7) \ - apk add --no-cache libucontext-dev; \ - export LIBS='-lucontext'; \ - ;; \ - esac; \ -{{ ) else "" end -}} gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ --build="$gnuArch" \ diff --git a/versions.json b/versions.json index 7bbdeaa5f6..cc29bc2ad3 100644 --- a/versions.json +++ b/versions.json @@ -1,41 +1,4 @@ { - "3.0": { - "version": "3.0.7", - "date": "2024-04-23", - "post": "/en/news/2024/04/23/ruby-3-0-7-released/", - "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.7.zip" - }, - "size": { - "gz": 21268288, - "xz": 15848768, - "zip": 25652209 - }, - "sha1": { - "gz": "ec95aee1364fc4d0ca0e8f83c525127016e05c86", - "xz": "efc97e609868a19f89653068c4915c162117b721", - "zip": "b258a1bfcd49fb801b83a0aec90a8bb3989e9e42" - }, - "sha256": { - "gz": "2a3411977f2850431136b0fab8ad53af09fb74df2ee2f4fb7f11b378fe034388", - "xz": "1748338373c4fad80129921080d904aca326e41bd9589b498aa5ee09fd575bab", - "zip": "163d752070a2ba1a015f004ae75e38ac9aa44bc4ebfafb55d5ff184cc72db5be" - }, - "sha512": { - "gz": "66e5116ddd027ab1b27d466104a5b440889318b4f2f74b5fdf3099812bf5f7ef77be62fe1df37e0dc7cd5b2f5efe7fee5b9096910ce815ca4126577cb2abfaa7", - "xz": "4760dc7d1345279b53cff30f3dd015b67f6a505e5028357f046dbf23b15a52d09f7d91fcfe5cb75d6c3222e7283aad12b97b36f5de0ff959f824bd42073f9c48", - "zip": "ed5e6d827ba981808bc4d914e400963b4443d522d52dd5d3f645db0cf38b50ab6c9baafac1b5e348e677500a16ceef1a5ac15c6a67003c2b2037cb86c1bd3654" - }, - "variants": [ - "bullseye", - "slim-bullseye", - "buster", - "slim-buster", - "alpine3.16" - ] - }, "3.1": { "version": "3.1.5", "date": "2024-04-23", diff --git a/versions.sh b/versions.sh index 65edfc8e5c..c25e060ad0 100755 --- a/versions.sh +++ b/versions.sh @@ -83,32 +83,20 @@ for version in "${versions[@]}"; do doc="$(jq <<<"$doc" -c ' .variants = [ ( - # https://bugs.ruby-lang.org/issues/18658 - # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 - if "3.0" == env.version then - "bullseye", - "buster" - else - "bookworm", - "bullseye", - empty # trailing comma hack - end + "bookworm", + "bullseye", + empty # trailing comma hack | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( - # Alpine 3.17+ defaults to OpenSSL 3 which is not supported by Ruby 3.0 - # https://bugs.ruby-lang.org/issues/18658 - # https://github.com/docker-library/ruby/pull/392#issuecomment-1329896174 - if "3.0" == env.version then "3.16" else - "3.19", - "3.18", - empty # trailing comma hack - end + "3.19", + "3.18", + empty # trailing comma hack | "alpine" + .) ] ')" case "$rcVersion" in - 3.0 | 3.1) ;; + 3.1) ;; *) # YJIT doc="$(jq <<<"$doc" -sc ' From a4c6c26df171630eca259b1254a8b374c2eb0a43 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Wed, 22 May 2024 23:02:17 +0200 Subject: [PATCH 092/132] Add alpine 3.20 https://alpinelinux.org/posts/Alpine-3.20.0-released.html --- 3.1/{alpine3.18 => alpine3.20}/Dockerfile | 2 +- 3.2/{alpine3.18 => alpine3.20}/Dockerfile | 2 +- 3.3/{alpine3.18 => alpine3.20}/Dockerfile | 2 +- 3.4-rc/{alpine3.18 => alpine3.20}/Dockerfile | 2 +- versions.json | 16 ++++++++-------- versions.sh | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) rename 3.1/{alpine3.18 => alpine3.20}/Dockerfile (99%) rename 3.2/{alpine3.18 => alpine3.20}/Dockerfile (99%) rename 3.3/{alpine3.18 => alpine3.20}/Dockerfile (99%) rename 3.4-rc/{alpine3.18 => alpine3.20}/Dockerfile (99%) diff --git a/3.1/alpine3.18/Dockerfile b/3.1/alpine3.20/Dockerfile similarity index 99% rename from 3.1/alpine3.18/Dockerfile rename to 3.1/alpine3.20/Dockerfile index eed94cc85b..f8dbb65cee 100644 --- a/3.1/alpine3.18/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.18 +FROM alpine:3.20 RUN set -eux; \ apk add --no-cache \ diff --git a/3.2/alpine3.18/Dockerfile b/3.2/alpine3.20/Dockerfile similarity index 99% rename from 3.2/alpine3.18/Dockerfile rename to 3.2/alpine3.20/Dockerfile index b7ad3ec2d3..acafda5044 100644 --- a/3.2/alpine3.18/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.18 +FROM alpine:3.20 RUN set -eux; \ apk add --no-cache \ diff --git a/3.3/alpine3.18/Dockerfile b/3.3/alpine3.20/Dockerfile similarity index 99% rename from 3.3/alpine3.18/Dockerfile rename to 3.3/alpine3.20/Dockerfile index 324bd23658..292ac6714c 100644 --- a/3.3/alpine3.18/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.18 +FROM alpine:3.20 RUN set -eux; \ apk add --no-cache \ diff --git a/3.4-rc/alpine3.18/Dockerfile b/3.4-rc/alpine3.20/Dockerfile similarity index 99% rename from 3.4-rc/alpine3.18/Dockerfile rename to 3.4-rc/alpine3.20/Dockerfile index 9931b5bb1a..3417b89dcb 100644 --- a/3.4-rc/alpine3.18/Dockerfile +++ b/3.4-rc/alpine3.20/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.18 +FROM alpine:3.20 RUN set -eux; \ apk add --no-cache \ diff --git a/versions.json b/versions.json index cc29bc2ad3..7cdcc8cc86 100644 --- a/versions.json +++ b/versions.json @@ -33,8 +33,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.19", - "alpine3.18" + "alpine3.20", + "alpine3.19" ] }, "3.2": { @@ -71,8 +71,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.19", - "alpine3.18" + "alpine3.20", + "alpine3.19" ], "rust": { "version": "1.74.1" @@ -142,8 +142,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.19", - "alpine3.18" + "alpine3.20", + "alpine3.19" ], "rust": { "version": "1.74.1" @@ -219,8 +219,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.19", - "alpine3.18" + "alpine3.20", + "alpine3.19" ], "rust": { "version": "1.74.1" diff --git a/versions.sh b/versions.sh index c25e060ad0..d5e02efeeb 100755 --- a/versions.sh +++ b/versions.sh @@ -88,8 +88,8 @@ for version in "${versions[@]}"; do empty # trailing comma hack | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( + "3.20", "3.19", - "3.18", empty # trailing comma hack | "alpine" + .) ] From 74a48e2248ff94c6ebf93958070bafaf5cbdffcc Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 29 May 2024 04:03:11 -0700 Subject: [PATCH 093/132] Update 3.1 to 3.1.6 --- 3.1/alpine3.19/Dockerfile | 8 ++++---- 3.1/alpine3.20/Dockerfile | 8 ++++---- 3.1/bookworm/Dockerfile | 8 ++++---- 3.1/bullseye/Dockerfile | 8 ++++---- 3.1/slim-bookworm/Dockerfile | 8 ++++---- 3.1/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.1/alpine3.19/Dockerfile b/3.1/alpine3.19/Dockerfile index c965966336..b35693036f 100644 --- a/3.1/alpine3.19/Dockerfile +++ b/3.1/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ -ENV RUBY_VERSION 3.1.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 +# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ +ENV RUBY_VERSION 3.1.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index f8dbb65cee..fd1ce5075a 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ -ENV RUBY_VERSION 3.1.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 +# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ +ENV RUBY_VERSION 3.1.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile index 8d4fe5ce4a..384052911e 100644 --- a/3.1/bookworm/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ -ENV RUBY_VERSION 3.1.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 +# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ +ENV RUBY_VERSION 3.1.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 07bad766c5..8b6e39e878 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ -ENV RUBY_VERSION 3.1.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 +# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ +ENV RUBY_VERSION 3.1.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index f6adcb60a9..626c5bab47 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ -ENV RUBY_VERSION 3.1.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 +# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ +ENV RUBY_VERSION 3.1.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index e442181419..66594aec2f 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-1-5-released/ -ENV RUBY_VERSION 3.1.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91 +# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ +ENV RUBY_VERSION 3.1.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 7cdcc8cc86..9ace346dbb 100644 --- a/versions.json +++ b/versions.json @@ -1,32 +1,32 @@ { "3.1": { - "version": "3.1.5", - "date": "2024-04-23", - "post": "/en/news/2024/04/23/ruby-3-1-5-released/", + "version": "3.1.6", + "date": "2024-05-29", + "post": "/en/news/2024/05/29/ruby-3-1-6-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.5.zip" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.zip" }, "size": { - "gz": 20884264, - "xz": 15293020, - "zip": 25208327 + "gz": 20887803, + "xz": 15273916, + "zip": 25211787 }, "sha1": { - "gz": "e3387c8fa2b6faf20beade2239ebdfc701ee6268", - "xz": "807bf2b261cf71e7fe58641a6b5dac61fdeb05ea", - "zip": "83c6b2f26a35a1b23fef091e6db5c60ad0f52bf9" + "gz": "02832465f9b0f68b9fe2c443f9f602d6e840b2ca", + "xz": "2671606a00d0ad564fb93f92d093590563c4e25b", + "zip": "534e675022dc30c3674ee68a7b2fbe9300d64367" }, "sha256": { - "gz": "3685c51eeee1352c31ea039706d71976f53d00ab6d77312de6aa1abaf5cda2c5", - "xz": "f9375a45bdf1cc41298558e7ac6c367f7b6cdcccf7196618b21f0886ff583b91", - "zip": "e5eefbd95844b0322f6b2650cdef4d884d31c08856df7362375d26360cca9ba4" + "gz": "0d0dafb859e76763432571a3109d1537d976266be3083445651dc68deed25c22", + "xz": "597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102", + "zip": "c21d16e7953d65d05824834e89d7e1a58ccf2bc018fe966f785774ea383f53db" }, "sha512": { - "gz": "23661cb1b61013d912b7433f8707bbcd723391694d91f413747c71428e74f8c7385c1304de7d08b70c9fa3bd649e4eb5e9acb472d89dc2ad5678cc54855a24ae", - "xz": "a9883f4d074825bb1f54ef3429a9a71341274bd2de1aa8ea32bce19b6b9c1bac5e5dc4c34a92b8e7caa73ba71d7ed7c546a6fec6f1fd3d8986974dce214f6d49", - "zip": "390e6f99b101aa80de924532bfb0b9fc29702b1e14b92e12cc596e9c76f9a2e52ba0e72eb95accb4bac16d5d10d81900a2e8afba80aa514ef870f52cfd50b4fd" + "gz": "624555ab3681bd6663bca7cf3529a969b9f0f16928559cfb713c57f763506c8740410c9b460d946922994859189ef2b9956167bd31423cf2e3acbf5a30086fe1", + "xz": "a3159648706d6d11ce9613201141e884b3accc69bf928c756de8a8f2b71d219886e91435d30cf2c30e85af31f87801138e10106344766100f1b80662c7244652", + "zip": "f8b5a0fda8dc0248f29796a0b5b67f93a825a013b92b0db437ecf0a5ffaf06a800285999a0e9a61e890a8000dd2e2c081a6ecb5dae62b1045761a13fd87c397b" }, "variants": [ "bookworm", From c5a28011c2bdefb4861ab10ab203dd9e948c0325 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 29 May 2024 22:03:18 -0700 Subject: [PATCH 094/132] Update 3.3 to 3.3.2 --- 3.3/alpine3.19/Dockerfile | 8 ++++---- 3.3/alpine3.20/Dockerfile | 8 ++++---- 3.3/bookworm/Dockerfile | 8 ++++---- 3.3/bullseye/Dockerfile | 8 ++++---- 3.3/slim-bookworm/Dockerfile | 8 ++++---- 3.3/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 37 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 43 deletions(-) diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 40fcaabad2..7e260e9f35 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ -ENV RUBY_VERSION 3.3.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b +# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ +ENV RUBY_VERSION 3.3.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 292ac6714c..87e5746f7f 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ -ENV RUBY_VERSION 3.3.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b +# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ +ENV RUBY_VERSION 3.3.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index edccd883ed..8f68b31325 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ -ENV RUBY_VERSION 3.3.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b +# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ +ENV RUBY_VERSION 3.3.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index f03e56f183..1a5c62143e 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ -ENV RUBY_VERSION 3.3.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b +# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ +ENV RUBY_VERSION 3.3.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 5af2387d6d..ecb3ac6c41 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ -ENV RUBY_VERSION 3.3.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b +# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ +ENV RUBY_VERSION 3.3.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 436b9af0f8..1a04eb1334 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ -ENV RUBY_VERSION 3.3.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b +# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ +ENV RUBY_VERSION 3.3.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 9ace346dbb..797a295d2f 100644 --- a/versions.json +++ b/versions.json @@ -108,34 +108,33 @@ } }, "3.3": { - "version": "3.3.1", - "date": "2024-04-23", - "post": "/en/news/2024/04/23/ruby-3-3-1-released/", - "tag": "v3_3_1", + "version": "3.3.2", + "date": "2024-05-30", + "post": "/en/news/2024/05/30/ruby-3-3-2-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz" }, "size": { - "gz": 22074535, - "zip": 26953741, - "xz": 16350792 + "gz": 22095824, + "zip": 26981906, + "xz": 16349500 }, "sha1": { - "gz": "affd82947d7cd84bd586f7f487a1da0c0bd8b1fd", - "zip": "98b9858e3c125cfe6ca838ac4e4e269fa34bcaaa", - "xz": "88ef585faece4ed76f4330bce52903664d4fbfe0" + "gz": "b49719ef383c581008c1fd3b68690f874f78557b", + "zip": "ee641ef4a0c5b9d12456c565d402841ae2ec5ab2", + "xz": "5c9f7d5cf55d9e45b24c613014cbe2b605de009d" }, "sha256": { - "gz": "8dc2af2802cc700cd182d5430726388ccf885b3f0a14fcd6a0f21ff249c9aa99", - "zip": "d81c99dd03d095f116361c9d097145666f7bb2512cd856ee086545b1c3e54c55", - "xz": "0686941a3ec395a15ae2a852487b2a88e5fb8a5518e188df00d8d1bb71a6349b" + "gz": "3be1d100ebf2a0ce60c2cd8d22cd9db4d64b3e04a1943be2c4ff7b520f2bcb5b", + "zip": "06bf1aa3336afed66e2f89b0be3542c980fcdd76ffad0be284a860f25edea5b1", + "xz": "b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1" }, "sha512": { - "gz": "0c8ea922a79152ac7adbfb2541320565bce6a631692fd39d499a06f53ad6339c16fad8374d171351ed63f7bda3312b26d4f8c058c5b6df3d7548fde372c718f1", - "zip": "200bfcc1cc11282c64b03fe529287509684e01266d248ec85f51f6b382beebd8324321c2db59f52185f42c49fdde84aaa42cb59f0048faca389985431224564d", - "xz": "c58e9be9b5ab48191fbf7d67e13f0ec42ee71ed338170e0f7b246708e9cfc617ce65098f5ce7ab32d4305e785642d3e44253462104d5b9c4abcb1a4113f48347" + "gz": "a15ba8d6c2830fcd1f2b36f671acf9028c303ec78608fd268da0585db8e95ddd971666e8029bcfa2584da2184a6534e1f2f2da07fa7ca4494e8d842eed206f00", + "zip": "e2bbff1fbe5d9a892bd9c21fe9f10ea7b23f111f3876538bffea3d5451645e155f9ddc61345a44e409d44f83e190ffe30b9c90cd75905dc079cf8803f2f8ccdf", + "xz": "70dd8eb933956f894c52a8ede42e8ee74ff0e062bd8134a0bfb6bffc83a2848a658b62c8df5530b4dd64087b2d5373909c48917528facb1e6f4e99e79b6ad449" }, "variants": [ "bookworm", From b8b0053a92b4f7232fe28c45e44a469c032affe2 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Tue, 11 Jun 2024 22:03:19 -0700 Subject: [PATCH 095/132] Update 3.3 to 3.3.3 --- 3.3/alpine3.19/Dockerfile | 8 ++++---- 3.3/alpine3.20/Dockerfile | 8 ++++---- 3.3/bookworm/Dockerfile | 8 ++++---- 3.3/bullseye/Dockerfile | 8 ++++---- 3.3/slim-bookworm/Dockerfile | 8 ++++---- 3.3/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 7e260e9f35..6ea028ae9b 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ -ENV RUBY_VERSION 3.3.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 +# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ +ENV RUBY_VERSION 3.3.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 87e5746f7f..be423d9763 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ -ENV RUBY_VERSION 3.3.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 +# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ +ENV RUBY_VERSION 3.3.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 8f68b31325..a3816b54b7 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ -ENV RUBY_VERSION 3.3.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 +# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ +ENV RUBY_VERSION 3.3.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 1a5c62143e..314a883dbd 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ -ENV RUBY_VERSION 3.3.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 +# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ +ENV RUBY_VERSION 3.3.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index ecb3ac6c41..6c85ea67b7 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ -ENV RUBY_VERSION 3.3.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 +# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ +ENV RUBY_VERSION 3.3.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 1a04eb1334..2b7ee191f2 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/ -ENV RUBY_VERSION 3.3.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1 +# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ +ENV RUBY_VERSION 3.3.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 797a295d2f..4acba12b6f 100644 --- a/versions.json +++ b/versions.json @@ -108,33 +108,33 @@ } }, "3.3": { - "version": "3.3.2", - "date": "2024-05-30", - "post": "/en/news/2024/05/30/ruby-3-3-2-released/", + "version": "3.3.3", + "date": "2024-06-12", + "post": "/en/news/2024/06/12/ruby-3-3-3-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.2.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz" }, "size": { - "gz": 22095824, - "zip": 26981906, - "xz": 16349500 + "gz": 22105219, + "zip": 26990910, + "xz": 16361160 }, "sha1": { - "gz": "b49719ef383c581008c1fd3b68690f874f78557b", - "zip": "ee641ef4a0c5b9d12456c565d402841ae2ec5ab2", - "xz": "5c9f7d5cf55d9e45b24c613014cbe2b605de009d" + "gz": "b71971b141ee2325d99046a02291940fcca9830c", + "zip": "15a903003fba2fa5ae760263d6aa7b951747e545", + "xz": "70cc5db132ea277487ede490e430e066a7c862d9" }, "sha256": { - "gz": "3be1d100ebf2a0ce60c2cd8d22cd9db4d64b3e04a1943be2c4ff7b520f2bcb5b", - "zip": "06bf1aa3336afed66e2f89b0be3542c980fcdd76ffad0be284a860f25edea5b1", - "xz": "b5e8a8ed4a47cdd9a3358b5bdd998c37bd9e971ca63766a37d5ae5933fdb69f1" + "gz": "83c05b2177ee9c335b631b29b8c077b4770166d02fa527f3a9f6a40d13f3cce2", + "zip": "a9e4a6650cc40643b2b4a005541587443e373fbdec0c03164502f710cfd87a01", + "xz": "83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e" }, "sha512": { - "gz": "a15ba8d6c2830fcd1f2b36f671acf9028c303ec78608fd268da0585db8e95ddd971666e8029bcfa2584da2184a6534e1f2f2da07fa7ca4494e8d842eed206f00", - "zip": "e2bbff1fbe5d9a892bd9c21fe9f10ea7b23f111f3876538bffea3d5451645e155f9ddc61345a44e409d44f83e190ffe30b9c90cd75905dc079cf8803f2f8ccdf", - "xz": "70dd8eb933956f894c52a8ede42e8ee74ff0e062bd8134a0bfb6bffc83a2848a658b62c8df5530b4dd64087b2d5373909c48917528facb1e6f4e99e79b6ad449" + "gz": "0388a96127eb6e53b836f7954af51ff62b84cdb7abeab823cb1349993d805b151204e426b9ac04ca8333fbd5e01c386d58bc37d34c4e9286b219dcda7542a150", + "zip": "ed5ed5bc26598ba8c39eaae45147159d742e4792d4d8478b2db04bffe25b75b8bd4131a86c010bff91e0368f906bff04e852deab415fefd25cec39bc53f70020", + "xz": "27dcae604e6613e1eaa20c6a75ee88b970bb0dd584d9bc0c021ad8da4340858e3c2e874ac841fcca0b0444a0c0146c4650d2d22bac3c9e12853533c37255f8f1" }, "variants": [ "bookworm", From f69cac9888c7909b402a1bc21a87331429318aae Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 25 Jun 2024 12:31:34 -0700 Subject: [PATCH 096/132] Add more defensive `mkdir` for `GEM_HOME` --- 3.1/alpine3.19/Dockerfile | 6 ++++-- 3.1/alpine3.20/Dockerfile | 6 ++++-- 3.1/bookworm/Dockerfile | 6 ++++-- 3.1/bullseye/Dockerfile | 6 ++++-- 3.1/slim-bookworm/Dockerfile | 6 ++++-- 3.1/slim-bullseye/Dockerfile | 6 ++++-- 3.2/alpine3.19/Dockerfile | 6 ++++-- 3.2/alpine3.20/Dockerfile | 6 ++++-- 3.2/bookworm/Dockerfile | 6 ++++-- 3.2/bullseye/Dockerfile | 6 ++++-- 3.2/slim-bookworm/Dockerfile | 6 ++++-- 3.2/slim-bullseye/Dockerfile | 6 ++++-- 3.3/alpine3.19/Dockerfile | 6 ++++-- 3.3/alpine3.20/Dockerfile | 6 ++++-- 3.3/bookworm/Dockerfile | 6 ++++-- 3.3/bullseye/Dockerfile | 6 ++++-- 3.3/slim-bookworm/Dockerfile | 6 ++++-- 3.3/slim-bullseye/Dockerfile | 6 ++++-- 3.4-rc/alpine3.19/Dockerfile | 6 ++++-- 3.4-rc/alpine3.20/Dockerfile | 6 ++++-- 3.4-rc/bookworm/Dockerfile | 6 ++++-- 3.4-rc/bullseye/Dockerfile | 6 ++++-- 3.4-rc/slim-bookworm/Dockerfile | 6 ++++-- 3.4-rc/slim-bullseye/Dockerfile | 6 ++++-- Dockerfile.template | 6 ++++-- 25 files changed, 100 insertions(+), 50 deletions(-) diff --git a/3.1/alpine3.19/Dockerfile b/3.1/alpine3.19/Dockerfile index b35693036f..ab93cb5278 100644 --- a/3.1/alpine3.19/Dockerfile +++ b/3.1/alpine3.19/Dockerfile @@ -136,7 +136,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index fd1ce5075a..7b0a19ee4d 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -136,7 +136,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile index 384052911e..3211192173 100644 --- a/3.1/bookworm/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -90,7 +90,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 8b6e39e878..245e907bab 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -90,7 +90,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index 626c5bab47..6d83ac0675 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -117,7 +117,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 66594aec2f..22a77ef17f 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -117,7 +117,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index a8c92e9cfb..926f649a0a 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -160,7 +160,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index acafda5044..1ff7186392 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -160,7 +160,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index 74ce1a0dfb..b66ce50157 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -114,7 +114,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 2b070f6c2f..e911735d22 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -114,7 +114,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index bf66d8db02..ae678bdd95 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -141,7 +141,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 23897b7fa5..904567677d 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -141,7 +141,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 6ea028ae9b..d0d5c8d343 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -158,7 +158,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index be423d9763..442db5182e 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -158,7 +158,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index a3816b54b7..7fe095b6a4 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -113,7 +113,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 314a883dbd..1f495fc110 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -113,7 +113,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 6c85ea67b7..36e3537df4 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -139,7 +139,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 2b7ee191f2..5e03116d7c 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -139,7 +139,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.4-rc/alpine3.19/Dockerfile b/3.4-rc/alpine3.19/Dockerfile index 9eb48f1426..fa9b0d1ad6 100644 --- a/3.4-rc/alpine3.19/Dockerfile +++ b/3.4-rc/alpine3.19/Dockerfile @@ -158,7 +158,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.4-rc/alpine3.20/Dockerfile b/3.4-rc/alpine3.20/Dockerfile index 3417b89dcb..52e376e19f 100644 --- a/3.4-rc/alpine3.20/Dockerfile +++ b/3.4-rc/alpine3.20/Dockerfile @@ -158,7 +158,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.4-rc/bookworm/Dockerfile b/3.4-rc/bookworm/Dockerfile index 4b736cbbf6..73b4609249 100644 --- a/3.4-rc/bookworm/Dockerfile +++ b/3.4-rc/bookworm/Dockerfile @@ -113,7 +113,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.4-rc/bullseye/Dockerfile b/3.4-rc/bullseye/Dockerfile index bc900b2d0b..23f69e2e20 100644 --- a/3.4-rc/bullseye/Dockerfile +++ b/3.4-rc/bullseye/Dockerfile @@ -113,7 +113,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.4-rc/slim-bookworm/Dockerfile b/3.4-rc/slim-bookworm/Dockerfile index b74c10f521..437c092c46 100644 --- a/3.4-rc/slim-bookworm/Dockerfile +++ b/3.4-rc/slim-bookworm/Dockerfile @@ -139,7 +139,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/3.4-rc/slim-bullseye/Dockerfile b/3.4-rc/slim-bullseye/Dockerfile index c7a484607c..bf4736f8f9 100644 --- a/3.4-rc/slim-bullseye/Dockerfile +++ b/3.4-rc/slim-bullseye/Dockerfile @@ -139,7 +139,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] diff --git a/Dockerfile.template b/Dockerfile.template index 66466f9447..84b22db427 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -292,7 +292,9 @@ ENV GEM_HOME /usr/local/bundle ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ BUNDLE_APP_CONFIG="$GEM_HOME" ENV PATH $GEM_HOME/bin:$PATH -# adjust permissions of a few directories for running "gem install" as an arbitrary user -RUN mkdir -p "$GEM_HOME" && chmod 1777 "$GEM_HOME" +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" CMD [ "irb" ] From 2e432fc966a291fa241b14637557710d33a05b42 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Mon, 8 Jul 2024 22:04:38 -0700 Subject: [PATCH 097/132] Update 3.3 to 3.3.4 --- 3.3/alpine3.19/Dockerfile | 8 ++++---- 3.3/alpine3.20/Dockerfile | 8 ++++---- 3.3/bookworm/Dockerfile | 8 ++++---- 3.3/bullseye/Dockerfile | 8 ++++---- 3.3/slim-bookworm/Dockerfile | 8 ++++---- 3.3/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index d0d5c8d343..2ed3f1f516 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ -ENV RUBY_VERSION 3.3.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e +# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ +ENV RUBY_VERSION 3.3.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 442db5182e..904c97d84e 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ -ENV RUBY_VERSION 3.3.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e +# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ +ENV RUBY_VERSION 3.3.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 7fe095b6a4..19a5519dae 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ -ENV RUBY_VERSION 3.3.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e +# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ +ENV RUBY_VERSION 3.3.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 1f495fc110..9bb4c2cdfb 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ -ENV RUBY_VERSION 3.3.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e +# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ +ENV RUBY_VERSION 3.3.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 36e3537df4..2866190cbc 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ -ENV RUBY_VERSION 3.3.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e +# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ +ENV RUBY_VERSION 3.3.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 5e03116d7c..182509fcea 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/ -ENV RUBY_VERSION 3.3.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e +# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ +ENV RUBY_VERSION 3.3.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 4acba12b6f..ebf3493af0 100644 --- a/versions.json +++ b/versions.json @@ -108,33 +108,33 @@ } }, "3.3": { - "version": "3.3.3", - "date": "2024-06-12", - "post": "/en/news/2024/06/12/ruby-3-3-3-released/", + "version": "3.3.4", + "date": "2024-07-09", + "post": "/en/news/2024/07/09/ruby-3-3-4-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.3.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz" }, "size": { - "gz": 22105219, - "zip": 26990910, - "xz": 16361160 + "gz": 22110179, + "zip": 26995054, + "xz": 16366580 }, "sha1": { - "gz": "b71971b141ee2325d99046a02291940fcca9830c", - "zip": "15a903003fba2fa5ae760263d6aa7b951747e545", - "xz": "70cc5db132ea277487ede490e430e066a7c862d9" + "gz": "408362dfb0413122e09d35bafdcced8922b54e71", + "zip": "dcd35f8d428e61807b5c95b6e2e79444fb32f214", + "xz": "4fac2e1609535f71cbdbf9ab9dcea6f6e80a304a" }, "sha256": { - "gz": "83c05b2177ee9c335b631b29b8c077b4770166d02fa527f3a9f6a40d13f3cce2", - "zip": "a9e4a6650cc40643b2b4a005541587443e373fbdec0c03164502f710cfd87a01", - "xz": "83c0995388399c9555bad87e70af069755b5a9d84bbaa74aa22d1e37ff70fc1e" + "gz": "fe6a30f97d54e029768f2ddf4923699c416cdbc3a6e96db3e2d5716c7db96a34", + "zip": "3cf0ee03dd4c98e78e8ab5e191af926870415770ef4995088ed069caef639b2a", + "xz": "1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad" }, "sha512": { - "gz": "0388a96127eb6e53b836f7954af51ff62b84cdb7abeab823cb1349993d805b151204e426b9ac04ca8333fbd5e01c386d58bc37d34c4e9286b219dcda7542a150", - "zip": "ed5ed5bc26598ba8c39eaae45147159d742e4792d4d8478b2db04bffe25b75b8bd4131a86c010bff91e0368f906bff04e852deab415fefd25cec39bc53f70020", - "xz": "27dcae604e6613e1eaa20c6a75ee88b970bb0dd584d9bc0c021ad8da4340858e3c2e874ac841fcca0b0444a0c0146c4650d2d22bac3c9e12853533c37255f8f1" + "gz": "56a0b88954a4efd0236626e49cc90cdb15d9bfd42b27d7fc34efae61f500058e58cb32c73fdef5f1505a36602f4632d6148bf3bd1df539cb5581ae157c78c22b", + "zip": "c24ca2e6b1114f9c489c049c07acccb0db0916c42c68ea90eaa9acc430973de68342df19710c58130fe264a291958c89e60815c5b00f91decf5a4d1d674a0b32", + "xz": "b26461a13ff82a08a282f10108028bb2a2e4a28da6182a291062fc54089c6655d79c22cc69d59156f9b11cb10a17fe8c69d489343fbae123a45f03361b95c9eb" }, "variants": [ "bookworm", From 6438466b4fd948a31f66b2f2a934c799b598233e Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Fri, 26 Jul 2024 09:23:41 -0700 Subject: [PATCH 098/132] Update 3.2 to 3.2.5 --- 3.2/alpine3.19/Dockerfile | 8 ++++---- 3.2/alpine3.20/Dockerfile | 8 ++++---- 3.2/bookworm/Dockerfile | 8 ++++---- 3.2/bullseye/Dockerfile | 8 ++++---- 3.2/slim-bookworm/Dockerfile | 8 ++++---- 3.2/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index 926f649a0a..745c0e4dc3 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ -ENV RUBY_VERSION 3.2.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b +# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ +ENV RUBY_VERSION 3.2.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 1ff7186392..7cda9dd6ac 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ -ENV RUBY_VERSION 3.2.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b +# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ +ENV RUBY_VERSION 3.2.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index b66ce50157..c6fb3f5bc0 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ -ENV RUBY_VERSION 3.2.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b +# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ +ENV RUBY_VERSION 3.2.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index e911735d22..5139f2d1b4 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ -ENV RUBY_VERSION 3.2.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b +# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ +ENV RUBY_VERSION 3.2.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index ae678bdd95..5e0a6d70c7 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ -ENV RUBY_VERSION 3.2.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b +# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ +ENV RUBY_VERSION 3.2.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 904567677d..9cd8698580 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/ -ENV RUBY_VERSION 3.2.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b +# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ +ENV RUBY_VERSION 3.2.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index ebf3493af0..db4a0ba58a 100644 --- a/versions.json +++ b/versions.json @@ -38,33 +38,33 @@ ] }, "3.2": { - "version": "3.2.4", - "date": "2024-04-23", - "post": "/en/news/2024/04/23/ruby-3-2-4-released/", + "version": "3.2.5", + "date": "2024-07-26", + "post": "/en/news/2024/07/26/ruby-3-2-5-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.4.zip" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.zip" }, "size": { - "gz": 20581711, - "zip": 24739492, - "xz": 15175656 + "gz": 20619047, + "xz": 15189072, + "zip": 24777979 }, "sha1": { - "gz": "a177e809102270f1cd77bf23c6df30c50ee7c107", - "zip": "e81354859b904711ce18eda1f42960a53caf3019", - "xz": "2806593a486f54ce56e5ba83c152f397e48eb416" + "gz": "e5166c947a4d9057b1310710a2a963df12264ac9", + "xz": "b5f21884084077b1f684efe40144844b8b37a316", + "zip": "07e7638dd5ec40f261c820be523be619fdebe4aa" }, "sha256": { - "gz": "c72b3c5c30482dca18b0f868c9075f3f47d8168eaf626d4e682ce5b59c858692", - "zip": "7edc0163bb033e895a8a97392be0146daec03769c1a6c7f8d084b6e8dc7f7299", - "xz": "e7f1653d653232ec433472489a91afbc7433c9f760cc822defe7437c9d95791b" + "gz": "ef0610b498f60fb5cfd77b51adb3c10f4ca8ed9a17cb87c61e5bea314ac34a16", + "xz": "7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c", + "zip": "b001e6c157d79f6fb351d5be83ba389c6ca20000686bbdfc8d2b8a46d38a7183" }, "sha512": { - "gz": "b695b98dac7bb2c8755a106d949cb1b1b91551092fad263765171ddf8a4d86585259ffab5f7cc9bace70143d645dbe5932cfc61c6dba7817177de391d76bcd79", - "zip": "b52a95b19d98ff5bd29aa74cb7d2cbad58f1ccad75892ad966aec35eef1a57f7c9727b8fd2a51c5c6a1677eaf67226afceee8ce079e523c7b264e841790ddcae", - "xz": "fb0af37be4b6ad7b98ab9f8a508952238ee68b5828e3926331e4db52e2ebc1e6046f31114069322db0cd3bea7c9b82ace91c8564573ddcfa1f960877b237dbff" + "gz": "d86c0151fabf21b418b007465e3f5b3fd0b2de0a9652057fd465b1f7e91b01d00f83a737e972ea994a5d9231e8cb27e64e576852390fe6c2ad502f0d099fe5f4", + "xz": "092348b84b513aec62e63ec10b326370d0e3d1fa3126c59c03c84f28e2d7741a4772c461b077ec6a7dac3964a20f434655729e1acd50a3438755d7ad64073305", + "zip": "f7a05c96a22bd4018c4a79ff595e62aa92dc844ebaf3e66d50c7b35041fade7608806668b5cb25c17b360a3cd98df1c3e0f97c49448a968accab59a9dac97e47" }, "variants": [ "bookworm", From 04175a1c782da7183d8cd1ebed8c91b3ce0fe50b Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Tue, 3 Sep 2024 04:03:18 -0700 Subject: [PATCH 099/132] Update 3.3 to 3.3.5 --- 3.3/alpine3.19/Dockerfile | 8 ++++---- 3.3/alpine3.20/Dockerfile | 8 ++++---- 3.3/bookworm/Dockerfile | 8 ++++---- 3.3/bullseye/Dockerfile | 8 ++++---- 3.3/slim-bookworm/Dockerfile | 8 ++++---- 3.3/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 2ed3f1f516..773faebcc2 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ -ENV RUBY_VERSION 3.3.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad +# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ +ENV RUBY_VERSION 3.3.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 904c97d84e..efdb58097e 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ -ENV RUBY_VERSION 3.3.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad +# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ +ENV RUBY_VERSION 3.3.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 19a5519dae..5978b00a73 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ -ENV RUBY_VERSION 3.3.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad +# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ +ENV RUBY_VERSION 3.3.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 9bb4c2cdfb..32baf57c8e 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ -ENV RUBY_VERSION 3.3.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad +# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ +ENV RUBY_VERSION 3.3.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 2866190cbc..caa2856ab9 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ -ENV RUBY_VERSION 3.3.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad +# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ +ENV RUBY_VERSION 3.3.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 182509fcea..33c527a4fd 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/ -ENV RUBY_VERSION 3.3.4 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz -ENV RUBY_DOWNLOAD_SHA256 1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad +# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ +ENV RUBY_VERSION 3.3.5 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz +ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index db4a0ba58a..7ae303730d 100644 --- a/versions.json +++ b/versions.json @@ -108,33 +108,33 @@ } }, "3.3": { - "version": "3.3.4", - "date": "2024-07-09", - "post": "/en/news/2024/07/09/ruby-3-3-4-released/", + "version": "3.3.5", + "date": "2024-09-03", + "post": "/en/news/2024/09/03/3-3-5-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz" }, "size": { - "gz": 22110179, - "zip": 26995054, - "xz": 16366580 + "gz": 22129139, + "zip": 27020194, + "xz": 16403660 }, "sha1": { - "gz": "408362dfb0413122e09d35bafdcced8922b54e71", - "zip": "dcd35f8d428e61807b5c95b6e2e79444fb32f214", - "xz": "4fac2e1609535f71cbdbf9ab9dcea6f6e80a304a" + "gz": "59444476bbe9e789fc777d8fb4dd456bc057604f", + "zip": "ccb32746aef491ce05be42218301e2c47185e5fc", + "xz": "692bc3188bdb9ec30b8672543961b011d699590a" }, "sha256": { - "gz": "fe6a30f97d54e029768f2ddf4923699c416cdbc3a6e96db3e2d5716c7db96a34", - "zip": "3cf0ee03dd4c98e78e8ab5e191af926870415770ef4995088ed069caef639b2a", - "xz": "1caaee9a5a6befef54bab67da68ace8d985e4fb59cd17ce23c28d9ab04f4ddad" + "gz": "3781a3504222c2f26cb4b9eb9c1a12dbf4944d366ce24a9ff8cf99ecbce75196", + "zip": "d3c13e124707494935d00ebc5c7983b0252bc13de49223fd31104ba5467a057a", + "xz": "51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359" }, "sha512": { - "gz": "56a0b88954a4efd0236626e49cc90cdb15d9bfd42b27d7fc34efae61f500058e58cb32c73fdef5f1505a36602f4632d6148bf3bd1df539cb5581ae157c78c22b", - "zip": "c24ca2e6b1114f9c489c049c07acccb0db0916c42c68ea90eaa9acc430973de68342df19710c58130fe264a291958c89e60815c5b00f91decf5a4d1d674a0b32", - "xz": "b26461a13ff82a08a282f10108028bb2a2e4a28da6182a291062fc54089c6655d79c22cc69d59156f9b11cb10a17fe8c69d489343fbae123a45f03361b95c9eb" + "gz": "5c482059628ef9de5d8a6ad4751f8043f2fc2b159b768265be7f3ee0574ad51d9500ee4fc9146c5978fbd51313039c3de39e7b7a4dedc9bcd5d09a41a713f1a7", + "zip": "bf83af835a74283aff21042538ee1f1eb70ff12dac1edd4672d787547cd29cb7b69a9299682f89c8499eb610737b10a7fc03eca038574cb4ba565205d96b0016", + "xz": "dd5c6a7f74854e143e0ca46b9d7c0d1983fc4886f5f733cd108345dbf4b21f61ad978ad6806e05a57b7af28fd9216dd38d7145808188bbb3695a7f3a4eda3883" }, "variants": [ "bookworm", From 2895a675d1b1690faab2105c56aa0e14f6865ff2 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 30 Sep 2024 11:28:39 -0700 Subject: [PATCH 100/132] Update `generate-stackbrew-library.sh` to support `BASHBREW_LIBRARY` for easier cascading updates See https://github.com/docker-library/official-images/pull/17640#issuecomment-2380308790 --- generate-stackbrew-library.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index da9269d380..88621d90ca 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -40,17 +40,19 @@ dirCommit() { getArches() { local repo="$1"; shift - local officialImagesUrl='https://github.com/docker-library/official-images/raw/master/library/' + local officialImagesBase="${BASHBREW_LIBRARY:-https://github.com/docker-library/official-images/raw/HEAD/library}/" - eval "declare -g -A parentRepoToArches=( $( - find -name 'Dockerfile' -exec awk ' + local parentRepoToArchesStr + parentRepoToArchesStr="$( + find -name 'Dockerfile' -exec awk -v officialImagesBase="$officialImagesBase" ' toupper($1) == "FROM" && $2 !~ /^('"$repo"'|scratch|.*\/.*)(:|$)/ { - print "'"$officialImagesUrl"'" $2 + printf "%s%s\n", officialImagesBase, $2 } ' '{}' + \ | sort -u \ - | xargs bashbrew cat --format '[{{ .RepoName }}:{{ .TagName }}]="{{ join " " .TagEntry.Architectures }}"' - ) )" + | xargs -r bashbrew cat --format '["{{ .RepoName }}:{{ .TagName }}"]="{{ join " " .TagEntry.Architectures }}"' + )" + eval "declare -g -A parentRepoToArches=( $parentRepoToArchesStr )" } getArches 'ruby' From 4e09dcf80f32040cde8ff4bb226367d45beadcd8 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Mon, 7 Oct 2024 10:03:27 -0700 Subject: [PATCH 101/132] Update 3.4-rc to 3.4.0-preview2 --- 3.4-rc/alpine3.19/Dockerfile | 8 +++--- 3.4-rc/alpine3.20/Dockerfile | 8 +++--- 3.4-rc/bookworm/Dockerfile | 8 +++--- 3.4-rc/bullseye/Dockerfile | 8 +++--- 3.4-rc/slim-bookworm/Dockerfile | 8 +++--- 3.4-rc/slim-bullseye/Dockerfile | 8 +++--- versions.json | 44 ++++++++++++++++----------------- 7 files changed, 46 insertions(+), 46 deletions(-) diff --git a/3.4-rc/alpine3.19/Dockerfile b/3.4-rc/alpine3.19/Dockerfile index fa9b0d1ad6..31c122366d 100644 --- a/3.4-rc/alpine3.19/Dockerfile +++ b/3.4-rc/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ -ENV RUBY_VERSION 3.4.0-preview1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 +# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ +ENV RUBY_VERSION 3.4.0-preview2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/alpine3.20/Dockerfile b/3.4-rc/alpine3.20/Dockerfile index 52e376e19f..f5069fcf57 100644 --- a/3.4-rc/alpine3.20/Dockerfile +++ b/3.4-rc/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ -ENV RUBY_VERSION 3.4.0-preview1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 +# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ +ENV RUBY_VERSION 3.4.0-preview2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/bookworm/Dockerfile b/3.4-rc/bookworm/Dockerfile index 73b4609249..2b05b59294 100644 --- a/3.4-rc/bookworm/Dockerfile +++ b/3.4-rc/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ -ENV RUBY_VERSION 3.4.0-preview1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 +# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ +ENV RUBY_VERSION 3.4.0-preview2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/bullseye/Dockerfile b/3.4-rc/bullseye/Dockerfile index 23f69e2e20..77f24fe450 100644 --- a/3.4-rc/bullseye/Dockerfile +++ b/3.4-rc/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ -ENV RUBY_VERSION 3.4.0-preview1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 +# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ +ENV RUBY_VERSION 3.4.0-preview2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/slim-bookworm/Dockerfile b/3.4-rc/slim-bookworm/Dockerfile index 437c092c46..b1244cda92 100644 --- a/3.4-rc/slim-bookworm/Dockerfile +++ b/3.4-rc/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ -ENV RUBY_VERSION 3.4.0-preview1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 +# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ +ENV RUBY_VERSION 3.4.0-preview2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/slim-bullseye/Dockerfile b/3.4-rc/slim-bullseye/Dockerfile index bf4736f8f9..67435a9410 100644 --- a/3.4-rc/slim-bullseye/Dockerfile +++ b/3.4-rc/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/ -ENV RUBY_VERSION 3.4.0-preview1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97 +# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ +ENV RUBY_VERSION 3.4.0-preview2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 7ae303730d..7e390943f4 100644 --- a/versions.json +++ b/versions.json @@ -179,39 +179,39 @@ }, "3.4": null, "3.4-rc": { - "version": "3.4.0-preview1", - "date": "2024-05-16", - "post": "/en/news/2024/05/16/ruby-3-4-0-preview1-released/", - "tag": "v3_4_0_preview1", + "version": "3.4.0-preview2", + "date": "2024-10-07", + "post": "/en/news/2024/10/07/ruby-3-4-0-preview2-released/", + "tag": "v3_4_0_preview2", "stats": { - "files_changed": 3283, - "insertions": 107449, - "deletions": 115380 + "files_changed": 4422, + "insertions": 163889, + "deletions": 243380 }, "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview1.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz" }, "size": { - "gz": 22507726, - "zip": 27731060, - "xz": 16709536 + "gz": 22722332, + "zip": 28101194, + "xz": 16878876 }, "sha1": { - "gz": "1619cbe06b5a8c774711b3351d18bb0f84f1d017", - "zip": "5d79834050369ea9241d86467bf93e9e89e2ab7a", - "xz": "6041ad2651527d01c36106de3d3cdab680ed3132" + "gz": "c23265acf6c07b4c1df1e41eebf8b4cf2f25b97b", + "zip": "479bd223bca3225fb3a15984e3eae4efb9a40189", + "xz": "dbff404b969012702dc500cac72f4d6b3822068e" }, "sha256": { - "gz": "1a3c322e90cb22e5fba0b5d257bb2be9988affa3867eba7642ed981fdde895bb", - "zip": "bd2a6c0e8396698e6f6768c00b0f155510859bb6fb92420f7b7abec610e71dbb", - "xz": "4ee4ec44366050d4b2ee1d88034cc63e0b9174a1a6650285777f3d3447213a97" + "gz": "443cd7ec54ade4786bc974ce9f5d49f172a60f8edc84b597b7fe2bd2a94b8371", + "zip": "e00a6fbf6f9e25a725711a8aac7e38be6bed61de4db9862a405172b96bf38b5b", + "xz": "626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7" }, "sha512": { - "gz": "29c0e32179f7b823b6708f5328e495cd333fe8dd88f7df7d9051deab47add67b14d899bba565bba1a77e1b04c9693d9708541445c112925777bb6891cb7b2b62", - "zip": "36ea6897e6ad769141516f4c1bb18989fbde27a76f0f3abcce947f8b6b79639846ba93907e085181f7d305ab06ad73f1bbb37928049c8c951d33176ee444abbf", - "xz": "4ce306b9beb1e2d88c76d7f809724b66bed17e354c07a2b54aa050fc2035652e4d83deadc8dbf7a375bbdb1c816f2996334bb8e7ff5e6c24b71a858bf6b0cb7c" + "gz": "0946d256587597bdf13437a50f7a3298c151133edea161a1c4806a04dcbd8c2e8a7fd617f3eda16c5c05f6e6346317562cc30ba67698f1fdd92237c03bdbd23e", + "zip": "0d9ee1c41920e4d594b0f2c40d02339b4e9a2cd5232f5ee914cab5a685cb4a2279fbbfd8fbad40ef0a53866db4e1de96068c62580ede6d8fab02550393bcbe81", + "xz": "f23257896a35d3a581cbf5e8c94fe28e45725e39608a7669f47f31085338b1b4929a4db40d826d8fee628afb97b0c25b2f9e7bda4cd42e80c1208c46caf54265" }, "variants": [ "bookworm", From d49362dc77dc3594d7be5f72d2860a136b81754f Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 16 Oct 2024 14:43:44 -0700 Subject: [PATCH 102/132] Use jq's `IN()` instead of `index()` The end result is the same, but the construction is more ergonomic. --- Dockerfile.template | 8 ++++---- versions.sh | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile.template b/Dockerfile.template index 84b22db427..c5ceed1ca4 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -63,7 +63,7 @@ RUN set -eux; \ {{ if is_alpine then ( -}} apk add --no-cache --virtual .ruby-builddeps \ autoconf \ -{{ if [ "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} {{ # https://github.com/docker-library/ruby/pull/438 -}} bison \ {{ ) else "" end -}} @@ -87,7 +87,7 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ -{{ if [ "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} readline-dev \ {{ ) else "" end -}} ruby \ @@ -100,7 +100,7 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ -{{ if [ "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} {{ # https://github.com/docker-library/ruby/pull/438 -}} bison \ {{ ) else "" end -}} @@ -115,7 +115,7 @@ RUN set -eux; \ libgdbm-compat-dev \ libglib2.0-dev \ libncurses-dev \ -{{ if [ "3.1", "3.2" ] | index(env.version | rtrimstr("-rc")) then ( -}} +{{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} libreadline-dev \ {{ ) else "" end -}} libxml2-dev \ diff --git a/versions.sh b/versions.sh index d5e02efeeb..aa5e6bc116 100755 --- a/versions.sh +++ b/versions.sh @@ -100,13 +100,13 @@ for version in "${versions[@]}"; do *) # YJIT doc="$(jq <<<"$doc" -sc ' - .[1][].arches? |= if . then with_entries(select(.key as $arch | [ + .[1][].arches? |= if . then with_entries(select(.key | IN( # https://github.com/ruby/ruby/blob/v3_2_0/doc/yjit/yjit.md ("currently supported for macOS and Linux on x86-64 and arm64/aarch64 CPUs") # https://github.com/ruby/ruby/blob/v3_2_0/configure.ac#L3757-L3761 "amd64", "arm64v8", empty # trailing comma - ] | index($arch))) else empty end + ))) else empty end | add ' - rust.json)" ;; From e76791f7c9c3a7de9c6c40561561dc718dc77fbb Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:48:50 +0100 Subject: [PATCH 103/132] Bump rust version --- 3.2/alpine3.19/Dockerfile | 6 ++-- 3.2/alpine3.20/Dockerfile | 6 ++-- 3.2/bookworm/Dockerfile | 6 ++-- 3.2/bullseye/Dockerfile | 6 ++-- 3.2/slim-bookworm/Dockerfile | 6 ++-- 3.2/slim-bullseye/Dockerfile | 6 ++-- 3.3/alpine3.19/Dockerfile | 6 ++-- 3.3/alpine3.20/Dockerfile | 6 ++-- 3.3/bookworm/Dockerfile | 6 ++-- 3.3/bullseye/Dockerfile | 6 ++-- 3.3/slim-bookworm/Dockerfile | 6 ++-- 3.3/slim-bullseye/Dockerfile | 6 ++-- 3.4-rc/alpine3.19/Dockerfile | 6 ++-- 3.4-rc/alpine3.20/Dockerfile | 6 ++-- 3.4-rc/bookworm/Dockerfile | 6 ++-- 3.4-rc/bullseye/Dockerfile | 6 ++-- 3.4-rc/slim-bookworm/Dockerfile | 6 ++-- 3.4-rc/slim-bullseye/Dockerfile | 6 ++-- rust.json | 48 +++++++++++++------------- versions.json | 60 ++++++++++++++++----------------- 20 files changed, 108 insertions(+), 108 deletions(-) diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index 745c0e4dc3..2d39acbe47 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -70,8 +70,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -83,7 +83,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 7cda9dd6ac..7ee9be6771 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -70,8 +70,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -83,7 +83,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index c6fb3f5bc0..058df1af0c 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -38,8 +38,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -51,7 +51,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 5139f2d1b4..09c7f1803c 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -38,8 +38,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -51,7 +51,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 5e0a6d70c7..c2108de019 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -65,8 +65,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -78,7 +78,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 9cd8698580..806c7ee1ed 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -65,8 +65,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -78,7 +78,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 773faebcc2..25844db3f6 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index efdb58097e..549eb8f454 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 5978b00a73..b36da74f9f 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -37,8 +37,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -50,7 +50,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 32baf57c8e..ac74f56eb3 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -37,8 +37,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -50,7 +50,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index caa2856ab9..34f488d96a 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 33c527a4fd..b6edf840d8 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/alpine3.19/Dockerfile b/3.4-rc/alpine3.19/Dockerfile index 31c122366d..b2082a609c 100644 --- a/3.4-rc/alpine3.19/Dockerfile +++ b/3.4-rc/alpine3.19/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/alpine3.20/Dockerfile b/3.4-rc/alpine3.20/Dockerfile index f5069fcf57..d69b2c4ad9 100644 --- a/3.4-rc/alpine3.20/Dockerfile +++ b/3.4-rc/alpine3.20/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/bookworm/Dockerfile b/3.4-rc/bookworm/Dockerfile index 2b05b59294..9a455086cd 100644 --- a/3.4-rc/bookworm/Dockerfile +++ b/3.4-rc/bookworm/Dockerfile @@ -37,8 +37,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -50,7 +50,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/bullseye/Dockerfile b/3.4-rc/bullseye/Dockerfile index 77f24fe450..1301bc657a 100644 --- a/3.4-rc/bullseye/Dockerfile +++ b/3.4-rc/bullseye/Dockerfile @@ -37,8 +37,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -50,7 +50,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/slim-bookworm/Dockerfile b/3.4-rc/slim-bookworm/Dockerfile index b1244cda92..83cdc3b48f 100644 --- a/3.4-rc/slim-bookworm/Dockerfile +++ b/3.4-rc/slim-bookworm/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/slim-bullseye/Dockerfile b/3.4-rc/slim-bullseye/Dockerfile index 67435a9410..a4250e82e5 100644 --- a/3.4-rc/slim-bullseye/Dockerfile +++ b/3.4-rc/slim-bullseye/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/rust.json b/rust.json index d95ed803a2..d0918961eb 100644 --- a/rust.json +++ b/rust.json @@ -1,83 +1,83 @@ { "rust": { - "version": "1.74.1" + "version": "1.82.0" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" } }, "arm32v5": { "glibc": { "arch": "arm-unknown-linux-gnueabi", - "sha256": "1fca5ad0f877f65c76f07bb0cbbe22c28b6e4ba883bf057f1a05636e8e2a4b40", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/arm-unknown-linux-gnueabi/rustup-init" + "sha256": "3e347090c436066be3d1d170f8c6743b5f9aab89c0a175e2e0dc902abea6b739", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/arm-unknown-linux-gnueabi/rustup-init" } }, "arm32v6": { "glibc": { "arch": "arm-unknown-linux-gnueabihf", - "sha256": "8f7801e93ec2c80e0253cba0e25c1085f92e8f49c7ddf9930be62d13361bd808", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/arm-unknown-linux-gnueabihf/rustup-init" + "sha256": "5568c68b02f2ca1ddc8c448badc4b0b2750bee3e50fe51a28c35f5b7792e36a2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/arm-unknown-linux-gnueabihf/rustup-init" } }, "arm32v7": { "glibc": { "arch": "armv7-unknown-linux-gnueabihf", - "sha256": "f21c44b01678c645d8fbba1e55e4180a01ac5af2d38bcbd14aa665e0d96ed69a", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/armv7-unknown-linux-gnueabihf/rustup-init" + "sha256": "3c4114923305f1cd3b96ce3454e9e549ad4aa7c07c03aec73d1a785e98388bed", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/armv7-unknown-linux-gnueabihf/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" } }, "i386": { "glibc": { "arch": "i686-unknown-linux-gnu", - "sha256": "e7b0f47557c1afcd86939b118cbcf7fb95a5d1d917bdd355157b63ca00fc4333", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/i686-unknown-linux-gnu/rustup-init" + "sha256": "0a6bed6e9f21192a51f83977716466895706059afb880500ff1d0e751ada5237", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/i686-unknown-linux-gnu/rustup-init" } }, "mips64le": { "glibc": { "arch": "mips64el-unknown-linux-gnuabi64", - "sha256": "b8a30dd0d0ba34324c5b2399e76ba44e50a036439cb66c92aef62b485fdc97c8", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/mips64el-unknown-linux-gnuabi64/rustup-init" + "sha256": "644cec63e594707a6098585038cf47e28546c2abe0dde7149cde71d79a0be674", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/mips64el-unknown-linux-gnuabi64/rustup-init" } }, "ppc64le": { "glibc": { "arch": "powerpc64le-unknown-linux-gnu", - "sha256": "1032934fb154ad2d365e02dcf770c6ecfaec6ab2987204c618c21ba841c97b44", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/powerpc64le-unknown-linux-gnu/rustup-init" + "sha256": "079430f58ad4da1d1f4f5f2f0bd321422373213246a93b3ddb53dad627f5aa38", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/powerpc64le-unknown-linux-gnu/rustup-init" } }, "s390x": { "glibc": { "arch": "s390x-unknown-linux-gnu", - "sha256": "414210ffd294a39ee5963e05d9f5a8435945657a1ddf74b14fd63f6eb898d69e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/s390x-unknown-linux-gnu/rustup-init" + "sha256": "e7f89da453c8ce5771c28279d1a01d5e83541d420695c74ec81a7ec5d287c51c", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/s390x-unknown-linux-gnu/rustup-init" } } }, - "version": "1.26.0" + "version": "1.27.1" } } diff --git a/versions.json b/versions.json index 7e390943f4..925e6948cc 100644 --- a/versions.json +++ b/versions.json @@ -75,36 +75,36 @@ "alpine3.19" ], "rust": { - "version": "1.74.1" + "version": "1.82.0" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.26.0" + "version": "1.27.1" } }, "3.3": { @@ -145,36 +145,36 @@ "alpine3.19" ], "rust": { - "version": "1.74.1" + "version": "1.82.0" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.26.0" + "version": "1.27.1" } }, "3.4": null, @@ -222,36 +222,36 @@ "alpine3.19" ], "rust": { - "version": "1.74.1" + "version": "1.82.0" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.26.0" + "version": "1.27.1" } } } From 3df1b04951937f41a01ae24a6867d833e78345c1 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 30 Oct 2024 04:03:14 -0700 Subject: [PATCH 104/132] Update 3.2 to 3.2.6 --- 3.2/alpine3.19/Dockerfile | 8 ++++---- 3.2/alpine3.20/Dockerfile | 8 ++++---- 3.2/bookworm/Dockerfile | 8 ++++---- 3.2/bullseye/Dockerfile | 8 ++++---- 3.2/slim-bookworm/Dockerfile | 8 ++++---- 3.2/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index 2d39acbe47..1c16ef224e 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ -ENV RUBY_VERSION 3.2.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c +# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ +ENV RUBY_VERSION 3.2.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 7ee9be6771..2583cc82b8 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ -ENV RUBY_VERSION 3.2.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c +# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ +ENV RUBY_VERSION 3.2.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index 058df1af0c..3de71d0c41 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ -ENV RUBY_VERSION 3.2.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c +# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ +ENV RUBY_VERSION 3.2.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 09c7f1803c..1d17518caf 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ -ENV RUBY_VERSION 3.2.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c +# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ +ENV RUBY_VERSION 3.2.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index c2108de019..95bc80f2c8 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ -ENV RUBY_VERSION 3.2.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c +# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ +ENV RUBY_VERSION 3.2.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 806c7ee1ed..fd8352ce83 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/ -ENV RUBY_VERSION 3.2.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c +# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ +ENV RUBY_VERSION 3.2.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 925e6948cc..bd2247f073 100644 --- a/versions.json +++ b/versions.json @@ -38,33 +38,33 @@ ] }, "3.2": { - "version": "3.2.5", - "date": "2024-07-26", - "post": "/en/news/2024/07/26/ruby-3-2-5-released/", + "version": "3.2.6", + "date": "2024-10-30", + "post": "/en/news/2024/10/30/ruby-3-2-6-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.5.zip" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz" }, "size": { - "gz": 20619047, - "xz": 15189072, - "zip": 24777979 + "gz": 20521981, + "zip": 24653808, + "xz": 15126888 }, "sha1": { - "gz": "e5166c947a4d9057b1310710a2a963df12264ac9", - "xz": "b5f21884084077b1f684efe40144844b8b37a316", - "zip": "07e7638dd5ec40f261c820be523be619fdebe4aa" + "gz": "bbf265f5e7a3f480056dc2fa6d600a97cba00713", + "zip": "efbcfc2c2e238a7201366fdefdcf0dc16e4072af", + "xz": "eabbe230df704e7141d53d8221314bb33b5f0dea" }, "sha256": { - "gz": "ef0610b498f60fb5cfd77b51adb3c10f4ca8ed9a17cb87c61e5bea314ac34a16", - "xz": "7780d91130139406d39b29ed8fe16bba350d8fa00e510c76bef9b8ec1340903c", - "zip": "b001e6c157d79f6fb351d5be83ba389c6ca20000686bbdfc8d2b8a46d38a7183" + "gz": "d9cb65ecdf3f18669639f2638b63379ed6fbb17d93ae4e726d4eb2bf68a48370", + "zip": "36ca2292b48d8f6a0281d6c772dc47c358cb838774addc0344e38d4d2735704f", + "xz": "671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb" }, "sha512": { - "gz": "d86c0151fabf21b418b007465e3f5b3fd0b2de0a9652057fd465b1f7e91b01d00f83a737e972ea994a5d9231e8cb27e64e576852390fe6c2ad502f0d099fe5f4", - "xz": "092348b84b513aec62e63ec10b326370d0e3d1fa3126c59c03c84f28e2d7741a4772c461b077ec6a7dac3964a20f434655729e1acd50a3438755d7ad64073305", - "zip": "f7a05c96a22bd4018c4a79ff595e62aa92dc844ebaf3e66d50c7b35041fade7608806668b5cb25c17b360a3cd98df1c3e0f97c49448a968accab59a9dac97e47" + "gz": "26ae9439043cf40e5eddde6b92ae51c9e1fa4e89c8ec6da36732c59c14873b022c683fb3007950d372f35de9b62a4fabbbc3ef1f4ef58cd53058bd56e1552cbe", + "zip": "8474829ebe13b3357f962571e8114e47634b5ed1f3e2dbfdf4ecb2ece1a3ed354f3506e8526a6768457e980ea4f056d77cd5b547419f2d8f9bea07348f64edc2", + "xz": "78f7fc76d47c772b9bc313cbcb57a2c0f1a975e09cfe46a3083f6f603d62b0031bd4c55896c8353c1c343974d45077e06e310111198d870883e06a0cf6fd03ce" }, "variants": [ "bookworm", From f268d3972ab3d0f8c8f6b546be8f0bb613a9dfd9 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Mon, 4 Nov 2024 22:07:45 +0100 Subject: [PATCH 105/132] Revert "Bump rust version" This reverts commit e76791f7c9c3a7de9c6c40561561dc718dc77fbb. I chose an inopportune time to do this. There is an upstream issue where builds on alpine arm64/v8 fail: https://bugs.ruby-lang.org/issues/20506 Example failure: https://doi-janky.infosiftr.net/job/wip/job/new/job/build-arm64v8/45573/console I believe rust-lang/rust#131221 will fix this but it is only slated for Rust 1.83 --- 3.2/alpine3.19/Dockerfile | 6 ++-- 3.2/alpine3.20/Dockerfile | 6 ++-- 3.2/bookworm/Dockerfile | 6 ++-- 3.2/bullseye/Dockerfile | 6 ++-- 3.2/slim-bookworm/Dockerfile | 6 ++-- 3.2/slim-bullseye/Dockerfile | 6 ++-- 3.3/alpine3.19/Dockerfile | 6 ++-- 3.3/alpine3.20/Dockerfile | 6 ++-- 3.3/bookworm/Dockerfile | 6 ++-- 3.3/bullseye/Dockerfile | 6 ++-- 3.3/slim-bookworm/Dockerfile | 6 ++-- 3.3/slim-bullseye/Dockerfile | 6 ++-- 3.4-rc/alpine3.19/Dockerfile | 6 ++-- 3.4-rc/alpine3.20/Dockerfile | 6 ++-- 3.4-rc/bookworm/Dockerfile | 6 ++-- 3.4-rc/bullseye/Dockerfile | 6 ++-- 3.4-rc/slim-bookworm/Dockerfile | 6 ++-- 3.4-rc/slim-bullseye/Dockerfile | 6 ++-- rust.json | 48 +++++++++++++------------- versions.json | 60 ++++++++++++++++----------------- 20 files changed, 108 insertions(+), 108 deletions(-) diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index 1c16ef224e..c13d2dc45f 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -70,8 +70,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -83,7 +83,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 2583cc82b8..5db5b2a3a9 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -70,8 +70,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -83,7 +83,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index 3de71d0c41..a4b7dbc9de 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -38,8 +38,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -51,7 +51,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 1d17518caf..6bc60d287e 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -38,8 +38,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -51,7 +51,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 95bc80f2c8..4d9a904c0b 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -65,8 +65,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -78,7 +78,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index fd8352ce83..d1e1b7f222 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -65,8 +65,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -78,7 +78,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 25844db3f6..773faebcc2 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 549eb8f454..efdb58097e 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index b36da74f9f..5978b00a73 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -37,8 +37,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -50,7 +50,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index ac74f56eb3..32baf57c8e 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -37,8 +37,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -50,7 +50,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 34f488d96a..caa2856ab9 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index b6edf840d8..33c527a4fd 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/alpine3.19/Dockerfile b/3.4-rc/alpine3.19/Dockerfile index b2082a609c..31c122366d 100644 --- a/3.4-rc/alpine3.19/Dockerfile +++ b/3.4-rc/alpine3.19/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/alpine3.20/Dockerfile b/3.4-rc/alpine3.20/Dockerfile index d69b2c4ad9..f5069fcf57 100644 --- a/3.4-rc/alpine3.20/Dockerfile +++ b/3.4-rc/alpine3.20/Dockerfile @@ -68,8 +68,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -81,7 +81,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/bookworm/Dockerfile b/3.4-rc/bookworm/Dockerfile index 9a455086cd..2b05b59294 100644 --- a/3.4-rc/bookworm/Dockerfile +++ b/3.4-rc/bookworm/Dockerfile @@ -37,8 +37,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -50,7 +50,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/bullseye/Dockerfile b/3.4-rc/bullseye/Dockerfile index 1301bc657a..77f24fe450 100644 --- a/3.4-rc/bullseye/Dockerfile +++ b/3.4-rc/bullseye/Dockerfile @@ -37,8 +37,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -50,7 +50,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/slim-bookworm/Dockerfile b/3.4-rc/slim-bookworm/Dockerfile index 83cdc3b48f..b1244cda92 100644 --- a/3.4-rc/slim-bookworm/Dockerfile +++ b/3.4-rc/slim-bookworm/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4-rc/slim-bullseye/Dockerfile b/3.4-rc/slim-bullseye/Dockerfile index a4250e82e5..67435a9410 100644 --- a/3.4-rc/slim-bullseye/Dockerfile +++ b/3.4-rc/slim-bullseye/Dockerfile @@ -63,8 +63,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -76,7 +76,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.82.0' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/rust.json b/rust.json index d0918961eb..d95ed803a2 100644 --- a/rust.json +++ b/rust.json @@ -1,83 +1,83 @@ { "rust": { - "version": "1.82.0" + "version": "1.74.1" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" } }, "arm32v5": { "glibc": { "arch": "arm-unknown-linux-gnueabi", - "sha256": "3e347090c436066be3d1d170f8c6743b5f9aab89c0a175e2e0dc902abea6b739", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/arm-unknown-linux-gnueabi/rustup-init" + "sha256": "1fca5ad0f877f65c76f07bb0cbbe22c28b6e4ba883bf057f1a05636e8e2a4b40", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/arm-unknown-linux-gnueabi/rustup-init" } }, "arm32v6": { "glibc": { "arch": "arm-unknown-linux-gnueabihf", - "sha256": "5568c68b02f2ca1ddc8c448badc4b0b2750bee3e50fe51a28c35f5b7792e36a2", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/arm-unknown-linux-gnueabihf/rustup-init" + "sha256": "8f7801e93ec2c80e0253cba0e25c1085f92e8f49c7ddf9930be62d13361bd808", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/arm-unknown-linux-gnueabihf/rustup-init" } }, "arm32v7": { "glibc": { "arch": "armv7-unknown-linux-gnueabihf", - "sha256": "3c4114923305f1cd3b96ce3454e9e549ad4aa7c07c03aec73d1a785e98388bed", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/armv7-unknown-linux-gnueabihf/rustup-init" + "sha256": "f21c44b01678c645d8fbba1e55e4180a01ac5af2d38bcbd14aa665e0d96ed69a", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/armv7-unknown-linux-gnueabihf/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" } }, "i386": { "glibc": { "arch": "i686-unknown-linux-gnu", - "sha256": "0a6bed6e9f21192a51f83977716466895706059afb880500ff1d0e751ada5237", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/i686-unknown-linux-gnu/rustup-init" + "sha256": "e7b0f47557c1afcd86939b118cbcf7fb95a5d1d917bdd355157b63ca00fc4333", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/i686-unknown-linux-gnu/rustup-init" } }, "mips64le": { "glibc": { "arch": "mips64el-unknown-linux-gnuabi64", - "sha256": "644cec63e594707a6098585038cf47e28546c2abe0dde7149cde71d79a0be674", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/mips64el-unknown-linux-gnuabi64/rustup-init" + "sha256": "b8a30dd0d0ba34324c5b2399e76ba44e50a036439cb66c92aef62b485fdc97c8", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/mips64el-unknown-linux-gnuabi64/rustup-init" } }, "ppc64le": { "glibc": { "arch": "powerpc64le-unknown-linux-gnu", - "sha256": "079430f58ad4da1d1f4f5f2f0bd321422373213246a93b3ddb53dad627f5aa38", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/powerpc64le-unknown-linux-gnu/rustup-init" + "sha256": "1032934fb154ad2d365e02dcf770c6ecfaec6ab2987204c618c21ba841c97b44", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/powerpc64le-unknown-linux-gnu/rustup-init" } }, "s390x": { "glibc": { "arch": "s390x-unknown-linux-gnu", - "sha256": "e7f89da453c8ce5771c28279d1a01d5e83541d420695c74ec81a7ec5d287c51c", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/s390x-unknown-linux-gnu/rustup-init" + "sha256": "414210ffd294a39ee5963e05d9f5a8435945657a1ddf74b14fd63f6eb898d69e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/s390x-unknown-linux-gnu/rustup-init" } } }, - "version": "1.27.1" + "version": "1.26.0" } } diff --git a/versions.json b/versions.json index bd2247f073..dd8fabb2cf 100644 --- a/versions.json +++ b/versions.json @@ -75,36 +75,36 @@ "alpine3.19" ], "rust": { - "version": "1.82.0" + "version": "1.74.1" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.27.1" + "version": "1.26.0" } }, "3.3": { @@ -145,36 +145,36 @@ "alpine3.19" ], "rust": { - "version": "1.82.0" + "version": "1.74.1" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.27.1" + "version": "1.26.0" } }, "3.4": null, @@ -222,36 +222,36 @@ "alpine3.19" ], "rust": { - "version": "1.82.0" + "version": "1.74.1" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", - "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.27.1" + "version": "1.26.0" } } } From b511945b11599126f923b73533e7b906bb6e95cc Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Mon, 4 Nov 2024 22:03:16 -0800 Subject: [PATCH 106/132] Update 3.3 to 3.3.6 --- 3.3/alpine3.19/Dockerfile | 8 ++++---- 3.3/alpine3.20/Dockerfile | 8 ++++---- 3.3/bookworm/Dockerfile | 8 ++++---- 3.3/bullseye/Dockerfile | 8 ++++---- 3.3/slim-bookworm/Dockerfile | 8 ++++---- 3.3/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 773faebcc2..0ea3669c6c 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ -ENV RUBY_VERSION 3.3.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 +# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ +ENV RUBY_VERSION 3.3.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index efdb58097e..99d1588d0c 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ -ENV RUBY_VERSION 3.3.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 +# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ +ENV RUBY_VERSION 3.3.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 5978b00a73..5b2e811d0e 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ -ENV RUBY_VERSION 3.3.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 +# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ +ENV RUBY_VERSION 3.3.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 32baf57c8e..2dba313aef 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -16,10 +16,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ -ENV RUBY_VERSION 3.3.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 +# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ +ENV RUBY_VERSION 3.3.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index caa2856ab9..8ad3904d07 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ -ENV RUBY_VERSION 3.3.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 +# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ +ENV RUBY_VERSION 3.3.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 33c527a4fd..72152688f8 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -30,10 +30,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ -ENV RUBY_VERSION 3.3.5 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz -ENV RUBY_DOWNLOAD_SHA256 51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359 +# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ +ENV RUBY_VERSION 3.3.6 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz +ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index dd8fabb2cf..a79aa0fced 100644 --- a/versions.json +++ b/versions.json @@ -108,33 +108,33 @@ } }, "3.3": { - "version": "3.3.5", - "date": "2024-09-03", - "post": "/en/news/2024/09/03/3-3-5-released/", + "version": "3.3.6", + "date": "2024-11-05", + "post": "/en/news/2024/11/05/ruby-3-3-6-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz" }, "size": { - "gz": 22129139, - "zip": 27020194, - "xz": 16403660 + "gz": 22153657, + "zip": 27048656, + "xz": 16398228 }, "sha1": { - "gz": "59444476bbe9e789fc777d8fb4dd456bc057604f", - "zip": "ccb32746aef491ce05be42218301e2c47185e5fc", - "xz": "692bc3188bdb9ec30b8672543961b011d699590a" + "gz": "0106171cd1801fb5663e8e709f3d6c935d683c9b", + "zip": "88239456249cd80cadd1cbf98a317ae700ccd9df", + "xz": "25391e9bd8547cd07e09afcfc472777520a3178a" }, "sha256": { - "gz": "3781a3504222c2f26cb4b9eb9c1a12dbf4944d366ce24a9ff8cf99ecbce75196", - "zip": "d3c13e124707494935d00ebc5c7983b0252bc13de49223fd31104ba5467a057a", - "xz": "51aec7ea89b46125a2c9adc6f36766b65023d47952b916b1aed300ddcc042359" + "gz": "8dc48fffaf270f86f1019053f28e51e4da4cce32a36760a0603a9aee67d7fd8d", + "zip": "a60240a6f9bcc8db6c07d40ad29c7dceb21430debe3ebc39bf339207818132f6", + "xz": "540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266" }, "sha512": { - "gz": "5c482059628ef9de5d8a6ad4751f8043f2fc2b159b768265be7f3ee0574ad51d9500ee4fc9146c5978fbd51313039c3de39e7b7a4dedc9bcd5d09a41a713f1a7", - "zip": "bf83af835a74283aff21042538ee1f1eb70ff12dac1edd4672d787547cd29cb7b69a9299682f89c8499eb610737b10a7fc03eca038574cb4ba565205d96b0016", - "xz": "dd5c6a7f74854e143e0ca46b9d7c0d1983fc4886f5f733cd108345dbf4b21f61ad978ad6806e05a57b7af28fd9216dd38d7145808188bbb3695a7f3a4eda3883" + "gz": "4ae22f5c2a1f7ed84aab7587ff04ce4d9933cffe4347deaef0ab88d22c9780f274c1664a4ee1dd8235bc3cc749be828ffa8db7cb5f5002339a59a599acf3c729", + "zip": "c010c7d3e2b373b41a18bcadfb6dba276afabe479d75624569b5bdc605f3575bced2aff511708e25ceca43c7c918400222329e55e599c54154f203957f119ad2", + "xz": "c4b86188bf539fa737932e1ba5b746bc295e7c43b2f8cca2668eb7c88aa7228e2ce9032bbcd244a7d558a11bc842445b5fbeac3503ca7d223b63c53e08dba4ab" }, "variants": [ "bookworm", From cf905a63f0b9f9ab45b97922fd87464006a68f8f Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 21 Nov 2024 10:50:56 -0800 Subject: [PATCH 107/132] Update README See https://github.com/docker-library/docs/pull/2503 --- README.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/README.md b/README.md index 43c76b2f9c..76e88e3e13 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,4 @@ For more information about the full official images change lifecycle, see [the " For outstanding `ruby` image PRs, check [PRs with the "library/ruby" label on the official-images repository](https://github.com/docker-library/official-images/labels/library%2Fruby). For the current "source of truth" for [`ruby`](https://hub.docker.com/_/ruby/), see [the `library/ruby` file in the official-images repository](https://github.com/docker-library/official-images/blob/master/library/ruby). ---- - -- [![build status badge](https://img.shields.io/github/actions/workflow/status/docker-library/ruby/ci.yml?branch=master&label=GitHub%20CI)](https://github.com/docker-library/ruby/actions?query=workflow%3A%22GitHub+CI%22+branch%3Amaster) -- [![build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/update.sh/job/ruby.svg?label=Automated%20update.sh)](https://doi-janky.infosiftr.net/job/update.sh/job/ruby/) - -| Build | Status | Badges | (per-arch) | -|:-:|:-:|:-:|:-:| -| [![amd64 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/amd64/job/ruby.svg?label=amd64)](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/ruby/) | [![arm32v5 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/ruby.svg?label=arm32v5)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/ruby/) | [![arm32v6 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/ruby.svg?label=arm32v6)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/ruby/) | [![arm32v7 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/ruby.svg?label=arm32v7)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/ruby/) | -| [![arm64v8 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/ruby.svg?label=arm64v8)](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/ruby/) | [![i386 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/i386/job/ruby.svg?label=i386)](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/ruby/) | [![mips64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/ruby.svg?label=mips64le)](https://doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/ruby/) | [![ppc64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/ruby.svg?label=ppc64le)](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/ruby/) | -| [![s390x build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/s390x/job/ruby.svg?label=s390x)](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/ruby/) | [![put-shared build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/put-shared/job/light/job/ruby.svg?label=put-shared)](https://doi-janky.infosiftr.net/job/put-shared/job/light/job/ruby/) | - From bbd386f9c78b59db5ba41a01cdbb8decd740c231 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Thu, 5 Dec 2024 12:02:25 +0100 Subject: [PATCH 108/132] Remove alpine isnan/isinf workaround I believe this was fixed with https://github.com/ruby/ruby/commit/74f94b3e6ebf15b76f3b357e754095412b006e94 https://bugs.ruby-lang.org/issues/15595 This was shipped with Ruby 2.7, so it should be unnecessary now --- 3.1/alpine3.19/Dockerfile | 3 --- 3.1/alpine3.20/Dockerfile | 3 --- 3.2/alpine3.19/Dockerfile | 3 --- 3.2/alpine3.20/Dockerfile | 3 --- 3.3/alpine3.19/Dockerfile | 3 --- 3.3/alpine3.20/Dockerfile | 3 --- 3.4-rc/alpine3.19/Dockerfile | 3 --- 3.4-rc/alpine3.20/Dockerfile | 3 --- Dockerfile.template | 3 --- 9 files changed, 27 deletions(-) diff --git a/3.1/alpine3.19/Dockerfile b/3.1/alpine3.19/Dockerfile index ab93cb5278..94b5ec47b4 100644 --- a/3.1/alpine3.19/Dockerfile +++ b/3.1/alpine3.19/Dockerfile @@ -84,9 +84,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index 7b0a19ee4d..c23adc3660 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -84,9 +84,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.19/Dockerfile index 1c16ef224e..84e7747328 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.19/Dockerfile @@ -106,9 +106,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 2583cc82b8..e460aba190 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -106,9 +106,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.19/Dockerfile index 25844db3f6..41524f2a47 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.19/Dockerfile @@ -104,9 +104,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 549eb8f454..963c1110bf 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -104,9 +104,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ diff --git a/3.4-rc/alpine3.19/Dockerfile b/3.4-rc/alpine3.19/Dockerfile index b2082a609c..ff329f04c0 100644 --- a/3.4-rc/alpine3.19/Dockerfile +++ b/3.4-rc/alpine3.19/Dockerfile @@ -104,9 +104,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ diff --git a/3.4-rc/alpine3.20/Dockerfile b/3.4-rc/alpine3.20/Dockerfile index d69b2c4ad9..be4ce7f411 100644 --- a/3.4-rc/alpine3.20/Dockerfile +++ b/3.4-rc/alpine3.20/Dockerfile @@ -104,9 +104,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir { \ diff --git a/Dockerfile.template b/Dockerfile.template index c5ceed1ca4..ceb8c320e5 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -215,9 +215,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# the configure script does not detect isnan/isinf as macros - export ac_cv_func_isnan=yes ac_cv_func_isinf=yes; \ - \ {{ ) else "" end -}} # hack in "ENABLE_PATH_CHECK" disabling to suppress: # warning: Insecure world writable dir From c79256398297d00ad8c393ef2a596767954b6042 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Thu, 5 Dec 2024 23:28:03 +0100 Subject: [PATCH 109/132] https://alpinelinux.org/posts/Alpine-3.21.0-released.html As customary, drop alpine 3.19 --- 3.1/{alpine3.19 => alpine3.21}/Dockerfile | 2 +- 3.2/{alpine3.19 => alpine3.21}/Dockerfile | 2 +- 3.3/{alpine3.19 => alpine3.21}/Dockerfile | 2 +- 3.4-rc/{alpine3.19 => alpine3.21}/Dockerfile | 2 +- versions.json | 16 ++++++++-------- versions.sh | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) rename 3.1/{alpine3.19 => alpine3.21}/Dockerfile (99%) rename 3.2/{alpine3.19 => alpine3.21}/Dockerfile (99%) rename 3.3/{alpine3.19 => alpine3.21}/Dockerfile (99%) rename 3.4-rc/{alpine3.19 => alpine3.21}/Dockerfile (99%) diff --git a/3.1/alpine3.19/Dockerfile b/3.1/alpine3.21/Dockerfile similarity index 99% rename from 3.1/alpine3.19/Dockerfile rename to 3.1/alpine3.21/Dockerfile index 94b5ec47b4..fea4377ce6 100644 --- a/3.1/alpine3.19/Dockerfile +++ b/3.1/alpine3.21/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.21 RUN set -eux; \ apk add --no-cache \ diff --git a/3.2/alpine3.19/Dockerfile b/3.2/alpine3.21/Dockerfile similarity index 99% rename from 3.2/alpine3.19/Dockerfile rename to 3.2/alpine3.21/Dockerfile index 34702e7fab..baf89084a7 100644 --- a/3.2/alpine3.19/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.21 RUN set -eux; \ apk add --no-cache \ diff --git a/3.3/alpine3.19/Dockerfile b/3.3/alpine3.21/Dockerfile similarity index 99% rename from 3.3/alpine3.19/Dockerfile rename to 3.3/alpine3.21/Dockerfile index cd3ef78009..f09af2234c 100644 --- a/3.3/alpine3.19/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.21 RUN set -eux; \ apk add --no-cache \ diff --git a/3.4-rc/alpine3.19/Dockerfile b/3.4-rc/alpine3.21/Dockerfile similarity index 99% rename from 3.4-rc/alpine3.19/Dockerfile rename to 3.4-rc/alpine3.21/Dockerfile index 49045d4c48..07c7820f05 100644 --- a/3.4-rc/alpine3.19/Dockerfile +++ b/3.4-rc/alpine3.21/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.19 +FROM alpine:3.21 RUN set -eux; \ apk add --no-cache \ diff --git a/versions.json b/versions.json index a79aa0fced..e614243702 100644 --- a/versions.json +++ b/versions.json @@ -33,8 +33,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.20", - "alpine3.19" + "alpine3.21", + "alpine3.20" ] }, "3.2": { @@ -71,8 +71,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.20", - "alpine3.19" + "alpine3.21", + "alpine3.20" ], "rust": { "version": "1.74.1" @@ -141,8 +141,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.20", - "alpine3.19" + "alpine3.21", + "alpine3.20" ], "rust": { "version": "1.74.1" @@ -218,8 +218,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.20", - "alpine3.19" + "alpine3.21", + "alpine3.20" ], "rust": { "version": "1.74.1" diff --git a/versions.sh b/versions.sh index aa5e6bc116..64bf090ebe 100755 --- a/versions.sh +++ b/versions.sh @@ -88,8 +88,8 @@ for version in "${versions[@]}"; do empty # trailing comma hack | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( + "3.21", "3.20", - "3.19", empty # trailing comma hack | "alpine" + .) ] From 780654067ddce418269e6710c13b75de288c3c0d Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Fri, 6 Dec 2024 13:18:01 +0100 Subject: [PATCH 110/132] Simplify gemrc nodoc Per https://stackoverflow.com/questions/1381725/how-to-make-no-ri-no-rdoc-the-default-for-gem-install#comment22636260_7662245 this is possible since rubygems 2.0.0 from 2012. I updated the comment to indicate this is only for the `gem` command, bundler already doesn't do this by default. It works: ``` $ gem install rubocop -v 1.69.0 Fetching rubocop-1.69.0.gem Successfully installed rubocop-1.69.0 1 gem installed $ gem update rubocop Updating installed gems Updating rubocop Fetching rubocop-1.69.1.gem Successfully installed rubocop-1.69.1 Gems updated: rubocop ``` --- 3.1/alpine3.20/Dockerfile | 7 ++----- 3.1/alpine3.21/Dockerfile | 7 ++----- 3.1/bookworm/Dockerfile | 7 ++----- 3.1/bullseye/Dockerfile | 7 ++----- 3.1/slim-bookworm/Dockerfile | 7 ++----- 3.1/slim-bullseye/Dockerfile | 7 ++----- 3.2/alpine3.20/Dockerfile | 7 ++----- 3.2/alpine3.21/Dockerfile | 7 ++----- 3.2/bookworm/Dockerfile | 7 ++----- 3.2/bullseye/Dockerfile | 7 ++----- 3.2/slim-bookworm/Dockerfile | 7 ++----- 3.2/slim-bullseye/Dockerfile | 7 ++----- 3.3/alpine3.20/Dockerfile | 7 ++----- 3.3/alpine3.21/Dockerfile | 7 ++----- 3.3/bookworm/Dockerfile | 7 ++----- 3.3/bullseye/Dockerfile | 7 ++----- 3.3/slim-bookworm/Dockerfile | 7 ++----- 3.3/slim-bullseye/Dockerfile | 7 ++----- 3.4-rc/alpine3.20/Dockerfile | 7 ++----- 3.4-rc/alpine3.21/Dockerfile | 7 ++----- 3.4-rc/bookworm/Dockerfile | 7 ++----- 3.4-rc/bullseye/Dockerfile | 7 ++----- 3.4-rc/slim-bookworm/Dockerfile | 7 ++----- 3.4-rc/slim-bullseye/Dockerfile | 7 ++----- Dockerfile.template | 7 ++----- 25 files changed, 50 insertions(+), 125 deletions(-) diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index c23adc3660..f041772271 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -17,13 +17,10 @@ RUN set -eux; \ zlib-dev \ ; -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.1/alpine3.21/Dockerfile b/3.1/alpine3.21/Dockerfile index fea4377ce6..81fe32a009 100644 --- a/3.1/alpine3.21/Dockerfile +++ b/3.1/alpine3.21/Dockerfile @@ -17,13 +17,10 @@ RUN set -eux; \ zlib-dev \ ; -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile index 3211192173..a2b97e9f35 100644 --- a/3.1/bookworm/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -6,13 +6,10 @@ FROM buildpack-deps:bookworm -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 245e907bab..627cd46b6f 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -6,13 +6,10 @@ FROM buildpack-deps:bullseye -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index 6d83ac0675..eb96f931b9 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -20,13 +20,10 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 22a77ef17f..3d51740b9d 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -20,13 +20,10 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 0c31f8f0a5..30919ed40e 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -17,13 +17,10 @@ RUN set -eux; \ zlib-dev \ ; -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.2/alpine3.21/Dockerfile b/3.2/alpine3.21/Dockerfile index baf89084a7..1c1b1a8bac 100644 --- a/3.2/alpine3.21/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -17,13 +17,10 @@ RUN set -eux; \ zlib-dev \ ; -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index a4b7dbc9de..394e1ea1f5 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -6,13 +6,10 @@ FROM buildpack-deps:bookworm -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 6bc60d287e..9dbdf061dd 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -6,13 +6,10 @@ FROM buildpack-deps:bullseye -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 4d9a904c0b..7142b0f356 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -20,13 +20,10 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index d1e1b7f222..8d278ff263 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -20,13 +20,10 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 8eae154635..4fdc15b5e2 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -17,13 +17,10 @@ RUN set -eux; \ zlib-dev \ ; -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.3/alpine3.21/Dockerfile b/3.3/alpine3.21/Dockerfile index f09af2234c..a12746bb93 100644 --- a/3.3/alpine3.21/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -17,13 +17,10 @@ RUN set -eux; \ zlib-dev \ ; -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 5b2e811d0e..1b70985936 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -6,13 +6,10 @@ FROM buildpack-deps:bookworm -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 2dba313aef..330629dda2 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -6,13 +6,10 @@ FROM buildpack-deps:bullseye -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 8ad3904d07..6730cf491c 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -20,13 +20,10 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 72152688f8..d68cc7a2b5 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -20,13 +20,10 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.4-rc/alpine3.20/Dockerfile b/3.4-rc/alpine3.20/Dockerfile index 383677edd0..7d62a786aa 100644 --- a/3.4-rc/alpine3.20/Dockerfile +++ b/3.4-rc/alpine3.20/Dockerfile @@ -17,13 +17,10 @@ RUN set -eux; \ zlib-dev \ ; -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.4-rc/alpine3.21/Dockerfile b/3.4-rc/alpine3.21/Dockerfile index 07c7820f05..9ae3322aad 100644 --- a/3.4-rc/alpine3.21/Dockerfile +++ b/3.4-rc/alpine3.21/Dockerfile @@ -17,13 +17,10 @@ RUN set -eux; \ zlib-dev \ ; -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.4-rc/bookworm/Dockerfile b/3.4-rc/bookworm/Dockerfile index 2b05b59294..b7255c4144 100644 --- a/3.4-rc/bookworm/Dockerfile +++ b/3.4-rc/bookworm/Dockerfile @@ -6,13 +6,10 @@ FROM buildpack-deps:bookworm -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.4-rc/bullseye/Dockerfile b/3.4-rc/bullseye/Dockerfile index 77f24fe450..22337629c7 100644 --- a/3.4-rc/bullseye/Dockerfile +++ b/3.4-rc/bullseye/Dockerfile @@ -6,13 +6,10 @@ FROM buildpack-deps:bullseye -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.4-rc/slim-bookworm/Dockerfile b/3.4-rc/slim-bookworm/Dockerfile index b1244cda92..0eea038c9a 100644 --- a/3.4-rc/slim-bookworm/Dockerfile +++ b/3.4-rc/slim-bookworm/Dockerfile @@ -20,13 +20,10 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/3.4-rc/slim-bullseye/Dockerfile b/3.4-rc/slim-bullseye/Dockerfile index 67435a9410..412425643e 100644 --- a/3.4-rc/slim-bullseye/Dockerfile +++ b/3.4-rc/slim-bullseye/Dockerfile @@ -20,13 +20,10 @@ RUN set -eux; \ ; \ rm -rf /var/lib/apt/lists/* -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 diff --git a/Dockerfile.template b/Dockerfile.template index ceb8c320e5..3c17e98577 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -41,13 +41,10 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* {{ ) else "" end -}} -# skip installing gem documentation +# skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ - { \ - echo 'install: --no-document'; \ - echo 'update: --no-document'; \ - } >> /usr/local/etc/gemrc + echo 'gem: --no-document' >> /usr/local/etc/gemrc ENV LANG C.UTF-8 From 34da3c21b6eb8a63f2c72167f3ad46fe31260dc3 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Thu, 12 Dec 2024 10:03:28 -0800 Subject: [PATCH 111/132] Update 3.4-rc to 3.4.0-rc1 --- 3.4-rc/alpine3.20/Dockerfile | 8 +++--- 3.4-rc/alpine3.21/Dockerfile | 8 +++--- 3.4-rc/bookworm/Dockerfile | 8 +++--- 3.4-rc/bullseye/Dockerfile | 8 +++--- 3.4-rc/slim-bookworm/Dockerfile | 8 +++--- 3.4-rc/slim-bullseye/Dockerfile | 8 +++--- versions.json | 44 ++++++++++++++++----------------- 7 files changed, 46 insertions(+), 46 deletions(-) diff --git a/3.4-rc/alpine3.20/Dockerfile b/3.4-rc/alpine3.20/Dockerfile index 7d62a786aa..4d1ede484c 100644 --- a/3.4-rc/alpine3.20/Dockerfile +++ b/3.4-rc/alpine3.20/Dockerfile @@ -24,10 +24,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ -ENV RUBY_VERSION 3.4.0-preview2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 +# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ +ENV RUBY_VERSION 3.4.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/alpine3.21/Dockerfile b/3.4-rc/alpine3.21/Dockerfile index 9ae3322aad..ae79b8a91a 100644 --- a/3.4-rc/alpine3.21/Dockerfile +++ b/3.4-rc/alpine3.21/Dockerfile @@ -24,10 +24,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ -ENV RUBY_VERSION 3.4.0-preview2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 +# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ +ENV RUBY_VERSION 3.4.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/bookworm/Dockerfile b/3.4-rc/bookworm/Dockerfile index b7255c4144..fea2d90147 100644 --- a/3.4-rc/bookworm/Dockerfile +++ b/3.4-rc/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ -ENV RUBY_VERSION 3.4.0-preview2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 +# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ +ENV RUBY_VERSION 3.4.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/bullseye/Dockerfile b/3.4-rc/bullseye/Dockerfile index 22337629c7..e7ea548dbd 100644 --- a/3.4-rc/bullseye/Dockerfile +++ b/3.4-rc/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ -ENV RUBY_VERSION 3.4.0-preview2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 +# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ +ENV RUBY_VERSION 3.4.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/slim-bookworm/Dockerfile b/3.4-rc/slim-bookworm/Dockerfile index 0eea038c9a..10045e7f27 100644 --- a/3.4-rc/slim-bookworm/Dockerfile +++ b/3.4-rc/slim-bookworm/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ -ENV RUBY_VERSION 3.4.0-preview2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 +# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ +ENV RUBY_VERSION 3.4.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4-rc/slim-bullseye/Dockerfile b/3.4-rc/slim-bullseye/Dockerfile index 412425643e..0238894b47 100644 --- a/3.4-rc/slim-bullseye/Dockerfile +++ b/3.4-rc/slim-bullseye/Dockerfile @@ -27,10 +27,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4-0-preview2-released/ -ENV RUBY_VERSION 3.4.0-preview2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 +# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ +ENV RUBY_VERSION 3.4.0-rc1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index e614243702..ec5c2a6c90 100644 --- a/versions.json +++ b/versions.json @@ -179,39 +179,39 @@ }, "3.4": null, "3.4-rc": { - "version": "3.4.0-preview2", - "date": "2024-10-07", - "post": "/en/news/2024/10/07/ruby-3-4-0-preview2-released/", - "tag": "v3_4_0_preview2", + "version": "3.4.0-rc1", + "date": "2024-12-12", + "post": "/en/news/2024/12/12/ruby-3-4-0-rc1-released/", + "tag": "v3_4_0_rc1", "stats": { - "files_changed": 4422, - "insertions": 163889, - "deletions": 243380 + "files_changed": 4820, + "insertions": 196907, + "deletions": 253488 }, "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz" }, "size": { - "gz": 22722332, - "zip": 28101194, - "xz": 16878876 + "gz": 23055998, + "zip": 28323595, + "xz": 17116016 }, "sha1": { - "gz": "c23265acf6c07b4c1df1e41eebf8b4cf2f25b97b", - "zip": "479bd223bca3225fb3a15984e3eae4efb9a40189", - "xz": "dbff404b969012702dc500cac72f4d6b3822068e" + "gz": "216e3085ab8b886b9f74943ee5b62bd2e3d86671", + "zip": "4ae8ce4b15ccc3f0c6f42e408c44aa287a1ccc14", + "xz": "1424671cdc9c4bfe3778ac159d917c8bfe6107bd" }, "sha256": { - "gz": "443cd7ec54ade4786bc974ce9f5d49f172a60f8edc84b597b7fe2bd2a94b8371", - "zip": "e00a6fbf6f9e25a725711a8aac7e38be6bed61de4db9862a405172b96bf38b5b", - "xz": "626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7" + "gz": "1f3187d3366e90af6d760994f8bfe1fe8999a8ba3553ea4dcfae63e548236e2a", + "zip": "653162a2db627e8e5feee22a00b20acf215509d88b06ffb281bc8788ed12c74c", + "xz": "9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17" }, "sha512": { - "gz": "0946d256587597bdf13437a50f7a3298c151133edea161a1c4806a04dcbd8c2e8a7fd617f3eda16c5c05f6e6346317562cc30ba67698f1fdd92237c03bdbd23e", - "zip": "0d9ee1c41920e4d594b0f2c40d02339b4e9a2cd5232f5ee914cab5a685cb4a2279fbbfd8fbad40ef0a53866db4e1de96068c62580ede6d8fab02550393bcbe81", - "xz": "f23257896a35d3a581cbf5e8c94fe28e45725e39608a7669f47f31085338b1b4929a4db40d826d8fee628afb97b0c25b2f9e7bda4cd42e80c1208c46caf54265" + "gz": "0b0420a39c0bf3b38600d4e28805a581c4b5a6cf2abe41be8c8164276a8044a19e676de74eea5dd5b4d7d667d821a6144119795fea510fd4ba6e34865a2ae172", + "zip": "c6c6b9a0e61308e3f3303cd148613feabb2ee12d8e2fefc1f4aa1403237310f7c9be5e2031248ea89ff01cdc0bca1a66ff60f9f1f19ed9c9fccef3d7a3bbebb8", + "xz": "5b92a2b5829ab23735617945839e45df984b319b8932e790a8e0c6f681b9bd74249511a76345516cc216c002ed7887bdd27151501491d5ecedc20acd3fb57cc5" }, "variants": [ "bookworm", From 15cf9d7e36c428e94867a4c8709246a426a83442 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Fri, 13 Dec 2024 15:02:49 -0800 Subject: [PATCH 112/132] Simplify and update `verify-templating.yml` This makes it print out a diff when there is an error (instead of just a list of files that are wrong), which will make the error more obvious. I also added `workflow_dispatch` so we can run it manually. --- .github/workflows/verify-templating.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/verify-templating.yml b/.github/workflows/verify-templating.yml index 2e1fb78729..e822ba6bb9 100644 --- a/.github/workflows/verify-templating.yml +++ b/.github/workflows/verify-templating.yml @@ -3,6 +3,7 @@ name: Verify Templating on: pull_request: push: + workflow_dispatch: defaults: run: @@ -14,9 +15,5 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Apply Templates - run: ./apply-templates.sh - - name: Check Git Status - run: | - status="$(git status --short)" - [ -z "$status" ] + - run: ./apply-templates.sh + - run: git diff --exit-code From 3caadc6cd9931b347181c517968c2ad414c49760 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 25 Dec 2024 04:03:23 -0800 Subject: [PATCH 113/132] Update 3.4 to 3.4.1, rust 1.74.1, rustup 1.26.0 --- 3.4/alpine3.20/Dockerfile | 160 +++++++++++++++++++++++++++++++++++ 3.4/alpine3.21/Dockerfile | 160 +++++++++++++++++++++++++++++++++++ 3.4/bookworm/Dockerfile | 118 ++++++++++++++++++++++++++ 3.4/bullseye/Dockerfile | 118 ++++++++++++++++++++++++++ 3.4/slim-bookworm/Dockerfile | 144 +++++++++++++++++++++++++++++++ 3.4/slim-bullseye/Dockerfile | 144 +++++++++++++++++++++++++++++++ versions.json | 71 +++++++++++++++- 7 files changed, 914 insertions(+), 1 deletion(-) create mode 100644 3.4/alpine3.20/Dockerfile create mode 100644 3.4/alpine3.21/Dockerfile create mode 100644 3.4/bookworm/Dockerfile create mode 100644 3.4/bullseye/Dockerfile create mode 100644 3.4/slim-bookworm/Dockerfile create mode 100644 3.4/slim-bullseye/Dockerfile diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile new file mode 100644 index 0000000000..ff0e3a2966 --- /dev/null +++ b/3.4/alpine3.20/Dockerfile @@ -0,0 +1,160 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.20 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ +ENV RUBY_VERSION 3.4.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile new file mode 100644 index 0000000000..826e727fbc --- /dev/null +++ b/3.4/alpine3.21/Dockerfile @@ -0,0 +1,160 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.21 + +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ +ENV RUBY_VERSION 3.4.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-rundeps' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4/bookworm/Dockerfile b/3.4/bookworm/Dockerfile new file mode 100644 index 0000000000..4566ff2398 --- /dev/null +++ b/3.4/bookworm/Dockerfile @@ -0,0 +1,118 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bookworm + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ +ENV RUBY_VERSION 3.4.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4/bullseye/Dockerfile b/3.4/bullseye/Dockerfile new file mode 100644 index 0000000000..327b235ad7 --- /dev/null +++ b/3.4/bullseye/Dockerfile @@ -0,0 +1,118 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ +ENV RUBY_VERSION 3.4.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile new file mode 100644 index 0000000000..b41f3d3019 --- /dev/null +++ b/3.4/slim-bookworm/Dockerfile @@ -0,0 +1,144 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bookworm-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ +ENV RUBY_VERSION 3.4.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..a00693b9d8 --- /dev/null +++ b/3.4/slim-bullseye/Dockerfile @@ -0,0 +1,144 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + bzip2 \ + ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ +ENV RUBY_VERSION 3.4.1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + g++ \ + gcc \ + libbz2-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libncurses-dev \ + libxml2-dev \ + libxslt-dev \ + make \ + wget \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# hack in "ENABLE_PATH_CHECK" disabling to suppress: +# warning: Insecure world writable dir + { \ + echo '#define ENABLE_PATH_CHECK 0'; \ + echo; \ + cat file.c; \ + } > file.c.new; \ + mv file.c.new file.c; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/versions.json b/versions.json index ec5c2a6c90..17c7b90fbb 100644 --- a/versions.json +++ b/versions.json @@ -177,7 +177,76 @@ "version": "1.26.0" } }, - "3.4": null, + "3.4": { + "version": "3.4.1", + "date": "2024-12-25", + "post": "/en/news/2024/12/25/ruby-3-4-1-released/", + "url": { + "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz" + }, + "size": { + "gz": 23152739, + "zip": 28310267, + "xz": 17222800 + }, + "sha1": { + "gz": "dc42fe22bcdfbd30f63cd93296d893c53b1dadcc", + "zip": "a7145041a0178f2423dbad5d1dd67ba0862b9ee7", + "xz": "61783f85c57da9f05201e491029889d71742a83f" + }, + "sha256": { + "gz": "3d385e5d22d368b064c817a13ed8e3cc3f71a7705d7ed1bae78013c33aa7c87f", + "zip": "a0c62089fb75c47e392bc96778dd76bd7ad1baa40a7ed040372c805de20bccc8", + "xz": "018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af" + }, + "sha512": { + "gz": "93acc262e3b7cf86aeddebdad5b8938c187b9c44a73b0c252b6f873745964001459ae45ece7376745916e317c24895596a42b4544e836670fc6e90058e6f0de4", + "zip": "4f96c56b0a26c0d4d554cf47764f4acdc2e59545da0b85fe4d5235a17d26ac47f0c609af66099173056e3405849a9f847c32e7aaaa3a057c7d46007968aa4c73", + "xz": "8d2e34117696f9debf463ae1eed288fdbb5c1a12e32800e901b69218e3b7302a0066052077e2ebca851e3a635296199bd5a10437eea1d6f787f69a77bb865680" + }, + "variants": [ + "bookworm", + "slim-bookworm", + "bullseye", + "slim-bullseye", + "alpine3.21", + "alpine3.20" + ], + "rust": { + "version": "1.74.1" + }, + "rustup": { + "arches": { + "amd64": { + "glibc": { + "arch": "x86_64-unknown-linux-gnu", + "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "x86_64-unknown-linux-musl", + "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + } + }, + "arm64v8": { + "glibc": { + "arch": "aarch64-unknown-linux-gnu", + "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "aarch64-unknown-linux-musl", + "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", + "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + } + } + }, + "version": "1.26.0" + } + }, "3.4-rc": { "version": "3.4.0-rc1", "date": "2024-12-12", From 559bc1286b221710db63f19681f28e24bb17cef7 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 25 Dec 2024 04:52:17 -0800 Subject: [PATCH 114/132] Update 3.4-rc --- 3.4-rc/alpine3.20/Dockerfile | 160 -------------------------------- 3.4-rc/alpine3.21/Dockerfile | 160 -------------------------------- 3.4-rc/bookworm/Dockerfile | 118 ----------------------- 3.4-rc/bullseye/Dockerfile | 118 ----------------------- 3.4-rc/slim-bookworm/Dockerfile | 144 ---------------------------- 3.4-rc/slim-bullseye/Dockerfile | 144 ---------------------------- versions.json | 76 --------------- 7 files changed, 920 deletions(-) delete mode 100644 3.4-rc/alpine3.20/Dockerfile delete mode 100644 3.4-rc/alpine3.21/Dockerfile delete mode 100644 3.4-rc/bookworm/Dockerfile delete mode 100644 3.4-rc/bullseye/Dockerfile delete mode 100644 3.4-rc/slim-bookworm/Dockerfile delete mode 100644 3.4-rc/slim-bullseye/Dockerfile diff --git a/3.4-rc/alpine3.20/Dockerfile b/3.4-rc/alpine3.20/Dockerfile deleted file mode 100644 index 4d1ede484c..0000000000 --- a/3.4-rc/alpine3.20/Dockerfile +++ /dev/null @@ -1,160 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.20 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ -ENV RUBY_VERSION 3.4.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - rustArch=; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.4-rc/alpine3.21/Dockerfile b/3.4-rc/alpine3.21/Dockerfile deleted file mode 100644 index ae79b8a91a..0000000000 --- a/3.4-rc/alpine3.21/Dockerfile +++ /dev/null @@ -1,160 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.21 - -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ -ENV RUBY_VERSION 3.4.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - rustArch=; \ - apkArch="$(apk --print-arch)"; \ - case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.4-rc/bookworm/Dockerfile b/3.4-rc/bookworm/Dockerfile deleted file mode 100644 index fea2d90147..0000000000 --- a/3.4-rc/bookworm/Dockerfile +++ /dev/null @@ -1,118 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bookworm - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ -ENV RUBY_VERSION 3.4.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - rustArch=; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.4-rc/bullseye/Dockerfile b/3.4-rc/bullseye/Dockerfile deleted file mode 100644 index e7ea548dbd..0000000000 --- a/3.4-rc/bullseye/Dockerfile +++ /dev/null @@ -1,118 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bullseye - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ -ENV RUBY_VERSION 3.4.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - rustArch=; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.4-rc/slim-bookworm/Dockerfile b/3.4-rc/slim-bookworm/Dockerfile deleted file mode 100644 index 10045e7f27..0000000000 --- a/3.4-rc/slim-bookworm/Dockerfile +++ /dev/null @@ -1,144 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bookworm-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ -ENV RUBY_VERSION 3.4.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - rustArch=; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.4-rc/slim-bullseye/Dockerfile b/3.4-rc/slim-bullseye/Dockerfile deleted file mode 100644 index 0238894b47..0000000000 --- a/3.4-rc/slim-bullseye/Dockerfile +++ /dev/null @@ -1,144 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bullseye-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2024/12/12/ruby-3-4-0-rc1-released/ -ENV RUBY_VERSION 3.4.0-rc1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - g++ \ - gcc \ - libbz2-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libncurses-dev \ - libxml2-dev \ - libxslt-dev \ - make \ - wget \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/*; \ - \ - rustArch=; \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ - esac; \ - \ - if [ -n "$rustArch" ]; then \ - mkdir -p /tmp/rust; \ - \ - wget -O /tmp/rust/rustup-init "$rustupUrl"; \ - echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ - chmod +x /tmp/rust/rustup-init; \ - \ - export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ - export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ - \ - rustc --version; \ - cargo --version; \ - fi; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ${rustArch:+--enable-yjit} \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - rm -rf /tmp/rust; \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/versions.json b/versions.json index 17c7b90fbb..5df1475bab 100644 --- a/versions.json +++ b/versions.json @@ -246,81 +246,5 @@ }, "version": "1.26.0" } - }, - "3.4-rc": { - "version": "3.4.0-rc1", - "date": "2024-12-12", - "post": "/en/news/2024/12/12/ruby-3-4-0-rc1-released/", - "tag": "v3_4_0_rc1", - "stats": { - "files_changed": 4820, - "insertions": 196907, - "deletions": 253488 - }, - "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz" - }, - "size": { - "gz": 23055998, - "zip": 28323595, - "xz": 17116016 - }, - "sha1": { - "gz": "216e3085ab8b886b9f74943ee5b62bd2e3d86671", - "zip": "4ae8ce4b15ccc3f0c6f42e408c44aa287a1ccc14", - "xz": "1424671cdc9c4bfe3778ac159d917c8bfe6107bd" - }, - "sha256": { - "gz": "1f3187d3366e90af6d760994f8bfe1fe8999a8ba3553ea4dcfae63e548236e2a", - "zip": "653162a2db627e8e5feee22a00b20acf215509d88b06ffb281bc8788ed12c74c", - "xz": "9c54225747f7a786727aa6213503083d5d8ff7097505d4b7456ff60880ee4a17" - }, - "sha512": { - "gz": "0b0420a39c0bf3b38600d4e28805a581c4b5a6cf2abe41be8c8164276a8044a19e676de74eea5dd5b4d7d667d821a6144119795fea510fd4ba6e34865a2ae172", - "zip": "c6c6b9a0e61308e3f3303cd148613feabb2ee12d8e2fefc1f4aa1403237310f7c9be5e2031248ea89ff01cdc0bca1a66ff60f9f1f19ed9c9fccef3d7a3bbebb8", - "xz": "5b92a2b5829ab23735617945839e45df984b319b8932e790a8e0c6f681b9bd74249511a76345516cc216c002ed7887bdd27151501491d5ecedc20acd3fb57cc5" - }, - "variants": [ - "bookworm", - "slim-bookworm", - "bullseye", - "slim-bullseye", - "alpine3.21", - "alpine3.20" - ], - "rust": { - "version": "1.74.1" - }, - "rustup": { - "arches": { - "amd64": { - "glibc": { - "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" - }, - "musl": { - "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" - } - }, - "arm64v8": { - "glibc": { - "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" - }, - "musl": { - "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" - } - } - }, - "version": "1.26.0" - } } } From 7f078b1b01338e19130eb8b01cb7f35153ba6b04 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 7 Jan 2025 16:22:15 -0800 Subject: [PATCH 115/132] Remove runtime dependencies from slim and alpine variants These were never intended to be part of the "interface" of the `slim` and `alpine` images -- they were included before we had fancy `ldd`/`scanelf`-based runtime dependency inclusion, and were a metapackage that helped us avoid the complexity of `libyaml3` vs `libyaml4` (and making sure we install the correct one). This moves them to explicit build-time dependencies accordingly, as they should've always been. --- 3.1/alpine3.20/Dockerfile | 14 +++----------- 3.1/alpine3.21/Dockerfile | 14 +++----------- 3.1/slim-bookworm/Dockerfile | 13 ++++++------- 3.1/slim-bullseye/Dockerfile | 13 ++++++------- 3.2/alpine3.20/Dockerfile | 14 +++----------- 3.2/alpine3.21/Dockerfile | 14 +++----------- 3.2/slim-bookworm/Dockerfile | 13 ++++++------- 3.2/slim-bullseye/Dockerfile | 13 ++++++------- 3.3/alpine3.20/Dockerfile | 14 +++----------- 3.3/alpine3.21/Dockerfile | 14 +++----------- 3.3/slim-bookworm/Dockerfile | 13 ++++++------- 3.3/slim-bullseye/Dockerfile | 13 ++++++------- 3.4/alpine3.20/Dockerfile | 14 +++----------- 3.4/alpine3.21/Dockerfile | 14 +++----------- 3.4/slim-bookworm/Dockerfile | 13 ++++++------- 3.4/slim-bullseye/Dockerfile | 13 ++++++------- Dockerfile.template | 30 ++++++++++-------------------- 17 files changed, 82 insertions(+), 164 deletions(-) diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index f041772271..c24521655a 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.20 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -45,6 +34,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -56,6 +46,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ readline-dev \ ruby \ tar \ diff --git a/3.1/alpine3.21/Dockerfile b/3.1/alpine3.21/Dockerfile index 81fe32a009..0082054811 100644 --- a/3.1/alpine3.21/Dockerfile +++ b/3.1/alpine3.21/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.21 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -45,6 +34,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -56,6 +46,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ readline-dev \ ruby \ tar \ diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index eb96f931b9..0ca7f68ca9 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -44,18 +37,24 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ libreadline-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 3d51740b9d..e0cfccd508 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -44,18 +37,24 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ libreadline-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 30919ed40e..ce2f4483fb 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.20 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -45,6 +34,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -56,6 +46,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ readline-dev \ ruby \ tar \ diff --git a/3.2/alpine3.21/Dockerfile b/3.2/alpine3.21/Dockerfile index 1c1b1a8bac..17f0a3aed4 100644 --- a/3.2/alpine3.21/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.21 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -45,6 +34,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -56,6 +46,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ readline-dev \ ruby \ tar \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 7142b0f356..43106aaf5e 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -44,18 +37,24 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ libreadline-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 8d278ff263..c2608ee5b1 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -44,18 +37,24 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ libreadline-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 4fdc15b5e2..60fe9edc9a 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.20 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -44,6 +33,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -55,6 +45,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ ruby \ tar \ xz \ diff --git a/3.3/alpine3.21/Dockerfile b/3.3/alpine3.21/Dockerfile index a12746bb93..45f40fd994 100644 --- a/3.3/alpine3.21/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.21 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -44,6 +33,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -55,6 +45,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ ruby \ tar \ xz \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 6730cf491c..0b785c50c1 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -43,17 +36,23 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index d68cc7a2b5..3efa48c8b1 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -43,17 +36,23 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile index ff0e3a2966..535373b753 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.20/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.20 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -44,6 +33,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -55,6 +45,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ ruby \ tar \ xz \ diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile index 826e727fbc..714021fbb9 100644 --- a/3.4/alpine3.21/Dockerfile +++ b/3.4/alpine3.21/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.21 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -44,6 +33,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -55,6 +45,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ ruby \ tar \ xz \ diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile index b41f3d3019..5043d21158 100644 --- a/3.4/slim-bookworm/Dockerfile +++ b/3.4/slim-bookworm/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -43,17 +36,23 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile index a00693b9d8..8a0494a274 100644 --- a/3.4/slim-bullseye/Dockerfile +++ b/3.4/slim-bullseye/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -43,17 +36,23 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/Dockerfile.template b/Dockerfile.template index 3c17e98577..821dd3f38e 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -13,30 +13,11 @@ FROM debian:{{ env.variant | ltrimstr("slim-") }}-slim FROM buildpack-deps:{{ env.variant }} {{ ) end -}} -{{ if is_alpine then ( -}} -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -{{ ) elif is_slim then ( -}} +{{ if is_slim then ( -}} RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -73,6 +54,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -84,6 +66,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ {{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} readline-dev \ {{ ) else "" end -}} @@ -106,20 +90,26 @@ RUN set -eux; \ ruby \ {{ if is_slim then ( -}} autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ {{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} libreadline-dev \ {{ ) else "" end -}} + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ {{ ) else "" end -}} ; \ rm -rf /var/lib/apt/lists/*; \ From d86ed5ea3aead8dc6c3d30bf7bc8d0344cc65466 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Mon, 13 Jan 2025 13:45:10 +0100 Subject: [PATCH 116/132] Bump Rust to 1.84.0 This is a redo of https://github.com/docker-library/ruby/pull/478, now that there are no compilation issues for some platforms anymore. See https://bugs.ruby-lang.org/issues/20506 --- 3.2/alpine3.20/Dockerfile | 6 ++-- 3.2/alpine3.21/Dockerfile | 6 ++-- 3.2/bookworm/Dockerfile | 6 ++-- 3.2/bullseye/Dockerfile | 6 ++-- 3.2/slim-bookworm/Dockerfile | 6 ++-- 3.2/slim-bullseye/Dockerfile | 6 ++-- 3.3/alpine3.20/Dockerfile | 6 ++-- 3.3/alpine3.21/Dockerfile | 6 ++-- 3.3/bookworm/Dockerfile | 6 ++-- 3.3/bullseye/Dockerfile | 6 ++-- 3.3/slim-bookworm/Dockerfile | 6 ++-- 3.3/slim-bullseye/Dockerfile | 6 ++-- 3.4/alpine3.20/Dockerfile | 6 ++-- 3.4/alpine3.21/Dockerfile | 6 ++-- 3.4/bookworm/Dockerfile | 6 ++-- 3.4/bullseye/Dockerfile | 6 ++-- 3.4/slim-bookworm/Dockerfile | 6 ++-- 3.4/slim-bullseye/Dockerfile | 6 ++-- rust.json | 48 ++++++++++++++--------------- versions.json | 60 ++++++++++++++++++------------------ 20 files changed, 108 insertions(+), 108 deletions(-) diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 30919ed40e..330acb6343 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -67,8 +67,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -80,7 +80,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/alpine3.21/Dockerfile b/3.2/alpine3.21/Dockerfile index 1c1b1a8bac..e00ccd602b 100644 --- a/3.2/alpine3.21/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -67,8 +67,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -80,7 +80,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index 394e1ea1f5..5f83a1d7ba 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -35,8 +35,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -48,7 +48,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 9dbdf061dd..8a55a96d78 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -35,8 +35,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -48,7 +48,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 7142b0f356..9c2a74350a 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -62,8 +62,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -75,7 +75,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 8d278ff263..e3632881e3 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -62,8 +62,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -75,7 +75,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 4fdc15b5e2..318bd8aa15 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -65,8 +65,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -78,7 +78,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/alpine3.21/Dockerfile b/3.3/alpine3.21/Dockerfile index a12746bb93..01e6102561 100644 --- a/3.3/alpine3.21/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -65,8 +65,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -78,7 +78,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 1b70985936..7965037b98 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -34,8 +34,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -47,7 +47,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 330629dda2..62a747ccfb 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -34,8 +34,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -47,7 +47,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 6730cf491c..430108915a 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -60,8 +60,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -73,7 +73,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index d68cc7a2b5..8b1c61ccc4 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -60,8 +60,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -73,7 +73,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile index ff0e3a2966..3c98fb1e47 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.20/Dockerfile @@ -65,8 +65,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -78,7 +78,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile index 826e727fbc..5e3a3f9008 100644 --- a/3.4/alpine3.21/Dockerfile +++ b/3.4/alpine3.21/Dockerfile @@ -65,8 +65,8 @@ RUN set -eux; \ rustArch=; \ apkArch="$(apk --print-arch)"; \ case "$apkArch" in \ - 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4' ;; \ - 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e' ;; \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -78,7 +78,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4/bookworm/Dockerfile b/3.4/bookworm/Dockerfile index 4566ff2398..bfb3ccc039 100644 --- a/3.4/bookworm/Dockerfile +++ b/3.4/bookworm/Dockerfile @@ -34,8 +34,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -47,7 +47,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4/bullseye/Dockerfile b/3.4/bullseye/Dockerfile index 327b235ad7..3e96669f5f 100644 --- a/3.4/bullseye/Dockerfile +++ b/3.4/bullseye/Dockerfile @@ -34,8 +34,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -47,7 +47,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile index b41f3d3019..bcfc6898bf 100644 --- a/3.4/slim-bookworm/Dockerfile +++ b/3.4/slim-bookworm/Dockerfile @@ -60,8 +60,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -73,7 +73,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile index a00693b9d8..ecee584356 100644 --- a/3.4/slim-bullseye/Dockerfile +++ b/3.4/slim-bullseye/Dockerfile @@ -60,8 +60,8 @@ RUN set -eux; \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ case "$dpkgArch" in \ - 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db' ;; \ - 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800' ;; \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ esac; \ \ if [ -n "$rustArch" ]; then \ @@ -73,7 +73,7 @@ RUN set -eux; \ \ export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ export PATH="$CARGO_HOME/bin:$PATH"; \ - /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.74.1' --default-host "$rustArch"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ \ rustc --version; \ cargo --version; \ diff --git a/rust.json b/rust.json index d95ed803a2..9e22f30435 100644 --- a/rust.json +++ b/rust.json @@ -1,83 +1,83 @@ { "rust": { - "version": "1.74.1" + "version": "1.84.0" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" } }, "arm32v5": { "glibc": { "arch": "arm-unknown-linux-gnueabi", - "sha256": "1fca5ad0f877f65c76f07bb0cbbe22c28b6e4ba883bf057f1a05636e8e2a4b40", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/arm-unknown-linux-gnueabi/rustup-init" + "sha256": "3e347090c436066be3d1d170f8c6743b5f9aab89c0a175e2e0dc902abea6b739", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/arm-unknown-linux-gnueabi/rustup-init" } }, "arm32v6": { "glibc": { "arch": "arm-unknown-linux-gnueabihf", - "sha256": "8f7801e93ec2c80e0253cba0e25c1085f92e8f49c7ddf9930be62d13361bd808", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/arm-unknown-linux-gnueabihf/rustup-init" + "sha256": "5568c68b02f2ca1ddc8c448badc4b0b2750bee3e50fe51a28c35f5b7792e36a2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/arm-unknown-linux-gnueabihf/rustup-init" } }, "arm32v7": { "glibc": { "arch": "armv7-unknown-linux-gnueabihf", - "sha256": "f21c44b01678c645d8fbba1e55e4180a01ac5af2d38bcbd14aa665e0d96ed69a", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/armv7-unknown-linux-gnueabihf/rustup-init" + "sha256": "3c4114923305f1cd3b96ce3454e9e549ad4aa7c07c03aec73d1a785e98388bed", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/armv7-unknown-linux-gnueabihf/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" } }, "i386": { "glibc": { "arch": "i686-unknown-linux-gnu", - "sha256": "e7b0f47557c1afcd86939b118cbcf7fb95a5d1d917bdd355157b63ca00fc4333", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/i686-unknown-linux-gnu/rustup-init" + "sha256": "0a6bed6e9f21192a51f83977716466895706059afb880500ff1d0e751ada5237", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/i686-unknown-linux-gnu/rustup-init" } }, "mips64le": { "glibc": { "arch": "mips64el-unknown-linux-gnuabi64", - "sha256": "b8a30dd0d0ba34324c5b2399e76ba44e50a036439cb66c92aef62b485fdc97c8", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/mips64el-unknown-linux-gnuabi64/rustup-init" + "sha256": "644cec63e594707a6098585038cf47e28546c2abe0dde7149cde71d79a0be674", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/mips64el-unknown-linux-gnuabi64/rustup-init" } }, "ppc64le": { "glibc": { "arch": "powerpc64le-unknown-linux-gnu", - "sha256": "1032934fb154ad2d365e02dcf770c6ecfaec6ab2987204c618c21ba841c97b44", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/powerpc64le-unknown-linux-gnu/rustup-init" + "sha256": "079430f58ad4da1d1f4f5f2f0bd321422373213246a93b3ddb53dad627f5aa38", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/powerpc64le-unknown-linux-gnu/rustup-init" } }, "s390x": { "glibc": { "arch": "s390x-unknown-linux-gnu", - "sha256": "414210ffd294a39ee5963e05d9f5a8435945657a1ddf74b14fd63f6eb898d69e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/s390x-unknown-linux-gnu/rustup-init" + "sha256": "e7f89da453c8ce5771c28279d1a01d5e83541d420695c74ec81a7ec5d287c51c", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/s390x-unknown-linux-gnu/rustup-init" } } }, - "version": "1.26.0" + "version": "1.27.1" } } diff --git a/versions.json b/versions.json index 5df1475bab..2d087d8046 100644 --- a/versions.json +++ b/versions.json @@ -75,36 +75,36 @@ "alpine3.20" ], "rust": { - "version": "1.74.1" + "version": "1.84.0" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.26.0" + "version": "1.27.1" } }, "3.3": { @@ -145,36 +145,36 @@ "alpine3.20" ], "rust": { - "version": "1.74.1" + "version": "1.84.0" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.26.0" + "version": "1.27.1" } }, "3.4": { @@ -215,36 +215,36 @@ "alpine3.20" ], "rust": { - "version": "1.74.1" + "version": "1.84.0" }, "rustup": { "arches": { "amd64": { "glibc": { "arch": "x86_64-unknown-linux-gnu", - "sha256": "0b2f6c8f85a3d02fde2efc0ced4657869d73fccfce59defb4e8d29233116e6db", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-gnu/rustup-init" + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "x86_64-unknown-linux-musl", - "sha256": "7aa9e2a380a9958fc1fc426a3323209b2c86181c6816640979580f62ff7d48d4", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/x86_64-unknown-linux-musl/rustup-init" + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" } }, "arm64v8": { "glibc": { "arch": "aarch64-unknown-linux-gnu", - "sha256": "673e336c81c65e6b16dcdede33f4cc9ed0f08bde1dbe7a935f113605292dc800", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-gnu/rustup-init" + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" }, "musl": { "arch": "aarch64-unknown-linux-musl", - "sha256": "b1962dfc18e1fd47d01341e6897cace67cddfabf547ef394e8883939bd6e002e", - "url": "https://static.rust-lang.org/rustup/archive/1.26.0/aarch64-unknown-linux-musl/rustup-init" + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" } } }, - "version": "1.26.0" + "version": "1.27.1" } } } From 6f84caae95715928a3ed9c9753f844e03b3d5ff4 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Tue, 14 Jan 2025 11:23:56 +0100 Subject: [PATCH 117/132] Revert "Remove runtime dependencies from slim and alpine variants" This reverts commit 7f078b1b01338e19130eb8b01cb7f35153ba6b04. It looks like this change is too disruptive. For example, modern rails apps all depend in `psych` which requires libyaml. I still think it makes sense, but should probably only be part of the next Ruby version so it doesn't suddently break for lots of people. --- 3.1/alpine3.20/Dockerfile | 14 +++++++++++--- 3.1/alpine3.21/Dockerfile | 14 +++++++++++--- 3.1/slim-bookworm/Dockerfile | 13 +++++++------ 3.1/slim-bullseye/Dockerfile | 13 +++++++------ 3.2/alpine3.20/Dockerfile | 14 +++++++++++--- 3.2/alpine3.21/Dockerfile | 14 +++++++++++--- 3.2/slim-bookworm/Dockerfile | 13 +++++++------ 3.2/slim-bullseye/Dockerfile | 13 +++++++------ 3.3/alpine3.20/Dockerfile | 14 +++++++++++--- 3.3/alpine3.21/Dockerfile | 14 +++++++++++--- 3.3/slim-bookworm/Dockerfile | 13 +++++++------ 3.3/slim-bullseye/Dockerfile | 13 +++++++------ 3.4/alpine3.20/Dockerfile | 14 +++++++++++--- 3.4/alpine3.21/Dockerfile | 14 +++++++++++--- 3.4/slim-bookworm/Dockerfile | 13 +++++++------ 3.4/slim-bullseye/Dockerfile | 13 +++++++------ Dockerfile.template | 30 ++++++++++++++++++++---------- 17 files changed, 164 insertions(+), 82 deletions(-) diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index c24521655a..f041772271 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -6,6 +6,17 @@ FROM alpine:3.20 +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -34,7 +45,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -46,8 +56,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ readline-dev \ ruby \ tar \ diff --git a/3.1/alpine3.21/Dockerfile b/3.1/alpine3.21/Dockerfile index 0082054811..81fe32a009 100644 --- a/3.1/alpine3.21/Dockerfile +++ b/3.1/alpine3.21/Dockerfile @@ -6,6 +6,17 @@ FROM alpine:3.21 +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -34,7 +45,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -46,8 +56,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ readline-dev \ ruby \ tar \ diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index 0ca7f68ca9..eb96f931b9 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -9,7 +9,14 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -37,24 +44,18 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ libreadline-dev \ - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index e0cfccd508..3d51740b9d 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -9,7 +9,14 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -37,24 +44,18 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ libreadline-dev \ - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 2938a880ab..330acb6343 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -6,6 +6,17 @@ FROM alpine:3.20 +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -34,7 +45,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -46,8 +56,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ readline-dev \ ruby \ tar \ diff --git a/3.2/alpine3.21/Dockerfile b/3.2/alpine3.21/Dockerfile index b93c9512fd..e00ccd602b 100644 --- a/3.2/alpine3.21/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -6,6 +6,17 @@ FROM alpine:3.21 +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -34,7 +45,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -46,8 +56,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ readline-dev \ ruby \ tar \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 146d50f07f..9c2a74350a 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -9,7 +9,14 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -37,24 +44,18 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ libreadline-dev \ - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 8b134b0365..e3632881e3 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -9,7 +9,14 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -37,24 +44,18 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ libreadline-dev \ - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index cfb7603a00..318bd8aa15 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -6,6 +6,17 @@ FROM alpine:3.20 +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -33,7 +44,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -45,8 +55,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ ruby \ tar \ xz \ diff --git a/3.3/alpine3.21/Dockerfile b/3.3/alpine3.21/Dockerfile index 6bd871dc8e..01e6102561 100644 --- a/3.3/alpine3.21/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -6,6 +6,17 @@ FROM alpine:3.21 +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -33,7 +44,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -45,8 +55,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ ruby \ tar \ xz \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index baa8bd6d89..430108915a 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -9,7 +9,14 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -36,23 +43,17 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index b95a1b2b00..8b1c61ccc4 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -9,7 +9,14 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -36,23 +43,17 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile index f458507f22..3c98fb1e47 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.20/Dockerfile @@ -6,6 +6,17 @@ FROM alpine:3.20 +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -33,7 +44,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -45,8 +55,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ ruby \ tar \ xz \ diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile index 1d6234fd07..5e3a3f9008 100644 --- a/3.4/alpine3.21/Dockerfile +++ b/3.4/alpine3.21/Dockerfile @@ -6,6 +6,17 @@ FROM alpine:3.21 +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -33,7 +44,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -45,8 +55,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ ruby \ tar \ xz \ diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile index d99457ca25..bcfc6898bf 100644 --- a/3.4/slim-bookworm/Dockerfile +++ b/3.4/slim-bookworm/Dockerfile @@ -9,7 +9,14 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -36,23 +43,17 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile index 49f290cfe0..ecee584356 100644 --- a/3.4/slim-bullseye/Dockerfile +++ b/3.4/slim-bullseye/Dockerfile @@ -9,7 +9,14 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -36,23 +43,17 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/*; \ \ diff --git a/Dockerfile.template b/Dockerfile.template index 821dd3f38e..3c17e98577 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -13,11 +13,30 @@ FROM debian:{{ env.variant | ltrimstr("slim-") }}-slim FROM buildpack-deps:{{ env.variant }} {{ ) end -}} -{{ if is_slim then ( -}} +{{ if is_alpine then ( -}} +RUN set -eux; \ + apk add --no-cache \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; + +{{ ) elif is_slim then ( -}} RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ + bzip2 \ ca-certificates \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -54,7 +73,6 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ - gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -66,8 +84,6 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ - yaml-dev \ - zlib-dev \ {{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} readline-dev \ {{ ) else "" end -}} @@ -90,26 +106,20 @@ RUN set -eux; \ ruby \ {{ if is_slim then ( -}} autoconf \ - bzip2 \ g++ \ gcc \ libbz2-dev \ - libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ - libgmp-dev \ libncurses-dev \ {{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} libreadline-dev \ {{ ) else "" end -}} - libssl-dev \ libxml2-dev \ libxslt-dev \ - libyaml-dev \ make \ wget \ xz-utils \ - zlib1g-dev \ {{ ) else "" end -}} ; \ rm -rf /var/lib/apt/lists/*; \ From 1ea0c595e6a6e477a66142b8ed40c82c2af3a28a Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Tue, 14 Jan 2025 11:28:22 -0800 Subject: [PATCH 118/132] Remove packages again at next minor release of each series This adjusts the backwards-compatibility shim to be easier to remove in the future (and automatically removes it at each next minor release). --- 3.1/alpine3.20/Dockerfile | 29 ++++++++++------- 3.1/alpine3.21/Dockerfile | 29 ++++++++++------- 3.1/bookworm/Dockerfile | 2 +- 3.1/bullseye/Dockerfile | 2 +- 3.1/slim-bookworm/Dockerfile | 29 ++++++++++++----- 3.1/slim-bullseye/Dockerfile | 29 ++++++++++++----- 3.2/alpine3.20/Dockerfile | 29 ++++++++++------- 3.2/alpine3.21/Dockerfile | 29 ++++++++++------- 3.2/bookworm/Dockerfile | 2 +- 3.2/bullseye/Dockerfile | 2 +- 3.2/slim-bookworm/Dockerfile | 29 ++++++++++++----- 3.2/slim-bullseye/Dockerfile | 29 ++++++++++++----- 3.3/alpine3.20/Dockerfile | 29 ++++++++++------- 3.3/alpine3.21/Dockerfile | 29 ++++++++++------- 3.3/bookworm/Dockerfile | 2 +- 3.3/bullseye/Dockerfile | 2 +- 3.3/slim-bookworm/Dockerfile | 29 ++++++++++++----- 3.3/slim-bullseye/Dockerfile | 29 ++++++++++++----- 3.4/alpine3.20/Dockerfile | 29 ++++++++++------- 3.4/alpine3.21/Dockerfile | 29 ++++++++++------- 3.4/bookworm/Dockerfile | 2 +- 3.4/bullseye/Dockerfile | 2 +- 3.4/slim-bookworm/Dockerfile | 29 ++++++++++++----- 3.4/slim-bullseye/Dockerfile | 29 ++++++++++++----- Dockerfile.template | 62 +++++++++++++++++++++++------------- 25 files changed, 352 insertions(+), 190 deletions(-) diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index f041772271..79df48905e 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.20 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -45,6 +34,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -56,6 +46,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ readline-dev \ ruby \ tar \ @@ -100,6 +92,19 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ | tr ',' '\n' \ @@ -114,7 +119,7 @@ RUN set -eux; \ # verify we have no "ruby" packages installed if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ diff --git a/3.1/alpine3.21/Dockerfile b/3.1/alpine3.21/Dockerfile index 81fe32a009..9707f9727a 100644 --- a/3.1/alpine3.21/Dockerfile +++ b/3.1/alpine3.21/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.21 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -45,6 +34,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -56,6 +46,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ readline-dev \ ruby \ tar \ @@ -100,6 +92,19 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ | tr ',' '\n' \ @@ -114,7 +119,7 @@ RUN set -eux; \ # verify we have no "ruby" packages installed if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile index a2b97e9f35..f9394ef22a 100644 --- a/3.1/bookworm/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -30,7 +30,6 @@ RUN set -eux; \ libgdbm-dev \ ruby \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ @@ -71,6 +70,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 627cd46b6f..dc1f558088 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -30,7 +30,6 @@ RUN set -eux; \ libgdbm-dev \ ruby \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ @@ -71,6 +70,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index eb96f931b9..dfd77923e7 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -44,20 +37,25 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ libreadline-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ @@ -87,6 +85,20 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ + \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ @@ -98,6 +110,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 3d51740b9d..81bcbd0ee2 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -44,20 +37,25 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ libreadline-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ @@ -87,6 +85,20 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ + \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ @@ -98,6 +110,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 330acb6343..f8148ff66b 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.20 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -45,6 +34,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -56,6 +46,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ readline-dev \ ruby \ tar \ @@ -123,6 +115,19 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ @@ -138,7 +143,7 @@ RUN set -eux; \ # verify we have no "ruby" packages installed if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ diff --git a/3.2/alpine3.21/Dockerfile b/3.2/alpine3.21/Dockerfile index e00ccd602b..9e3b079642 100644 --- a/3.2/alpine3.21/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.21 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -45,6 +34,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -56,6 +46,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ readline-dev \ ruby \ tar \ @@ -123,6 +115,19 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ @@ -138,7 +143,7 @@ RUN set -eux; \ # verify we have no "ruby" packages installed if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index 5f83a1d7ba..d6b96fc48d 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -30,7 +30,6 @@ RUN set -eux; \ libgdbm-dev \ ruby \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -95,6 +94,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 8a55a96d78..8c1b3baada 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -30,7 +30,6 @@ RUN set -eux; \ libgdbm-dev \ ruby \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -95,6 +94,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 9c2a74350a..0c3aeb3e52 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -44,20 +37,25 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ libreadline-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -110,6 +108,20 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ + \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ @@ -122,6 +134,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index e3632881e3..fc120633e7 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -44,20 +37,25 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ libreadline-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -110,6 +108,20 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ + \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ @@ -122,6 +134,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 318bd8aa15..d29ad2ed2d 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.20 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -44,6 +33,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -55,6 +45,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ ruby \ tar \ xz \ @@ -121,6 +113,19 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ @@ -136,7 +141,7 @@ RUN set -eux; \ # verify we have no "ruby" packages installed if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ diff --git a/3.3/alpine3.21/Dockerfile b/3.3/alpine3.21/Dockerfile index 01e6102561..5677ccfacf 100644 --- a/3.3/alpine3.21/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.21 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -44,6 +33,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -55,6 +45,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ ruby \ tar \ xz \ @@ -121,6 +113,19 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ @@ -136,7 +141,7 @@ RUN set -eux; \ # verify we have no "ruby" packages installed if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 7965037b98..4d0d7d7927 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -29,7 +29,6 @@ RUN set -eux; \ libgdbm-dev \ ruby \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -94,6 +93,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 62a747ccfb..808e9e2ce5 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -29,7 +29,6 @@ RUN set -eux; \ libgdbm-dev \ ruby \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -94,6 +93,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index 430108915a..c3f0e9daea 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -43,19 +36,24 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -108,6 +106,20 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ + \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ @@ -120,6 +132,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 8b1c61ccc4..2969f9b92a 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -43,19 +36,24 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -108,6 +106,20 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ + \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ @@ -120,6 +132,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile index 3c98fb1e47..8eab13943b 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.20/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.20 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -44,6 +33,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -55,6 +45,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ ruby \ tar \ xz \ @@ -121,6 +113,19 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ @@ -136,7 +141,7 @@ RUN set -eux; \ # verify we have no "ruby" packages installed if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile index 5e3a3f9008..ab5ede4494 100644 --- a/3.4/alpine3.21/Dockerfile +++ b/3.4/alpine3.21/Dockerfile @@ -6,17 +6,6 @@ FROM alpine:3.21 -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ mkdir -p /usr/local/etc; \ @@ -44,6 +33,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -55,6 +45,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ ruby \ tar \ xz \ @@ -121,6 +113,19 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ + \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ @@ -136,7 +141,7 @@ RUN set -eux; \ # verify we have no "ruby" packages installed if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ diff --git a/3.4/bookworm/Dockerfile b/3.4/bookworm/Dockerfile index bfb3ccc039..a46fff501f 100644 --- a/3.4/bookworm/Dockerfile +++ b/3.4/bookworm/Dockerfile @@ -29,7 +29,6 @@ RUN set -eux; \ libgdbm-dev \ ruby \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -94,6 +93,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.4/bullseye/Dockerfile b/3.4/bullseye/Dockerfile index 3e96669f5f..0280de385d 100644 --- a/3.4/bullseye/Dockerfile +++ b/3.4/bullseye/Dockerfile @@ -29,7 +29,6 @@ RUN set -eux; \ libgdbm-dev \ ruby \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -94,6 +93,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile index bcfc6898bf..fa29284278 100644 --- a/3.4/slim-bookworm/Dockerfile +++ b/3.4/slim-bookworm/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bookworm-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -43,19 +36,24 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -108,6 +106,20 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ + \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ @@ -120,6 +132,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile index ecee584356..1033a5b43d 100644 --- a/3.4/slim-bullseye/Dockerfile +++ b/3.4/slim-bullseye/Dockerfile @@ -9,14 +9,7 @@ FROM debian:bullseye-slim RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -43,19 +36,24 @@ RUN set -eux; \ libgdbm-dev \ ruby \ autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ ; \ - rm -rf /var/lib/apt/lists/*; \ \ rustArch=; \ dpkgArch="$(dpkg --print-architecture)"; \ @@ -108,6 +106,20 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ + \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ @@ -120,6 +132,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ \ cd /; \ rm -r /usr/src/ruby; \ diff --git a/Dockerfile.template b/Dockerfile.template index 3c17e98577..4a3fc4aeeb 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -13,30 +13,11 @@ FROM debian:{{ env.variant | ltrimstr("slim-") }}-slim FROM buildpack-deps:{{ env.variant }} {{ ) end -}} -{{ if is_alpine then ( -}} -RUN set -eux; \ - apk add --no-cache \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; - -{{ ) elif is_slim then ( -}} +{{ if is_slim then ( -}} RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ - bzip2 \ ca-certificates \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ ; \ rm -rf /var/lib/apt/lists/* @@ -73,6 +54,7 @@ RUN set -eux; \ gcc \ gdbm-dev \ glib-dev \ + gmp-dev \ libc-dev \ libffi-dev \ libxml2-dev \ @@ -84,6 +66,8 @@ RUN set -eux; \ openssl-dev \ patch \ procps \ + yaml-dev \ + zlib-dev \ {{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} readline-dev \ {{ ) else "" end -}} @@ -106,23 +90,28 @@ RUN set -eux; \ ruby \ {{ if is_slim then ( -}} autoconf \ + bzip2 \ g++ \ gcc \ libbz2-dev \ + libffi-dev \ libgdbm-compat-dev \ libglib2.0-dev \ + libgmp-dev \ libncurses-dev \ {{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} libreadline-dev \ {{ ) else "" end -}} + libssl-dev \ libxml2-dev \ libxslt-dev \ + libyaml-dev \ make \ wget \ xz-utils \ + zlib1g-dev \ {{ ) else "" end -}} ; \ - rm -rf /var/lib/apt/lists/*; \ {{ ) end -}} {{ if .rust.version then ( -}} \ @@ -235,6 +224,34 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ +{{ if (is_alpine or is_slim) and (.version | IN("3.1.6", "3.2.6", "3.3.6", "3.4.1")) then ( -}} +# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: +# - https://github.com/docker-library/ruby/pull/493 +# - https://github.com/docker-library/ruby/pull/497 +{{ if is_alpine then ( -}} + apk add --no-cache --virtual .ruby-493-backcompat \ + bzip2 \ + ca-certificates \ + gmp-dev \ + libffi-dev \ + procps \ + yaml-dev \ + zlib-dev \ + ; \ +{{ ) else ( -}} + savedAptMark="$savedAptMark \ + bzip2 \ + libffi-dev \ + libgmp-dev \ + libssl-dev \ + libyaml-dev \ + procps \ + zlib1g-dev \ + "; \ + apt-get install -y --no-install-recommends $savedAptMark; \ +{{ ) end -}} + \ +{{ ) else "" end -}} {{ if .rust.version then ( -}} rm -rf /tmp/rust; \ {{ ) else "" end -}} @@ -259,6 +276,7 @@ RUN set -eux; \ | xargs -r apt-mark manual \ ; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ {{ ) end -}} \ cd /; \ @@ -267,7 +285,7 @@ RUN set -eux; \ {{ if is_alpine then ( -}} if \ apk --no-network list --installed \ - | grep -v '^[.]ruby-rundeps' \ + | grep -v '^[.]ruby-' \ | grep -i ruby \ ; then \ exit 1; \ From 59bb4e05d063fe3fbf2ec0fc96d226a8e7c4f41d Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 15 Jan 2025 04:03:22 -0800 Subject: [PATCH 119/132] Update 3.3 to 3.3.7 --- 3.3/alpine3.20/Dockerfile | 21 ++++----------------- 3.3/alpine3.21/Dockerfile | 21 ++++----------------- 3.3/bookworm/Dockerfile | 8 ++++---- 3.3/bullseye/Dockerfile | 8 ++++---- 3.3/slim-bookworm/Dockerfile | 22 ++++------------------ 3.3/slim-bullseye/Dockerfile | 22 ++++------------------ versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 96 deletions(-) diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index d29ad2ed2d..c910b9b56b 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ -ENV RUBY_VERSION 3.3.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 +# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ +ENV RUBY_VERSION 3.3.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -113,19 +113,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ diff --git a/3.3/alpine3.21/Dockerfile b/3.3/alpine3.21/Dockerfile index 5677ccfacf..55a0d9a68c 100644 --- a/3.3/alpine3.21/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ -ENV RUBY_VERSION 3.3.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 +# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ +ENV RUBY_VERSION 3.3.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -113,19 +113,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 4d0d7d7927..5c7f0208b0 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ -ENV RUBY_VERSION 3.3.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 +# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ +ENV RUBY_VERSION 3.3.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 808e9e2ce5..e318266d68 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ -ENV RUBY_VERSION 3.3.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 +# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ +ENV RUBY_VERSION 3.3.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index c3f0e9daea..a99ba66dcb 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ -ENV RUBY_VERSION 3.3.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 +# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ +ENV RUBY_VERSION 3.3.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -106,20 +106,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ - \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index 2969f9b92a..2efbb2d9ea 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/11/05/ruby-3-3-6-released/ -ENV RUBY_VERSION 3.3.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266 +# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ +ENV RUBY_VERSION 3.3.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -106,20 +106,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ - \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ diff --git a/versions.json b/versions.json index 2d087d8046..84666db1a2 100644 --- a/versions.json +++ b/versions.json @@ -108,33 +108,33 @@ } }, "3.3": { - "version": "3.3.6", - "date": "2024-11-05", - "post": "/en/news/2024/11/05/ruby-3-3-6-released/", + "version": "3.3.7", + "date": "2025-01-15", + "post": "/en/news/2025/01/15/ruby-3-3-7-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz" }, "size": { - "gz": 22153657, - "zip": 27048656, - "xz": 16398228 + "gz": 22163173, + "zip": 27589557, + "xz": 16379504 }, "sha1": { - "gz": "0106171cd1801fb5663e8e709f3d6c935d683c9b", - "zip": "88239456249cd80cadd1cbf98a317ae700ccd9df", - "xz": "25391e9bd8547cd07e09afcfc472777520a3178a" + "gz": "aaa94abd1a5676dd24e927876935597a505e2a4d", + "zip": "afe9800b8711aba57df5e11005a1710b48c9377e", + "xz": "b5498e7174328fe0af0d93ee9667d39dda36621b" }, "sha256": { - "gz": "8dc48fffaf270f86f1019053f28e51e4da4cce32a36760a0603a9aee67d7fd8d", - "zip": "a60240a6f9bcc8db6c07d40ad29c7dceb21430debe3ebc39bf339207818132f6", - "xz": "540975969d1af42190d26ff629bc93b1c3f4bffff4ab253e245e125085e66266" + "gz": "9c37c3b12288c7aec20ca121ce76845be5bb5d77662a24919651aaf1d12c8628", + "zip": "9c6b1d13a03d8423391e070e324b1380a597d3ac9eb5d8ea40bc4fd5226556a5", + "xz": "5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72" }, "sha512": { - "gz": "4ae22f5c2a1f7ed84aab7587ff04ce4d9933cffe4347deaef0ab88d22c9780f274c1664a4ee1dd8235bc3cc749be828ffa8db7cb5f5002339a59a599acf3c729", - "zip": "c010c7d3e2b373b41a18bcadfb6dba276afabe479d75624569b5bdc605f3575bced2aff511708e25ceca43c7c918400222329e55e599c54154f203957f119ad2", - "xz": "c4b86188bf539fa737932e1ba5b746bc295e7c43b2f8cca2668eb7c88aa7228e2ce9032bbcd244a7d558a11bc842445b5fbeac3503ca7d223b63c53e08dba4ab" + "gz": "9b48be05d1210e9194c8a6d77dfc3227599bff2b55fc9bb2049b11547927deef530ece9a2a505600cdc492c8517b1bef7ab5f2520ebd79ffcf76f0a734fa763d", + "zip": "20f0ad9e80528c5c5d42c0be8e85cf3f120a20a973a7d8303785f4201263d7896c9a7462d8b862330c2d4039ab8d47616fa13ef487a2ed05490ca4e731c97ef2", + "xz": "4082a7684c1b0d53a0ce493f79568e851d37a864f59c58b2e0c273b2659e0ca75318ddff939fdf5e9d0a3eeba1b6d8f03bf88afb49a5ffd77714f1c8a7dfdd55" }, "variants": [ "bookworm", From 3a813c18eea9fa2060e02d238e39382b15618995 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Tue, 4 Feb 2025 10:03:17 -0800 Subject: [PATCH 120/132] Update 3.2 to 3.2.7 --- 3.2/alpine3.20/Dockerfile | 21 ++++----------------- 3.2/alpine3.21/Dockerfile | 21 ++++----------------- 3.2/bookworm/Dockerfile | 8 ++++---- 3.2/bullseye/Dockerfile | 8 ++++---- 3.2/slim-bookworm/Dockerfile | 22 ++++------------------ 3.2/slim-bullseye/Dockerfile | 22 ++++------------------ versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 96 deletions(-) diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index f8148ff66b..0c6e08f553 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ -ENV RUBY_VERSION 3.2.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb +# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ +ENV RUBY_VERSION 3.2.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -115,19 +115,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ diff --git a/3.2/alpine3.21/Dockerfile b/3.2/alpine3.21/Dockerfile index 9e3b079642..5057beee7a 100644 --- a/3.2/alpine3.21/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ -ENV RUBY_VERSION 3.2.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb +# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ +ENV RUBY_VERSION 3.2.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -115,19 +115,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index d6b96fc48d..091fc56603 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ -ENV RUBY_VERSION 3.2.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb +# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ +ENV RUBY_VERSION 3.2.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 8c1b3baada..8780b712f8 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ -ENV RUBY_VERSION 3.2.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb +# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ +ENV RUBY_VERSION 3.2.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 0c3aeb3e52..b8adaa1781 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ -ENV RUBY_VERSION 3.2.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb +# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ +ENV RUBY_VERSION 3.2.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -108,20 +108,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ - \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index fc120633e7..0c6e0ba3f7 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/ -ENV RUBY_VERSION 3.2.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb +# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ +ENV RUBY_VERSION 3.2.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -108,20 +108,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ - \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ diff --git a/versions.json b/versions.json index 84666db1a2..8355b68f43 100644 --- a/versions.json +++ b/versions.json @@ -38,33 +38,33 @@ ] }, "3.2": { - "version": "3.2.6", - "date": "2024-10-30", - "post": "/en/news/2024/10/30/ruby-3-2-6-released/", + "version": "3.2.7", + "date": "2025-02-04", + "post": "/en/news/2025/02/04/ruby-3-2-7-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.6.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz" }, "size": { - "gz": 20521981, - "zip": 24653808, - "xz": 15126888 + "gz": 20548416, + "zip": 25129063, + "xz": 15128228 }, "sha1": { - "gz": "bbf265f5e7a3f480056dc2fa6d600a97cba00713", - "zip": "efbcfc2c2e238a7201366fdefdcf0dc16e4072af", - "xz": "eabbe230df704e7141d53d8221314bb33b5f0dea" + "gz": "c45aa881a7ea1175212d385fe5c8b6e9ff14b2e5", + "zip": "d18fbf11004fdc98bc2c221b167b0d62bfc98dd2", + "xz": "54e07b3adf1e948f5a35fc4ef9b24dd5976f1740" }, "sha256": { - "gz": "d9cb65ecdf3f18669639f2638b63379ed6fbb17d93ae4e726d4eb2bf68a48370", - "zip": "36ca2292b48d8f6a0281d6c772dc47c358cb838774addc0344e38d4d2735704f", - "xz": "671134022238c2c4a9d79dc7d1e58c909634197617901d25863642f735a27ecb" + "gz": "8488fa620ff0333c16d437f2b890bba3b67f8745fdecb1472568a6114aad9741", + "zip": "e4efb7d9e8f8fee6c717917760796c3e29d6c644f9777e4a46bd0a69ed21d5fd", + "xz": "fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2" }, "sha512": { - "gz": "26ae9439043cf40e5eddde6b92ae51c9e1fa4e89c8ec6da36732c59c14873b022c683fb3007950d372f35de9b62a4fabbbc3ef1f4ef58cd53058bd56e1552cbe", - "zip": "8474829ebe13b3357f962571e8114e47634b5ed1f3e2dbfdf4ecb2ece1a3ed354f3506e8526a6768457e980ea4f056d77cd5b547419f2d8f9bea07348f64edc2", - "xz": "78f7fc76d47c772b9bc313cbcb57a2c0f1a975e09cfe46a3083f6f603d62b0031bd4c55896c8353c1c343974d45077e06e310111198d870883e06a0cf6fd03ce" + "gz": "174e70ac20a21ea77e2c5055a9123a6812109fd7b54c0f7b948312b8159eedbfb11c06120390c158430ca8543e36893da6c809883c82757082d22e08004c5055", + "zip": "5f57fb8b2d44187a8f900095cbe7bc90d9439c6436e3e361241b83102b85f665e3d7ed64fe1f6150dfb94eb289467f375ef24b46d5ac9b5f03b01ef31ed39606", + "xz": "c10b6fd27fad3bbd33d780c0a3eccb5df2a8465a89d2294ea6f14c7e5e8f7c8ea30b8a8b68bf8903c76f9133c5d984d5d66052ec4eb413153c739e6eea24beed" }, "variants": [ "bookworm", From c12fe5b7bc5547bb6d90f5ae3010d77869ce6918 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Fri, 14 Feb 2025 10:36:37 +0100 Subject: [PATCH 121/132] Remove `ENABLE_PATH_CHECK` workaround Since Ruby 2.7, this warning is not emitted anymore It was removed as part of https://bugs.ruby-lang.org/issues/16131 Here's the output of running `ENV['PATH']` against various ruby versions, when `$PATH` contains a world-writable folder: ``` ===============1.8.7-p374================ -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 ===============1.9.3-p551================ -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 ===============2.0.0-p648================ -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 =================2.1.10================== -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 =================2.2.10================== -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 ==================2.3.8================== -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 =================2.4.10================== -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 ==================2.5.9================== -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 =================2.6.10================== -e:1: warning: Insecure world writable dir /app/whatever in PATH, mode 040757 ==================2.7.8================== ==================3.0.7================== ==================3.1.6================== ==================3.2.6================== ==================3.3.6================== ================3.4.0-rc1================ ``` In https://bugs.ruby-lang.org/issues/20971, it was OKed to officially deprecate since not emitting this was unintentional at the time --- 3.1/alpine3.20/Dockerfile | 9 --------- 3.1/alpine3.21/Dockerfile | 9 --------- 3.1/bookworm/Dockerfile | 9 --------- 3.1/bullseye/Dockerfile | 9 --------- 3.1/slim-bookworm/Dockerfile | 9 --------- 3.1/slim-bullseye/Dockerfile | 9 --------- 3.2/alpine3.20/Dockerfile | 9 --------- 3.2/alpine3.21/Dockerfile | 9 --------- 3.2/bookworm/Dockerfile | 9 --------- 3.2/bullseye/Dockerfile | 9 --------- 3.2/slim-bookworm/Dockerfile | 9 --------- 3.2/slim-bullseye/Dockerfile | 9 --------- 3.3/alpine3.20/Dockerfile | 9 --------- 3.3/alpine3.21/Dockerfile | 9 --------- 3.3/bookworm/Dockerfile | 9 --------- 3.3/bullseye/Dockerfile | 9 --------- 3.3/slim-bookworm/Dockerfile | 9 --------- 3.3/slim-bullseye/Dockerfile | 9 --------- 3.4/alpine3.20/Dockerfile | 9 --------- 3.4/alpine3.21/Dockerfile | 9 --------- 3.4/bookworm/Dockerfile | 9 --------- 3.4/bullseye/Dockerfile | 9 --------- 3.4/slim-bookworm/Dockerfile | 9 --------- 3.4/slim-bullseye/Dockerfile | 9 --------- Dockerfile.template | 9 --------- 25 files changed, 225 deletions(-) diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index c24521655a..d72efdbd50 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -73,15 +73,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.1/alpine3.21/Dockerfile b/3.1/alpine3.21/Dockerfile index 0082054811..7bfc4529e3 100644 --- a/3.1/alpine3.21/Dockerfile +++ b/3.1/alpine3.21/Dockerfile @@ -73,15 +73,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile index a2b97e9f35..1935b0a3a7 100644 --- a/3.1/bookworm/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -41,15 +41,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 627cd46b6f..d599801722 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -41,15 +41,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index 0ca7f68ca9..3dba1945e8 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -67,15 +67,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index e0cfccd508..7fa0019f96 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -67,15 +67,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index 2938a880ab..d2afd4e9fa 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -95,15 +95,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.2/alpine3.21/Dockerfile b/3.2/alpine3.21/Dockerfile index b93c9512fd..5f828d922f 100644 --- a/3.2/alpine3.21/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -95,15 +95,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index 5f83a1d7ba..ba9b4fe2b0 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -63,15 +63,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 8a55a96d78..0a93322b68 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -63,15 +63,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 146d50f07f..5447f826cf 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -89,15 +89,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 8b134b0365..92b0d6b803 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -89,15 +89,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index cfb7603a00..c4e58fe2bc 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -93,15 +93,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/alpine3.21/Dockerfile b/3.3/alpine3.21/Dockerfile index 6bd871dc8e..1c723c2cd6 100644 --- a/3.3/alpine3.21/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -93,15 +93,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 7965037b98..027509f391 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -62,15 +62,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 62a747ccfb..18ad718295 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -62,15 +62,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index baa8bd6d89..a24b6c4183 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -87,15 +87,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index b95a1b2b00..d38681238d 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -87,15 +87,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile index f458507f22..e61bdbc71f 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.20/Dockerfile @@ -93,15 +93,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile index 1d6234fd07..81637b8254 100644 --- a/3.4/alpine3.21/Dockerfile +++ b/3.4/alpine3.21/Dockerfile @@ -93,15 +93,6 @@ RUN set -eux; \ patch -p1 -i thread-stack-fix.patch; \ rm thread-stack-fix.patch; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.4/bookworm/Dockerfile b/3.4/bookworm/Dockerfile index bfb3ccc039..73c03cd28b 100644 --- a/3.4/bookworm/Dockerfile +++ b/3.4/bookworm/Dockerfile @@ -62,15 +62,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.4/bullseye/Dockerfile b/3.4/bullseye/Dockerfile index 3e96669f5f..0f023cd752 100644 --- a/3.4/bullseye/Dockerfile +++ b/3.4/bullseye/Dockerfile @@ -62,15 +62,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile index d99457ca25..5c4467ec06 100644 --- a/3.4/slim-bookworm/Dockerfile +++ b/3.4/slim-bookworm/Dockerfile @@ -87,15 +87,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile index 49f290cfe0..bc12a637b8 100644 --- a/3.4/slim-bullseye/Dockerfile +++ b/3.4/slim-bullseye/Dockerfile @@ -87,15 +87,6 @@ RUN set -eux; \ \ cd /usr/src/ruby; \ \ -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ diff --git a/Dockerfile.template b/Dockerfile.template index 821dd3f38e..c5f6199076 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -203,15 +203,6 @@ RUN set -eux; \ rm thread-stack-fix.patch; \ \ {{ ) else "" end -}} -# hack in "ENABLE_PATH_CHECK" disabling to suppress: -# warning: Insecure world writable dir - { \ - echo '#define ENABLE_PATH_CHECK 0'; \ - echo; \ - cat file.c; \ - } > file.c.new; \ - mv file.c.new file.c; \ - \ autoconf; \ gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ ./configure \ From b8c490723bba11a80431effaee96030475f643bb Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Fri, 14 Feb 2025 16:00:36 -0800 Subject: [PATCH 122/132] Update 3.4 to 3.4.2 --- 3.4/alpine3.20/Dockerfile | 21 ++++----------------- 3.4/alpine3.21/Dockerfile | 21 ++++----------------- 3.4/bookworm/Dockerfile | 8 ++++---- 3.4/bullseye/Dockerfile | 8 ++++---- 3.4/slim-bookworm/Dockerfile | 22 ++++------------------ 3.4/slim-bullseye/Dockerfile | 22 ++++------------------ versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 96 deletions(-) diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile index d542d7a333..4c54026937 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.20/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ -ENV RUBY_VERSION 3.4.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af +# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ +ENV RUBY_VERSION 3.4.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -104,19 +104,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile index db9d7c88b6..69b8e9cb09 100644 --- a/3.4/alpine3.21/Dockerfile +++ b/3.4/alpine3.21/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ -ENV RUBY_VERSION 3.4.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af +# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ +ENV RUBY_VERSION 3.4.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -104,19 +104,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - \ rm -rf /tmp/rust; \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ diff --git a/3.4/bookworm/Dockerfile b/3.4/bookworm/Dockerfile index 59145070fb..0ae6caddcd 100644 --- a/3.4/bookworm/Dockerfile +++ b/3.4/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ -ENV RUBY_VERSION 3.4.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af +# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ +ENV RUBY_VERSION 3.4.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/bullseye/Dockerfile b/3.4/bullseye/Dockerfile index 5d664b5674..4b0263baa9 100644 --- a/3.4/bullseye/Dockerfile +++ b/3.4/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ -ENV RUBY_VERSION 3.4.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af +# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ +ENV RUBY_VERSION 3.4.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile index 21bfab0e1f..6781a996ab 100644 --- a/3.4/slim-bookworm/Dockerfile +++ b/3.4/slim-bookworm/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ -ENV RUBY_VERSION 3.4.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af +# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ +ENV RUBY_VERSION 3.4.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -97,20 +97,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ - \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile index 4a42ac7e1d..3f81a3cd48 100644 --- a/3.4/slim-bullseye/Dockerfile +++ b/3.4/slim-bullseye/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-1-released/ -ENV RUBY_VERSION 3.4.1 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz -ENV RUBY_DOWNLOAD_SHA256 018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af +# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ +ENV RUBY_VERSION 3.4.2 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz +ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -97,20 +97,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ - \ rm -rf /tmp/rust; \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ diff --git a/versions.json b/versions.json index 8355b68f43..8dbb885ce2 100644 --- a/versions.json +++ b/versions.json @@ -178,33 +178,33 @@ } }, "3.4": { - "version": "3.4.1", - "date": "2024-12-25", - "post": "/en/news/2024/12/25/ruby-3-4-1-released/", + "version": "3.4.2", + "date": "2025-02-14", + "post": "/en/news/2025/02/14/ruby-3-4-2-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz" }, "size": { - "gz": 23152739, - "zip": 28310267, - "xz": 17222800 + "gz": 23174066, + "zip": 28336243, + "xz": 17218200 }, "sha1": { - "gz": "dc42fe22bcdfbd30f63cd93296d893c53b1dadcc", - "zip": "a7145041a0178f2423dbad5d1dd67ba0862b9ee7", - "xz": "61783f85c57da9f05201e491029889d71742a83f" + "gz": "1537911b4a47940f11c309898e04187344a43167", + "zip": "5a790b8a5aa662df6512f865bb042e93b8520864", + "xz": "b169f9e0d35cf85085c5f23d774485ba6c00ebac" }, "sha256": { - "gz": "3d385e5d22d368b064c817a13ed8e3cc3f71a7705d7ed1bae78013c33aa7c87f", - "zip": "a0c62089fb75c47e392bc96778dd76bd7ad1baa40a7ed040372c805de20bccc8", - "xz": "018d59ffb52be3c0a6d847e22d3fd7a2c52d0ddfee249d3517a0c8c6dbfa70af" + "gz": "41328ac21f2bfdd7de6b3565ef4f0dd7543354d37e96f157a1552a6bd0eb364b", + "zip": "e14b850e831bf046cf78d66f14207782da13e76777610596666a74fd6c786021", + "xz": "ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0" }, "sha512": { - "gz": "93acc262e3b7cf86aeddebdad5b8938c187b9c44a73b0c252b6f873745964001459ae45ece7376745916e317c24895596a42b4544e836670fc6e90058e6f0de4", - "zip": "4f96c56b0a26c0d4d554cf47764f4acdc2e59545da0b85fe4d5235a17d26ac47f0c609af66099173056e3405849a9f847c32e7aaaa3a057c7d46007968aa4c73", - "xz": "8d2e34117696f9debf463ae1eed288fdbb5c1a12e32800e901b69218e3b7302a0066052077e2ebca851e3a635296199bd5a10437eea1d6f787f69a77bb865680" + "gz": "edc3aede0aadcaa62343f38ea6cab7adacedba810d883f1d9c3e6e24e28e24e0e27a7df2c8e517cc2aab940168fc4872ab8cad000598aab5940aa79072ac190b", + "zip": "ac897cdc013b71ac3f76d1f70e9b79155a08197e458ddb7bfb638d1168d166b08fbc022aae95953bdade19ccd68989d666b76b6d681ee3480bb5936fb475959d", + "xz": "cb8b5023bce316393716548c5f0a44c7d0240724ff79b995517641266af30bedc6f402c1c8fa27368ea607e2aa6d36bbb201e00c6e9dd2a80d837431d32343b5" }, "variants": [ "bookworm", From 5331b92f3bb60480a551b28b325e5c312d5ee794 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 26 Mar 2025 04:03:11 -0700 Subject: [PATCH 123/132] Update 3.1 to 3.1.7 --- 3.1/alpine3.20/Dockerfile | 21 ++++----------------- 3.1/alpine3.21/Dockerfile | 21 ++++----------------- 3.1/bookworm/Dockerfile | 8 ++++---- 3.1/bullseye/Dockerfile | 8 ++++---- 3.1/slim-bookworm/Dockerfile | 22 ++++------------------ 3.1/slim-bullseye/Dockerfile | 22 ++++------------------ versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 96 deletions(-) diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile index 7ce90cf43e..8f23fa1ee3 100644 --- a/3.1/alpine3.20/Dockerfile +++ b/3.1/alpine3.20/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ -ENV RUBY_VERSION 3.1.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ +ENV RUBY_VERSION 3.1.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -83,19 +83,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ | tr ',' '\n' \ diff --git a/3.1/alpine3.21/Dockerfile b/3.1/alpine3.21/Dockerfile index c1d4a8936e..9d1f1f005e 100644 --- a/3.1/alpine3.21/Dockerfile +++ b/3.1/alpine3.21/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ -ENV RUBY_VERSION 3.1.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ +ENV RUBY_VERSION 3.1.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -83,19 +83,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ - \ runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ | tr ',' '\n' \ diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile index 98fd6d4db1..335e515fac 100644 --- a/3.1/bookworm/Dockerfile +++ b/3.1/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ -ENV RUBY_VERSION 3.1.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ +ENV RUBY_VERSION 3.1.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile index 5ef4702fc5..531bd7c46e 100644 --- a/3.1/bullseye/Dockerfile +++ b/3.1/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ -ENV RUBY_VERSION 3.1.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ +ENV RUBY_VERSION 3.1.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile index 93f999eb68..9d30273f7c 100644 --- a/3.1/slim-bookworm/Dockerfile +++ b/3.1/slim-bookworm/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ -ENV RUBY_VERSION 3.1.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ +ENV RUBY_VERSION 3.1.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -76,20 +76,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ - \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile index 6ee3d66502..e0bda294ae 100644 --- a/3.1/slim-bullseye/Dockerfile +++ b/3.1/slim-bullseye/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/ -ENV RUBY_VERSION 3.1.6 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz -ENV RUBY_DOWNLOAD_SHA256 597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ +ENV RUBY_VERSION 3.1.7 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz +ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built @@ -76,20 +76,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ - \ apt-mark auto '.*' > /dev/null; \ apt-mark manual $savedAptMark > /dev/null; \ find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ diff --git a/versions.json b/versions.json index 8dbb885ce2..75e1dca73a 100644 --- a/versions.json +++ b/versions.json @@ -1,32 +1,32 @@ { "3.1": { - "version": "3.1.6", - "date": "2024-05-29", - "post": "/en/news/2024/05/29/ruby-3-1-6-released/", + "version": "3.1.7", + "date": "2025-03-26", + "post": "/en/news/2025/03/26/ruby-3-1-7-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.6.zip" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.zip" }, "size": { - "gz": 20887803, - "xz": 15273916, - "zip": 25211787 + "gz": 20811481, + "xz": 15196628, + "zip": 25555673 }, "sha1": { - "gz": "02832465f9b0f68b9fe2c443f9f602d6e840b2ca", - "xz": "2671606a00d0ad564fb93f92d093590563c4e25b", - "zip": "534e675022dc30c3674ee68a7b2fbe9300d64367" + "gz": "c2023f05989241d1f21409b980ffbda83b1cbe7b", + "xz": "1437e9ec92f2c166f5b04dbb0c21ac299aca0542", + "zip": "c2eeaba7ebdabc84ca7b77a14a1f83b16397c87e" }, "sha256": { - "gz": "0d0dafb859e76763432571a3109d1537d976266be3083445651dc68deed25c22", - "xz": "597bd1849f252d8a6863cb5d38014ac54152b508c36dca156f6356a9e63c6102", - "zip": "c21d16e7953d65d05824834e89d7e1a58ccf2bc018fe966f785774ea383f53db" + "gz": "0556acd69f141ddace03fa5dd8d76e7ea0d8f5232edf012429579bcdaab30e7b", + "xz": "658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035", + "zip": "ab91106d0686cd30c375c309c58a5b96e68ac56e96c453c1d4f3fbb6c548dec7" }, "sha512": { - "gz": "624555ab3681bd6663bca7cf3529a969b9f0f16928559cfb713c57f763506c8740410c9b460d946922994859189ef2b9956167bd31423cf2e3acbf5a30086fe1", - "xz": "a3159648706d6d11ce9613201141e884b3accc69bf928c756de8a8f2b71d219886e91435d30cf2c30e85af31f87801138e10106344766100f1b80662c7244652", - "zip": "f8b5a0fda8dc0248f29796a0b5b67f93a825a013b92b0db437ecf0a5ffaf06a800285999a0e9a61e890a8000dd2e2c081a6ecb5dae62b1045761a13fd87c397b" + "gz": "a8432aaeaee4f48027ab30b7870bc61350840761b9d72b0b399d8fdfa96acb3c8f1ebe63663bcd8d835dd89b21128a07ef8f0c0c47eb41b942c169954ccb7edd", + "xz": "44e013f6e8d159a49125d24eaf02f58e02997fcd7bd4f4370250248c2d3264fb45183e33797638a7d9a2907fb48fe1b46f5f45514d60a800f96bce2c10baca82", + "zip": "febc49a0350558a8f3ad0d683c94321fc3437201c1adafdaa4e1a454234eef857d324e6ee1f95f5998d96fafce7f3a6c39483b3251a4a9ed4f64d80a1f73964e" }, "variants": [ "bookworm", From 00121708b79e89ee4c477dbae3035467ebe2484e Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 26 Mar 2025 04:33:53 -0700 Subject: [PATCH 124/132] Update 3.2 to 3.2.8 --- 3.2/alpine3.20/Dockerfile | 8 ++++---- 3.2/alpine3.21/Dockerfile | 8 ++++---- 3.2/bookworm/Dockerfile | 8 ++++---- 3.2/bullseye/Dockerfile | 8 ++++---- 3.2/slim-bookworm/Dockerfile | 8 ++++---- 3.2/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.20/Dockerfile index e439a31a7b..e47593ef3a 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.20/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ -ENV RUBY_VERSION 3.2.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/ +ENV RUBY_VERSION 3.2.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1cccd3100155275293ae5d4ea0a1a1068f5de69e71732220f144acce26327a3c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/alpine3.21/Dockerfile b/3.2/alpine3.21/Dockerfile index 5d8a44c8b5..e64238a9eb 100644 --- a/3.2/alpine3.21/Dockerfile +++ b/3.2/alpine3.21/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ -ENV RUBY_VERSION 3.2.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/ +ENV RUBY_VERSION 3.2.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1cccd3100155275293ae5d4ea0a1a1068f5de69e71732220f144acce26327a3c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bookworm/Dockerfile b/3.2/bookworm/Dockerfile index 0fedd902e3..9c6424988f 100644 --- a/3.2/bookworm/Dockerfile +++ b/3.2/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ -ENV RUBY_VERSION 3.2.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/ +ENV RUBY_VERSION 3.2.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1cccd3100155275293ae5d4ea0a1a1068f5de69e71732220f144acce26327a3c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/bullseye/Dockerfile b/3.2/bullseye/Dockerfile index 506340ce95..d0cc1cbe1f 100644 --- a/3.2/bullseye/Dockerfile +++ b/3.2/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ -ENV RUBY_VERSION 3.2.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/ +ENV RUBY_VERSION 3.2.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1cccd3100155275293ae5d4ea0a1a1068f5de69e71732220f144acce26327a3c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bookworm/Dockerfile b/3.2/slim-bookworm/Dockerfile index 16205f2401..e31d6d5af7 100644 --- a/3.2/slim-bookworm/Dockerfile +++ b/3.2/slim-bookworm/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ -ENV RUBY_VERSION 3.2.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/ +ENV RUBY_VERSION 3.2.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1cccd3100155275293ae5d4ea0a1a1068f5de69e71732220f144acce26327a3c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.2/slim-bullseye/Dockerfile b/3.2/slim-bullseye/Dockerfile index 63cc60594d..11ee9e2026 100644 --- a/3.2/slim-bullseye/Dockerfile +++ b/3.2/slim-bullseye/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/ -ENV RUBY_VERSION 3.2.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2 +# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/ +ENV RUBY_VERSION 3.2.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 1cccd3100155275293ae5d4ea0a1a1068f5de69e71732220f144acce26327a3c # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 75e1dca73a..fab612c6aa 100644 --- a/versions.json +++ b/versions.json @@ -38,33 +38,33 @@ ] }, "3.2": { - "version": "3.2.7", - "date": "2025-02-04", - "post": "/en/news/2025/02/04/ruby-3-2-7-released/", + "version": "3.2.8", + "date": "2025-03-26", + "post": "/en/news/2025/03/26/ruby-3-2-8-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.7.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.8.zip" }, "size": { - "gz": 20548416, - "zip": 25129063, - "xz": 15128228 + "gz": 20549999, + "xz": 15130380, + "zip": 25134315 }, "sha1": { - "gz": "c45aa881a7ea1175212d385fe5c8b6e9ff14b2e5", - "zip": "d18fbf11004fdc98bc2c221b167b0d62bfc98dd2", - "xz": "54e07b3adf1e948f5a35fc4ef9b24dd5976f1740" + "gz": "419ecff4a0f8e805ddb1314344ffad33afde91d8", + "xz": "570b529a10784fc16bb0339e6d37408adf9cd31d", + "zip": "c80bf2e90b3bbfbedc9c8b65d401ce4bd0ed4263" }, "sha256": { - "gz": "8488fa620ff0333c16d437f2b890bba3b67f8745fdecb1472568a6114aad9741", - "zip": "e4efb7d9e8f8fee6c717917760796c3e29d6c644f9777e4a46bd0a69ed21d5fd", - "xz": "fc159b0d4a8ce412948fb69e61493839a0b3e1d5c919180f27036f1c948cfbe2" + "gz": "77acdd8cfbbe1f8e573b5e6536e03c5103df989dc05fa68c70f011833c356075", + "xz": "1cccd3100155275293ae5d4ea0a1a1068f5de69e71732220f144acce26327a3c", + "zip": "c8ca517937c05e03ae52c41dad16ccf12ffae323365e73f3720142421f3aa2c7" }, "sha512": { - "gz": "174e70ac20a21ea77e2c5055a9123a6812109fd7b54c0f7b948312b8159eedbfb11c06120390c158430ca8543e36893da6c809883c82757082d22e08004c5055", - "zip": "5f57fb8b2d44187a8f900095cbe7bc90d9439c6436e3e361241b83102b85f665e3d7ed64fe1f6150dfb94eb289467f375ef24b46d5ac9b5f03b01ef31ed39606", - "xz": "c10b6fd27fad3bbd33d780c0a3eccb5df2a8465a89d2294ea6f14c7e5e8f7c8ea30b8a8b68bf8903c76f9133c5d984d5d66052ec4eb413153c739e6eea24beed" + "gz": "342d9ce337936cdbaa5d63a4d393edf0594e431add8cec3b6f17b884075bfdc5aa7a843c03f4ee3bece01700dfa4707bba653715a628d9dcb230762dbd3e5ac8", + "xz": "19ff96619945d907e509803b85ecf21750ffa4ae033045272feb43c183ab180d0033b98cf47c18804e448f01bc1928e3b833c61c98446dbe6be31fb9ea6b059d", + "zip": "e248bc2a37b32edca0508df3016ac933089170deba6eec5479d8fb45a3d022c4c9532de2b5486863d30233bd276b14335e8d5ee97c371746b26d64f4864e80d3" }, "variants": [ "bookworm", From 193c69e863a4c2bf86f6e323cb294fe1b8e1e845 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Wed, 26 Mar 2025 13:32:41 +0100 Subject: [PATCH 125/132] Remove slim/alpine temporary code None of these specific versions are build anymroe --- Dockerfile.template | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/Dockerfile.template b/Dockerfile.template index a8ea7ef7f8..f9bb8795ae 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -215,34 +215,6 @@ RUN set -eux; \ make -j "$(nproc)"; \ make install; \ \ -{{ if (is_alpine or is_slim) and (.version | IN("3.1.6", "3.2.6", "3.3.6", "3.4.1")) then ( -}} -# temporary backwards compatibility shim (will go away in the next patch release; please update/adjust accordingly); see: -# - https://github.com/docker-library/ruby/pull/493 -# - https://github.com/docker-library/ruby/pull/497 -{{ if is_alpine then ( -}} - apk add --no-cache --virtual .ruby-493-backcompat \ - bzip2 \ - ca-certificates \ - gmp-dev \ - libffi-dev \ - procps \ - yaml-dev \ - zlib-dev \ - ; \ -{{ ) else ( -}} - savedAptMark="$savedAptMark \ - bzip2 \ - libffi-dev \ - libgmp-dev \ - libssl-dev \ - libyaml-dev \ - procps \ - zlib1g-dev \ - "; \ - apt-get install -y --no-install-recommends $savedAptMark; \ -{{ ) end -}} - \ -{{ ) else "" end -}} {{ if .rust.version then ( -}} rm -rf /tmp/rust; \ {{ ) else "" end -}} From 85d6f77e0343ae00a355a56a3732353afb57ad7b Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Wed, 26 Mar 2025 13:37:48 +0100 Subject: [PATCH 126/132] Drop Ruby 3.1 Ruby 3.1.7 was released, which will be the last version. https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ --- 3.1/alpine3.20/Dockerfile | 121 ----------------------------------- 3.1/alpine3.21/Dockerfile | 121 ----------------------------------- 3.1/bookworm/Dockerfile | 86 ------------------------- 3.1/bullseye/Dockerfile | 86 ------------------------- 3.1/slim-bookworm/Dockerfile | 112 -------------------------------- 3.1/slim-bullseye/Dockerfile | 112 -------------------------------- Dockerfile.template | 8 +-- versions.json | 38 ----------- versions.sh | 27 ++++---- 9 files changed, 15 insertions(+), 696 deletions(-) delete mode 100644 3.1/alpine3.20/Dockerfile delete mode 100644 3.1/alpine3.21/Dockerfile delete mode 100644 3.1/bookworm/Dockerfile delete mode 100644 3.1/bullseye/Dockerfile delete mode 100644 3.1/slim-bookworm/Dockerfile delete mode 100644 3.1/slim-bullseye/Dockerfile diff --git a/3.1/alpine3.20/Dockerfile b/3.1/alpine3.20/Dockerfile deleted file mode 100644 index 8f23fa1ee3..0000000000 --- a/3.1/alpine3.20/Dockerfile +++ /dev/null @@ -1,121 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.20 - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ -ENV RUBY_VERSION 3.1.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - gmp-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - yaml-dev \ - zlib-dev \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.1/alpine3.21/Dockerfile b/3.1/alpine3.21/Dockerfile deleted file mode 100644 index 9d1f1f005e..0000000000 --- a/3.1/alpine3.21/Dockerfile +++ /dev/null @@ -1,121 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.21 - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ -ENV RUBY_VERSION 3.1.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - apk add --no-cache --virtual .ruby-builddeps \ - autoconf \ - bison \ - bzip2 \ - bzip2-dev \ - ca-certificates \ - coreutils \ - dpkg-dev dpkg \ - g++ \ - gcc \ - gdbm-dev \ - glib-dev \ - gmp-dev \ - libc-dev \ - libffi-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - ncurses-dev \ - openssl \ - openssl-dev \ - patch \ - procps \ - yaml-dev \ - zlib-dev \ - readline-dev \ - ruby \ - tar \ - xz \ - yaml-dev \ - zlib-dev \ - ; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ -# https://github.com/docker-library/ruby/issues/196 -# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) -# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) - wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ - echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ - patch -p1 -i thread-stack-fix.patch; \ - rm thread-stack-fix.patch; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --no-network --virtual .ruby-rundeps $runDeps; \ - apk del --no-network .ruby-builddeps; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if \ - apk --no-network list --installed \ - | grep -v '^[.]ruby-' \ - | grep -i ruby \ - ; then \ - exit 1; \ - fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.1/bookworm/Dockerfile b/3.1/bookworm/Dockerfile deleted file mode 100644 index 335e515fac..0000000000 --- a/3.1/bookworm/Dockerfile +++ /dev/null @@ -1,86 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bookworm - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ -ENV RUBY_VERSION 3.1.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.1/bullseye/Dockerfile b/3.1/bullseye/Dockerfile deleted file mode 100644 index 531bd7c46e..0000000000 --- a/3.1/bullseye/Dockerfile +++ /dev/null @@ -1,86 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bullseye - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ -ENV RUBY_VERSION 3.1.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - ; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.1/slim-bookworm/Dockerfile b/3.1/slim-bookworm/Dockerfile deleted file mode 100644 index 9d30273f7c..0000000000 --- a/3.1/slim-bookworm/Dockerfile +++ /dev/null @@ -1,112 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bookworm-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ -ENV RUBY_VERSION 3.1.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - bzip2 \ - g++ \ - gcc \ - libbz2-dev \ - libffi-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libgmp-dev \ - libncurses-dev \ - libreadline-dev \ - libssl-dev \ - libxml2-dev \ - libxslt-dev \ - libyaml-dev \ - make \ - wget \ - xz-utils \ - zlib1g-dev \ - ; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/3.1/slim-bullseye/Dockerfile b/3.1/slim-bullseye/Dockerfile deleted file mode 100644 index e0bda294ae..0000000000 --- a/3.1/slim-bullseye/Dockerfile +++ /dev/null @@ -1,112 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bullseye-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - ; \ - rm -rf /var/lib/apt/lists/* - -# skip installing gem documentation with `gem install`/`gem update` -RUN set -eux; \ - mkdir -p /usr/local/etc; \ - echo 'gem: --no-document' >> /usr/local/etc/gemrc - -ENV LANG C.UTF-8 - -# https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-1-7-released/ -ENV RUBY_VERSION 3.1.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035 - -# some of ruby's build scripts are written in ruby -# we purge system ruby later to make sure our final image uses what we just built -RUN set -eux; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bison \ - dpkg-dev \ - libgdbm-dev \ - ruby \ - autoconf \ - bzip2 \ - g++ \ - gcc \ - libbz2-dev \ - libffi-dev \ - libgdbm-compat-dev \ - libglib2.0-dev \ - libgmp-dev \ - libncurses-dev \ - libreadline-dev \ - libssl-dev \ - libxml2-dev \ - libxslt-dev \ - libyaml-dev \ - make \ - wget \ - xz-utils \ - zlib1g-dev \ - ; \ - \ - wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ - echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ - \ - mkdir -p /usr/src/ruby; \ - tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ - rm ruby.tar.xz; \ - \ - cd /usr/src/ruby; \ - \ - autoconf; \ - gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ - ./configure \ - --build="$gnuArch" \ - --disable-install-doc \ - --enable-shared \ - ; \ - make -j "$(nproc)"; \ - make install; \ - \ - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark > /dev/null; \ - find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ - \ - cd /; \ - rm -r /usr/src/ruby; \ -# verify we have no "ruby" packages installed - if dpkg -l | grep -i ruby; then exit 1; fi; \ - [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ -# rough smoke test - ruby --version; \ - gem --version; \ - bundle --version - -# don't create ".bundle" in all our apps -ENV GEM_HOME /usr/local/bundle -ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ - BUNDLE_APP_CONFIG="$GEM_HOME" -ENV PATH $GEM_HOME/bin:$PATH -RUN set -eux; \ - mkdir "$GEM_HOME"; \ -# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user - chmod 1777 "$GEM_HOME" - -CMD [ "irb" ] diff --git a/Dockerfile.template b/Dockerfile.template index a8ea7ef7f8..a51d1d4548 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -41,7 +41,7 @@ RUN set -eux; \ {{ if is_alpine then ( -}} apk add --no-cache --virtual .ruby-builddeps \ autoconf \ -{{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} +{{ if env.version | rtrimstr("-rc") | IN("3.2") then ( -}} {{ # https://github.com/docker-library/ruby/pull/438 -}} bison \ {{ ) else "" end -}} @@ -68,7 +68,7 @@ RUN set -eux; \ procps \ yaml-dev \ zlib-dev \ -{{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} +{{ if env.version | rtrimstr("-rc") | IN("3.2") then ( -}} readline-dev \ {{ ) else "" end -}} ruby \ @@ -81,7 +81,7 @@ RUN set -eux; \ savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ apt-get install -y --no-install-recommends \ -{{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} +{{ if env.version | rtrimstr("-rc") | IN("3.2") then ( -}} {{ # https://github.com/docker-library/ruby/pull/438 -}} bison \ {{ ) else "" end -}} @@ -99,7 +99,7 @@ RUN set -eux; \ libglib2.0-dev \ libgmp-dev \ libncurses-dev \ -{{ if env.version | rtrimstr("-rc") | IN("3.1", "3.2") then ( -}} +{{ if env.version | rtrimstr("-rc") | IN("3.2") then ( -}} libreadline-dev \ {{ ) else "" end -}} libssl-dev \ diff --git a/versions.json b/versions.json index fab612c6aa..762f9f0b95 100644 --- a/versions.json +++ b/versions.json @@ -1,42 +1,4 @@ { - "3.1": { - "version": "3.1.7", - "date": "2025-03-26", - "post": "/en/news/2025/03/26/ruby-3-1-7-released/", - "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.gz", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.tar.xz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.7.zip" - }, - "size": { - "gz": 20811481, - "xz": 15196628, - "zip": 25555673 - }, - "sha1": { - "gz": "c2023f05989241d1f21409b980ffbda83b1cbe7b", - "xz": "1437e9ec92f2c166f5b04dbb0c21ac299aca0542", - "zip": "c2eeaba7ebdabc84ca7b77a14a1f83b16397c87e" - }, - "sha256": { - "gz": "0556acd69f141ddace03fa5dd8d76e7ea0d8f5232edf012429579bcdaab30e7b", - "xz": "658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035", - "zip": "ab91106d0686cd30c375c309c58a5b96e68ac56e96c453c1d4f3fbb6c548dec7" - }, - "sha512": { - "gz": "a8432aaeaee4f48027ab30b7870bc61350840761b9d72b0b399d8fdfa96acb3c8f1ebe63663bcd8d835dd89b21128a07ef8f0c0c47eb41b942c169954ccb7edd", - "xz": "44e013f6e8d159a49125d24eaf02f58e02997fcd7bd4f4370250248c2d3264fb45183e33797638a7d9a2907fb48fe1b46f5f45514d60a800f96bce2c10baca82", - "zip": "febc49a0350558a8f3ad0d683c94321fc3437201c1adafdaa4e1a454234eef857d324e6ee1f95f5998d96fafce7f3a6c39483b3251a4a9ed4f64d80a1f73964e" - }, - "variants": [ - "bookworm", - "slim-bookworm", - "bullseye", - "slim-bullseye", - "alpine3.21", - "alpine3.20" - ] - }, "3.2": { "version": "3.2.8", "date": "2025-03-26", diff --git a/versions.sh b/versions.sh index 64bf090ebe..689ee3b4d1 100755 --- a/versions.sh +++ b/versions.sh @@ -95,22 +95,17 @@ for version in "${versions[@]}"; do ] ')" - case "$rcVersion" in - 3.1) ;; - *) - # YJIT - doc="$(jq <<<"$doc" -sc ' - .[1][].arches? |= if . then with_entries(select(.key | IN( - # https://github.com/ruby/ruby/blob/v3_2_0/doc/yjit/yjit.md ("currently supported for macOS and Linux on x86-64 and arm64/aarch64 CPUs") - # https://github.com/ruby/ruby/blob/v3_2_0/configure.ac#L3757-L3761 - "amd64", - "arm64v8", - empty # trailing comma - ))) else empty end - | add - ' - rust.json)" - ;; - esac + # YJIT + doc="$(jq <<<"$doc" -sc ' + .[1][].arches? |= if . then with_entries(select(.key | IN( + # https://github.com/ruby/ruby/blob/v3_2_0/doc/yjit/yjit.md ("currently supported for macOS and Linux on x86-64 and arm64/aarch64 CPUs") + # https://github.com/ruby/ruby/blob/v3_2_0/configure.ac#L3757-L3761 + "amd64", + "arm64v8", + empty # trailing comma + ))) else empty end + | add + ' - rust.json)" json="$(jq <<<"$json" -c --argjson doc "$doc" '.[env.version] = $doc')" From fd391a024df0e026b289e60e7bf1ed8db0c41e48 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 9 Apr 2025 10:03:15 -0700 Subject: [PATCH 127/132] Update 3.3 to 3.3.8 --- 3.3/alpine3.20/Dockerfile | 8 ++++---- 3.3/alpine3.21/Dockerfile | 8 ++++---- 3.3/bookworm/Dockerfile | 8 ++++---- 3.3/bullseye/Dockerfile | 8 ++++---- 3.3/slim-bookworm/Dockerfile | 8 ++++---- 3.3/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.20/Dockerfile index 622d21b22e..07fc6138bd 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.20/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ -ENV RUBY_VERSION 3.3.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 +# https://www.ruby-lang.org/en/news/2025/04/09/ruby-3-3-8-released/ +ENV RUBY_VERSION 3.3.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 44ae70fee043da3ce48289b7a52618ebe32dc083253993d486211c7e445c8642 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/alpine3.21/Dockerfile b/3.3/alpine3.21/Dockerfile index 31fa7b2920..cdcdb14cb9 100644 --- a/3.3/alpine3.21/Dockerfile +++ b/3.3/alpine3.21/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ -ENV RUBY_VERSION 3.3.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 +# https://www.ruby-lang.org/en/news/2025/04/09/ruby-3-3-8-released/ +ENV RUBY_VERSION 3.3.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 44ae70fee043da3ce48289b7a52618ebe32dc083253993d486211c7e445c8642 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bookworm/Dockerfile b/3.3/bookworm/Dockerfile index 0a087ff3d8..e9dac0fde6 100644 --- a/3.3/bookworm/Dockerfile +++ b/3.3/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ -ENV RUBY_VERSION 3.3.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 +# https://www.ruby-lang.org/en/news/2025/04/09/ruby-3-3-8-released/ +ENV RUBY_VERSION 3.3.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 44ae70fee043da3ce48289b7a52618ebe32dc083253993d486211c7e445c8642 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/bullseye/Dockerfile b/3.3/bullseye/Dockerfile index 5eb24c77db..9182be7390 100644 --- a/3.3/bullseye/Dockerfile +++ b/3.3/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ -ENV RUBY_VERSION 3.3.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 +# https://www.ruby-lang.org/en/news/2025/04/09/ruby-3-3-8-released/ +ENV RUBY_VERSION 3.3.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 44ae70fee043da3ce48289b7a52618ebe32dc083253993d486211c7e445c8642 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bookworm/Dockerfile b/3.3/slim-bookworm/Dockerfile index cad0fa8515..1bcd5a4be6 100644 --- a/3.3/slim-bookworm/Dockerfile +++ b/3.3/slim-bookworm/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ -ENV RUBY_VERSION 3.3.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 +# https://www.ruby-lang.org/en/news/2025/04/09/ruby-3-3-8-released/ +ENV RUBY_VERSION 3.3.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 44ae70fee043da3ce48289b7a52618ebe32dc083253993d486211c7e445c8642 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.3/slim-bullseye/Dockerfile b/3.3/slim-bullseye/Dockerfile index d6111c3607..05f20e99b0 100644 --- a/3.3/slim-bullseye/Dockerfile +++ b/3.3/slim-bullseye/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/01/15/ruby-3-3-7-released/ -ENV RUBY_VERSION 3.3.7 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz -ENV RUBY_DOWNLOAD_SHA256 5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72 +# https://www.ruby-lang.org/en/news/2025/04/09/ruby-3-3-8-released/ +ENV RUBY_VERSION 3.3.8 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.tar.xz +ENV RUBY_DOWNLOAD_SHA256 44ae70fee043da3ce48289b7a52618ebe32dc083253993d486211c7e445c8642 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 762f9f0b95..db609ea2c6 100644 --- a/versions.json +++ b/versions.json @@ -70,33 +70,33 @@ } }, "3.3": { - "version": "3.3.7", - "date": "2025-01-15", - "post": "/en/news/2025/01/15/ruby-3-3-7-released/", + "version": "3.3.8", + "date": "2025-04-09", + "post": "/en/news/2025/04/09/ruby-3-3-8-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.7.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.tar.gz", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.tar.xz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.8.zip" }, "size": { - "gz": 22163173, - "zip": 27589557, - "xz": 16379504 + "gz": 22197497, + "xz": 16435924, + "zip": 27628937 }, "sha1": { - "gz": "aaa94abd1a5676dd24e927876935597a505e2a4d", - "zip": "afe9800b8711aba57df5e11005a1710b48c9377e", - "xz": "b5498e7174328fe0af0d93ee9667d39dda36621b" + "gz": "71b8362d413f58ed5aef2ecd132769210c45f058", + "xz": "9ee07098fd930744d8df5d4945b5f99d2fecb9ef", + "zip": "4c0d938d2791ab696e921557aec19613bb364a67" }, "sha256": { - "gz": "9c37c3b12288c7aec20ca121ce76845be5bb5d77662a24919651aaf1d12c8628", - "zip": "9c6b1d13a03d8423391e070e324b1380a597d3ac9eb5d8ea40bc4fd5226556a5", - "xz": "5dbcbc605e0ed4b09c52703241577eb7edc3a2dc747e184c72b5285719b6ad72" + "gz": "5ae28a87a59a3e4ad66bc2931d232dbab953d0aa8f6baf3bc4f8f80977c89cab", + "xz": "44ae70fee043da3ce48289b7a52618ebe32dc083253993d486211c7e445c8642", + "zip": "389b8deae02849e769855dea892c921d3387b6548209189837a00f1cdf353797" }, "sha512": { - "gz": "9b48be05d1210e9194c8a6d77dfc3227599bff2b55fc9bb2049b11547927deef530ece9a2a505600cdc492c8517b1bef7ab5f2520ebd79ffcf76f0a734fa763d", - "zip": "20f0ad9e80528c5c5d42c0be8e85cf3f120a20a973a7d8303785f4201263d7896c9a7462d8b862330c2d4039ab8d47616fa13ef487a2ed05490ca4e731c97ef2", - "xz": "4082a7684c1b0d53a0ce493f79568e851d37a864f59c58b2e0c273b2659e0ca75318ddff939fdf5e9d0a3eeba1b6d8f03bf88afb49a5ffd77714f1c8a7dfdd55" + "gz": "c5005ba4019fbae19650a9a9ce139e13608345065da9e2277dbeac9d0ac9e3b07b666816afe7be690088080c8c9cf88a8c372971d429479dcebea80d6c2e3883", + "xz": "71c2f3ac9955e088fa885fd2ff695e67362a770a5d33e5160081eda3dd298ca2c692e299b03d757caecfbc94043fedc4ad093de84c505585d480cb36bbf978b9", + "zip": "1aa6a0412760d0d1f423cd5f02533696b7c952c04f567b89aa875997e1d53a548c294c0b771a9e06e666daab038e3481a6251e361163449f92b02ab3a89a6373" }, "variants": [ "bookworm", From 235b3ffb2060c837137b32ea55f75816f2f4e4c4 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Mon, 14 Apr 2025 10:03:18 -0700 Subject: [PATCH 128/132] Update 3.4 to 3.4.3 --- 3.4/alpine3.20/Dockerfile | 8 ++++---- 3.4/alpine3.21/Dockerfile | 8 ++++---- 3.4/bookworm/Dockerfile | 8 ++++---- 3.4/bullseye/Dockerfile | 8 ++++---- 3.4/slim-bookworm/Dockerfile | 8 ++++---- 3.4/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile index 4c54026937..866b27472d 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.20/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ -ENV RUBY_VERSION 3.4.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 +# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ +ENV RUBY_VERSION 3.4.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile index 69b8e9cb09..fae4148fe5 100644 --- a/3.4/alpine3.21/Dockerfile +++ b/3.4/alpine3.21/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ -ENV RUBY_VERSION 3.4.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 +# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ +ENV RUBY_VERSION 3.4.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/bookworm/Dockerfile b/3.4/bookworm/Dockerfile index 0ae6caddcd..591c6d6c5a 100644 --- a/3.4/bookworm/Dockerfile +++ b/3.4/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ -ENV RUBY_VERSION 3.4.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 +# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ +ENV RUBY_VERSION 3.4.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/bullseye/Dockerfile b/3.4/bullseye/Dockerfile index 4b0263baa9..58ac4f272b 100644 --- a/3.4/bullseye/Dockerfile +++ b/3.4/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ -ENV RUBY_VERSION 3.4.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 +# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ +ENV RUBY_VERSION 3.4.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile index 6781a996ab..7d973c2233 100644 --- a/3.4/slim-bookworm/Dockerfile +++ b/3.4/slim-bookworm/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ -ENV RUBY_VERSION 3.4.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 +# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ +ENV RUBY_VERSION 3.4.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile index 3f81a3cd48..7ab39e74de 100644 --- a/3.4/slim-bullseye/Dockerfile +++ b/3.4/slim-bullseye/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/02/14/ruby-3-4-2-released/ -ENV RUBY_VERSION 3.4.2 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz -ENV RUBY_DOWNLOAD_SHA256 ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 +# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ +ENV RUBY_VERSION 3.4.3 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz +ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index db609ea2c6..d76b580e62 100644 --- a/versions.json +++ b/versions.json @@ -140,33 +140,33 @@ } }, "3.4": { - "version": "3.4.2", - "date": "2025-02-14", - "post": "/en/news/2025/02/14/ruby-3-4-2-released/", + "version": "3.4.3", + "date": "2025-04-14", + "post": "/en/news/2025/04/14/ruby-3-4-3-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz" }, "size": { - "gz": 23174066, - "zip": 28336243, - "xz": 17218200 + "gz": 23194448, + "zip": 28356998, + "xz": 17230984 }, "sha1": { - "gz": "1537911b4a47940f11c309898e04187344a43167", - "zip": "5a790b8a5aa662df6512f865bb042e93b8520864", - "xz": "b169f9e0d35cf85085c5f23d774485ba6c00ebac" + "gz": "c269cd122ab9d4620a1e0e6a8f4de378deec3799", + "zip": "87cb747a766660cf487a2e9dbbc7a18a8f6b65d9", + "xz": "d0d86fdfe6bcf9f2eb3b450f3209f655ceda86da" }, "sha256": { - "gz": "41328ac21f2bfdd7de6b3565ef4f0dd7543354d37e96f157a1552a6bd0eb364b", - "zip": "e14b850e831bf046cf78d66f14207782da13e76777610596666a74fd6c786021", - "xz": "ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0" + "gz": "55a4cd1dcbe5ca27cf65e89a935a482c2bb2284832939266551c0ec68b437f46", + "zip": "06b8bf2ddf2642327c992d30f5d414ffa5a5df0c4c706d7b2507b42509fb5055", + "xz": "174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd" }, "sha512": { - "gz": "edc3aede0aadcaa62343f38ea6cab7adacedba810d883f1d9c3e6e24e28e24e0e27a7df2c8e517cc2aab940168fc4872ab8cad000598aab5940aa79072ac190b", - "zip": "ac897cdc013b71ac3f76d1f70e9b79155a08197e458ddb7bfb638d1168d166b08fbc022aae95953bdade19ccd68989d666b76b6d681ee3480bb5936fb475959d", - "xz": "cb8b5023bce316393716548c5f0a44c7d0240724ff79b995517641266af30bedc6f402c1c8fa27368ea607e2aa6d36bbb201e00c6e9dd2a80d837431d32343b5" + "gz": "7019889939713c3e649003fed4d973dced36239fc354cfdee2d01dbdeb7e8512881a31b00efc3d5017f08cd492aed7914d15927bc8d076c0cae7534273e471e9", + "zip": "b25289c899318ce5071b075fc1b75f602e0a543faeefa44df7e8064933500f9c357685fe21d09abc4034d481c22c89491c841f596d07e1cd269d800e6266cc24", + "xz": "b30aad675cdcc1bdfe9e5fffe9d1925db3b3ac854a5e34180c368bc6e66f73e29ba5d802fea249353b7d799c01384c58bdd763fd1b679303158baa7824b9c08e" }, "variants": [ "bookworm", From f0bf5f365387703579af740f915b6f32c4ee4c28 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 21 Apr 2025 15:41:34 -0700 Subject: [PATCH 129/132] Add 3.5 pre-release See https://www.ruby-lang.org/en/news/2025/04/18/ruby-3-5-0-preview1-released/ --- 3.5-rc/alpine3.20/Dockerfile | 143 ++++++++++++++++++++++++++++++++ 3.5-rc/alpine3.21/Dockerfile | 143 ++++++++++++++++++++++++++++++++ 3.5-rc/bookworm/Dockerfile | 109 ++++++++++++++++++++++++ 3.5-rc/bullseye/Dockerfile | 109 ++++++++++++++++++++++++ 3.5-rc/slim-bookworm/Dockerfile | 134 ++++++++++++++++++++++++++++++ 3.5-rc/slim-bullseye/Dockerfile | 134 ++++++++++++++++++++++++++++++ versions.json | 77 +++++++++++++++++ 7 files changed, 849 insertions(+) create mode 100644 3.5-rc/alpine3.20/Dockerfile create mode 100644 3.5-rc/alpine3.21/Dockerfile create mode 100644 3.5-rc/bookworm/Dockerfile create mode 100644 3.5-rc/bullseye/Dockerfile create mode 100644 3.5-rc/slim-bookworm/Dockerfile create mode 100644 3.5-rc/slim-bullseye/Dockerfile diff --git a/3.5-rc/alpine3.20/Dockerfile b/3.5-rc/alpine3.20/Dockerfile new file mode 100644 index 0000000000..100d0d5bad --- /dev/null +++ b/3.5-rc/alpine3.20/Dockerfile @@ -0,0 +1,143 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.20 + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2025/04/18/ruby-3-5-0-preview1-released/ +ENV RUBY_VERSION 3.5.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 c6cc1e9f23fe4719b024b8305345ca0cff4e1bc159f3ebff86cb5b87969863aa + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + gmp-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + yaml-dev \ + zlib-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.5-rc/alpine3.21/Dockerfile b/3.5-rc/alpine3.21/Dockerfile new file mode 100644 index 0000000000..abfabe7935 --- /dev/null +++ b/3.5-rc/alpine3.21/Dockerfile @@ -0,0 +1,143 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM alpine:3.21 + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2025/04/18/ruby-3-5-0-preview1-released/ +ENV RUBY_VERSION 3.5.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 c6cc1e9f23fe4719b024b8305345ca0cff4e1bc159f3ebff86cb5b87969863aa + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + apk add --no-cache --virtual .ruby-builddeps \ + autoconf \ + bzip2 \ + bzip2-dev \ + ca-certificates \ + coreutils \ + dpkg-dev dpkg \ + g++ \ + gcc \ + gdbm-dev \ + glib-dev \ + gmp-dev \ + libc-dev \ + libffi-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl \ + openssl-dev \ + patch \ + procps \ + yaml-dev \ + zlib-dev \ + ruby \ + tar \ + xz \ + yaml-dev \ + zlib-dev \ + ; \ + \ + rustArch=; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + 'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47' ;; \ + 'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ +# https://github.com/docker-library/ruby/issues/196 +# https://bugs.ruby-lang.org/issues/14387#note-13 (patch source) +# https://bugs.ruby-lang.org/issues/14387#note-16 ("Therefore ncopa's patch looks good for me in general." -- only breaks glibc which doesn't matter here) + wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; \ + echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; \ + patch -p1 -i thread-stack-fix.patch; \ + rm thread-stack-fix.patch; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .ruby-rundeps $runDeps; \ + apk del --no-network .ruby-builddeps; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if \ + apk --no-network list --installed \ + | grep -v '^[.]ruby-' \ + | grep -i ruby \ + ; then \ + exit 1; \ + fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.5-rc/bookworm/Dockerfile b/3.5-rc/bookworm/Dockerfile new file mode 100644 index 0000000000..7e3b5a1cb1 --- /dev/null +++ b/3.5-rc/bookworm/Dockerfile @@ -0,0 +1,109 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bookworm + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2025/04/18/ruby-3-5-0-preview1-released/ +ENV RUBY_VERSION 3.5.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 c6cc1e9f23fe4719b024b8305345ca0cff4e1bc159f3ebff86cb5b87969863aa + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.5-rc/bullseye/Dockerfile b/3.5-rc/bullseye/Dockerfile new file mode 100644 index 0000000000..2aa035aa9d --- /dev/null +++ b/3.5-rc/bullseye/Dockerfile @@ -0,0 +1,109 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM buildpack-deps:bullseye + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2025/04/18/ruby-3-5-0-preview1-released/ +ENV RUBY_VERSION 3.5.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 c6cc1e9f23fe4719b024b8305345ca0cff4e1bc159f3ebff86cb5b87969863aa + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + ; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.5-rc/slim-bookworm/Dockerfile b/3.5-rc/slim-bookworm/Dockerfile new file mode 100644 index 0000000000..7604e847c5 --- /dev/null +++ b/3.5-rc/slim-bookworm/Dockerfile @@ -0,0 +1,134 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bookworm-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + ca-certificates \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2025/04/18/ruby-3-5-0-preview1-released/ +ENV RUBY_VERSION 3.5.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 c6cc1e9f23fe4719b024b8305345ca0cff4e1bc159f3ebff86cb5b87969863aa + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + bzip2 \ + g++ \ + gcc \ + libbz2-dev \ + libffi-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libgmp-dev \ + libncurses-dev \ + libssl-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + wget \ + xz-utils \ + zlib1g-dev \ + ; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/3.5-rc/slim-bullseye/Dockerfile b/3.5-rc/slim-bullseye/Dockerfile new file mode 100644 index 0000000000..d538daea28 --- /dev/null +++ b/3.5-rc/slim-bullseye/Dockerfile @@ -0,0 +1,134 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM debian:bullseye-slim + +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + ca-certificates \ + ; \ + rm -rf /var/lib/apt/lists/* + +# skip installing gem documentation with `gem install`/`gem update` +RUN set -eux; \ + mkdir -p /usr/local/etc; \ + echo 'gem: --no-document' >> /usr/local/etc/gemrc + +ENV LANG C.UTF-8 + +# https://www.ruby-lang.org/en/news/2025/04/18/ruby-3-5-0-preview1-released/ +ENV RUBY_VERSION 3.5.0-preview1 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.xz +ENV RUBY_DOWNLOAD_SHA256 c6cc1e9f23fe4719b024b8305345ca0cff4e1bc159f3ebff86cb5b87969863aa + +# some of ruby's build scripts are written in ruby +# we purge system ruby later to make sure our final image uses what we just built +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + dpkg-dev \ + libgdbm-dev \ + ruby \ + autoconf \ + bzip2 \ + g++ \ + gcc \ + libbz2-dev \ + libffi-dev \ + libgdbm-compat-dev \ + libglib2.0-dev \ + libgmp-dev \ + libncurses-dev \ + libssl-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + wget \ + xz-utils \ + zlib1g-dev \ + ; \ + \ + rustArch=; \ + dpkgArch="$(dpkg --print-architecture)"; \ + case "$dpkgArch" in \ + 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init'; rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' ;; \ + 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init'; rustupSha256='1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2' ;; \ + esac; \ + \ + if [ -n "$rustArch" ]; then \ + mkdir -p /tmp/rust; \ + \ + wget -O /tmp/rust/rustup-init "$rustupUrl"; \ + echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; \ + chmod +x /tmp/rust/rustup-init; \ + \ + export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; \ + export PATH="$CARGO_HOME/bin:$PATH"; \ + /tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.84.0' --default-host "$rustArch"; \ + \ + rustc --version; \ + cargo --version; \ + fi; \ + \ + wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ + echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ + \ + mkdir -p /usr/src/ruby; \ + tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; \ + rm ruby.tar.xz; \ + \ + cd /usr/src/ruby; \ + \ + autoconf; \ + gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \ + ./configure \ + --build="$gnuArch" \ + --disable-install-doc \ + --enable-shared \ + ${rustArch:+--enable-yjit} \ + ; \ + make -j "$(nproc)"; \ + make install; \ + \ + rm -rf /tmp/rust; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark > /dev/null; \ + find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + ; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/*; \ + \ + cd /; \ + rm -r /usr/src/ruby; \ +# verify we have no "ruby" packages installed + if dpkg -l | grep -i ruby; then exit 1; fi; \ + [ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; \ +# rough smoke test + ruby --version; \ + gem --version; \ + bundle --version + +# don't create ".bundle" in all our apps +ENV GEM_HOME /usr/local/bundle +ENV BUNDLE_SILENCE_ROOT_WARNING=1 \ + BUNDLE_APP_CONFIG="$GEM_HOME" +ENV PATH $GEM_HOME/bin:$PATH +RUN set -eux; \ + mkdir "$GEM_HOME"; \ +# adjust permissions of GEM_HOME for running "gem install" as an arbitrary user + chmod 1777 "$GEM_HOME" + +CMD [ "irb" ] diff --git a/versions.json b/versions.json index d76b580e62..941205fb85 100644 --- a/versions.json +++ b/versions.json @@ -208,5 +208,82 @@ }, "version": "1.27.1" } + }, + "3.5": null, + "3.5-rc": { + "version": "3.5.0-preview1", + "date": "2025-04-18", + "post": "/en/news/2025/04/18/ruby-3-5-0-preview1-released/", + "tag": "v3_5_0_preview1", + "stats": { + "files_changed": 2065, + "insertions": 36581, + "deletions": 203037 + }, + "url": { + "gz": "https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.5/ruby-3.5.0-preview1.tar.xz" + }, + "size": { + "gz": 23146162, + "zip": 28548713, + "xz": 17443928 + }, + "sha1": { + "gz": "ee0fcfe1342116f05060279ff0c9eb1e215db0b9", + "zip": "bd0c32bc84ac1ce9edbc9c0a50e8c72e56b1229d", + "xz": "8a78a9189afa20cde42207a466bcf7d421ee144b" + }, + "sha256": { + "gz": "ecf09c7eb902e91cdaf9cc553cd00cca9b848b3fc0e14297850f9ab08cdd46f0", + "zip": "3e1d9df578c69976a01a69b961819d00c4e8942f8b5fe4fb8e135fca4f7e7e5e", + "xz": "c6cc1e9f23fe4719b024b8305345ca0cff4e1bc159f3ebff86cb5b87969863aa" + }, + "sha512": { + "gz": "d718973648705636eff5933a0919132fd1f6b9afea432e09cce1265c6e0125e11cc94dbff84cba1caefc03190c48d8af4a27337d2af031f3f1660ca3a3531211", + "zip": "47057e1615b2b59d5bbd0d6629e1320ed74f3d70748f1db4e8b88d6c8a3ecd255eacc7dac0cccd01923fae4b4dff9e6b9457a9858c81dab81c1ab9ee514b15fa", + "xz": "835bd0b65d546722c83b0ab454256357b48898a0de9aa8e38966f53d2370a6e99552eeaff76a0b680aefbbe7491e701e5e7357797e50f063c53e79d9561c1dac" + }, + "variants": [ + "bookworm", + "slim-bookworm", + "bullseye", + "slim-bullseye", + "alpine3.21", + "alpine3.20" + ], + "rust": { + "version": "1.84.0" + }, + "rustup": { + "arches": { + "amd64": { + "glibc": { + "arch": "x86_64-unknown-linux-gnu", + "sha256": "6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "x86_64-unknown-linux-musl", + "sha256": "1455d1df3825c5f24ba06d9dd1c7052908272a2cae9aa749ea49d67acbe22b47", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/x86_64-unknown-linux-musl/rustup-init" + } + }, + "arm64v8": { + "glibc": { + "arch": "aarch64-unknown-linux-gnu", + "sha256": "1cffbf51e63e634c746f741de50649bbbcbd9dbe1de363c9ecef64e278dba2b2", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-gnu/rustup-init" + }, + "musl": { + "arch": "aarch64-unknown-linux-musl", + "sha256": "7087ada906cd27a00c8e0323401a46804a03a742bd07811da6dead016617cc64", + "url": "https://static.rust-lang.org/rustup/archive/1.27.1/aarch64-unknown-linux-musl/rustup-init" + } + } + }, + "version": "1.27.1" + } } } From 1630a4622130d562bcb4cc0265b9d8b1494ce2fd Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Tue, 6 May 2025 13:42:23 +0200 Subject: [PATCH 130/132] Remove `.rust.version` check All versions are build with rust, so it is always present --- Dockerfile.template | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Dockerfile.template b/Dockerfile.template index 9c77298098..9f9a68542e 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -113,7 +113,6 @@ RUN set -eux; \ {{ ) else "" end -}} ; \ {{ ) end -}} -{{ if .rust.version then ( -}} \ rustArch=; \ {{ def archVar: if is_alpine then "apkArch" else "dpkgArch" end -}} @@ -181,7 +180,6 @@ RUN set -eux; \ rustc --version; \ cargo --version; \ fi; \ -{{ ) else "" end -}} \ wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; \ echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; \ @@ -208,16 +206,12 @@ RUN set -eux; \ --build="$gnuArch" \ --disable-install-doc \ --enable-shared \ -{{ if .rust.version then ( -}} ${rustArch:+--enable-yjit} \ -{{ ) else "" end -}} ; \ make -j "$(nproc)"; \ make install; \ \ -{{ if .rust.version then ( -}} rm -rf /tmp/rust; \ -{{ ) else "" end -}} {{ if is_alpine then ( -}} runDeps="$( \ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ From 7d865400f938b2597b3feffbd900040c11b41eed Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Wed, 14 May 2025 16:03:19 -0700 Subject: [PATCH 131/132] Update 3.4 to 3.4.4 --- 3.4/alpine3.20/Dockerfile | 8 ++++---- 3.4/alpine3.21/Dockerfile | 8 ++++---- 3.4/bookworm/Dockerfile | 8 ++++---- 3.4/bullseye/Dockerfile | 8 ++++---- 3.4/slim-bookworm/Dockerfile | 8 ++++---- 3.4/slim-bullseye/Dockerfile | 8 ++++---- versions.json | 36 ++++++++++++++++++------------------ 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.20/Dockerfile index 866b27472d..32c7ff4e9c 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.20/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ -ENV RUBY_VERSION 3.4.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd +# https://www.ruby-lang.org/en/news/2025/05/14/ruby-3-4-4-released/ +ENV RUBY_VERSION 3.4.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f76d63efe9499dedd8526b74365c0c811af00dc9feb0bed7f5356488476e28f4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/alpine3.21/Dockerfile b/3.4/alpine3.21/Dockerfile index fae4148fe5..64acc59b1b 100644 --- a/3.4/alpine3.21/Dockerfile +++ b/3.4/alpine3.21/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ -ENV RUBY_VERSION 3.4.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd +# https://www.ruby-lang.org/en/news/2025/05/14/ruby-3-4-4-released/ +ENV RUBY_VERSION 3.4.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f76d63efe9499dedd8526b74365c0c811af00dc9feb0bed7f5356488476e28f4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/bookworm/Dockerfile b/3.4/bookworm/Dockerfile index 591c6d6c5a..254f64947e 100644 --- a/3.4/bookworm/Dockerfile +++ b/3.4/bookworm/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ -ENV RUBY_VERSION 3.4.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd +# https://www.ruby-lang.org/en/news/2025/05/14/ruby-3-4-4-released/ +ENV RUBY_VERSION 3.4.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f76d63efe9499dedd8526b74365c0c811af00dc9feb0bed7f5356488476e28f4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/bullseye/Dockerfile b/3.4/bullseye/Dockerfile index 58ac4f272b..b9fe02e316 100644 --- a/3.4/bullseye/Dockerfile +++ b/3.4/bullseye/Dockerfile @@ -13,10 +13,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ -ENV RUBY_VERSION 3.4.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd +# https://www.ruby-lang.org/en/news/2025/05/14/ruby-3-4-4-released/ +ENV RUBY_VERSION 3.4.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f76d63efe9499dedd8526b74365c0c811af00dc9feb0bed7f5356488476e28f4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/slim-bookworm/Dockerfile b/3.4/slim-bookworm/Dockerfile index 7d973c2233..c758f7d4b2 100644 --- a/3.4/slim-bookworm/Dockerfile +++ b/3.4/slim-bookworm/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ -ENV RUBY_VERSION 3.4.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd +# https://www.ruby-lang.org/en/news/2025/05/14/ruby-3-4-4-released/ +ENV RUBY_VERSION 3.4.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f76d63efe9499dedd8526b74365c0c811af00dc9feb0bed7f5356488476e28f4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/3.4/slim-bullseye/Dockerfile b/3.4/slim-bullseye/Dockerfile index 7ab39e74de..66e770c11d 100644 --- a/3.4/slim-bullseye/Dockerfile +++ b/3.4/slim-bullseye/Dockerfile @@ -20,10 +20,10 @@ RUN set -eux; \ ENV LANG C.UTF-8 -# https://www.ruby-lang.org/en/news/2025/04/14/ruby-3-4-3-released/ -ENV RUBY_VERSION 3.4.3 -ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz -ENV RUBY_DOWNLOAD_SHA256 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd +# https://www.ruby-lang.org/en/news/2025/05/14/ruby-3-4-4-released/ +ENV RUBY_VERSION 3.4.4 +ENV RUBY_DOWNLOAD_URL https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.xz +ENV RUBY_DOWNLOAD_SHA256 f76d63efe9499dedd8526b74365c0c811af00dc9feb0bed7f5356488476e28f4 # some of ruby's build scripts are written in ruby # we purge system ruby later to make sure our final image uses what we just built diff --git a/versions.json b/versions.json index 941205fb85..8283ab0335 100644 --- a/versions.json +++ b/versions.json @@ -140,33 +140,33 @@ } }, "3.4": { - "version": "3.4.3", - "date": "2025-04-14", - "post": "/en/news/2025/04/14/ruby-3-4-3-released/", + "version": "3.4.4", + "date": "2025-05-14", + "post": "/en/news/2025/05/14/ruby-3-4-4-released/", "url": { - "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.gz", - "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.zip", - "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.3.tar.xz" + "gz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.gz", + "zip": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.zip", + "xz": "https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.4.tar.xz" }, "size": { - "gz": 23194448, - "zip": 28356998, - "xz": 17230984 + "gz": 23204581, + "zip": 28372208, + "xz": 17255388 }, "sha1": { - "gz": "c269cd122ab9d4620a1e0e6a8f4de378deec3799", - "zip": "87cb747a766660cf487a2e9dbbc7a18a8f6b65d9", - "xz": "d0d86fdfe6bcf9f2eb3b450f3209f655ceda86da" + "gz": "aff18f17868d076f4516ea4209931ad55b264f73", + "zip": "77377010d19109939fe11cadf1c210deda8ec202", + "xz": "83ddf983c194b353634e91a86b466ce0d01bff39" }, "sha256": { - "gz": "55a4cd1dcbe5ca27cf65e89a935a482c2bb2284832939266551c0ec68b437f46", - "zip": "06b8bf2ddf2642327c992d30f5d414ffa5a5df0c4c706d7b2507b42509fb5055", - "xz": "174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd" + "gz": "a0597bfdf312e010efd1effaa8d7f1d7833146fdc17950caa8158ffa3dcbfa85", + "zip": "7c64e2c303ef8433e01cb3afd9be094707a9aa60355fcee08d12ca90e1e46399", + "xz": "f76d63efe9499dedd8526b74365c0c811af00dc9feb0bed7f5356488476e28f4" }, "sha512": { - "gz": "7019889939713c3e649003fed4d973dced36239fc354cfdee2d01dbdeb7e8512881a31b00efc3d5017f08cd492aed7914d15927bc8d076c0cae7534273e471e9", - "zip": "b25289c899318ce5071b075fc1b75f602e0a543faeefa44df7e8064933500f9c357685fe21d09abc4034d481c22c89491c841f596d07e1cd269d800e6266cc24", - "xz": "b30aad675cdcc1bdfe9e5fffe9d1925db3b3ac854a5e34180c368bc6e66f73e29ba5d802fea249353b7d799c01384c58bdd763fd1b679303158baa7824b9c08e" + "gz": "ec52e338a9558e5fb0975be4249ff47a2d8c7926d8ae3af58f4e5a233f400f75da88ce8254bac7a8cd7a6b0b87fd4eb7315944c76be43719782bd0c16040197b", + "zip": "f8dada5fae978b3eb82ed6863d3e8e25dfd90b3348eace2400d7428b0a1a9362bf88dc3138ef4b68bc5aaff781e90388e428390f5f55c5667fd24e4754544814", + "xz": "0d258cf790daad424c866404b5cbdc8adba0e4e13764847a89adf2335229e5184095c9f3e9594705897697e48bcc322d9a9f919b04047abb2075daca9fce8871" }, "variants": [ "bookworm", From 7d367fd4559ed09fedea90e1184638b36cfb64d2 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Fri, 30 May 2025 14:16:58 -0700 Subject: [PATCH 132/132] Add Alpine 3.22 (remove Alpine 3.20) --- 3.2/{alpine3.20 => alpine3.22}/Dockerfile | 2 +- 3.3/{alpine3.20 => alpine3.22}/Dockerfile | 2 +- 3.4/{alpine3.20 => alpine3.22}/Dockerfile | 2 +- 3.5-rc/{alpine3.20 => alpine3.22}/Dockerfile | 2 +- versions.json | 16 ++++++++-------- versions.sh | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) rename 3.2/{alpine3.20 => alpine3.22}/Dockerfile (99%) rename 3.3/{alpine3.20 => alpine3.22}/Dockerfile (99%) rename 3.4/{alpine3.20 => alpine3.22}/Dockerfile (99%) rename 3.5-rc/{alpine3.20 => alpine3.22}/Dockerfile (99%) diff --git a/3.2/alpine3.20/Dockerfile b/3.2/alpine3.22/Dockerfile similarity index 99% rename from 3.2/alpine3.20/Dockerfile rename to 3.2/alpine3.22/Dockerfile index e47593ef3a..16dd9848a5 100644 --- a/3.2/alpine3.20/Dockerfile +++ b/3.2/alpine3.22/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.20 +FROM alpine:3.22 # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ diff --git a/3.3/alpine3.20/Dockerfile b/3.3/alpine3.22/Dockerfile similarity index 99% rename from 3.3/alpine3.20/Dockerfile rename to 3.3/alpine3.22/Dockerfile index 07fc6138bd..c4529641e2 100644 --- a/3.3/alpine3.20/Dockerfile +++ b/3.3/alpine3.22/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.20 +FROM alpine:3.22 # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ diff --git a/3.4/alpine3.20/Dockerfile b/3.4/alpine3.22/Dockerfile similarity index 99% rename from 3.4/alpine3.20/Dockerfile rename to 3.4/alpine3.22/Dockerfile index 32c7ff4e9c..6120a0ccdd 100644 --- a/3.4/alpine3.20/Dockerfile +++ b/3.4/alpine3.22/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.20 +FROM alpine:3.22 # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ diff --git a/3.5-rc/alpine3.20/Dockerfile b/3.5-rc/alpine3.22/Dockerfile similarity index 99% rename from 3.5-rc/alpine3.20/Dockerfile rename to 3.5-rc/alpine3.22/Dockerfile index 100d0d5bad..412062066f 100644 --- a/3.5-rc/alpine3.20/Dockerfile +++ b/3.5-rc/alpine3.22/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.20 +FROM alpine:3.22 # skip installing gem documentation with `gem install`/`gem update` RUN set -eux; \ diff --git a/versions.json b/versions.json index 8283ab0335..61e1e627b6 100644 --- a/versions.json +++ b/versions.json @@ -33,8 +33,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.21", - "alpine3.20" + "alpine3.22", + "alpine3.21" ], "rust": { "version": "1.84.0" @@ -103,8 +103,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.21", - "alpine3.20" + "alpine3.22", + "alpine3.21" ], "rust": { "version": "1.84.0" @@ -173,8 +173,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.21", - "alpine3.20" + "alpine3.22", + "alpine3.21" ], "rust": { "version": "1.84.0" @@ -250,8 +250,8 @@ "slim-bookworm", "bullseye", "slim-bullseye", - "alpine3.21", - "alpine3.20" + "alpine3.22", + "alpine3.21" ], "rust": { "version": "1.84.0" diff --git a/versions.sh b/versions.sh index 689ee3b4d1..9bcde726a3 100755 --- a/versions.sh +++ b/versions.sh @@ -88,8 +88,8 @@ for version in "${versions[@]}"; do empty # trailing comma hack | ., "slim-" + .), # https://github.com/docker-library/ruby/pull/142#issuecomment-320012893 ( + "3.22", "3.21", - "3.20", empty # trailing comma hack | "alpine" + .) ]