Skip to content

Conversation

@yosifkit
Copy link
Member

Changes:

Changes:

- docker-library/ruby@4a6fd7b: Merge pull request docker-library/ruby#515 from Earlopain/trixie
- docker-library/ruby@26c507e: Add debian trixie/Drop debian bullseye
@github-actions
Copy link

Diff for bafa1ac:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 0563e2b..dccb8a5 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -11,25 +11,25 @@ Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
 GitCommit: 33e4f980322b70f078a64d9e61eae1af040df5c2
 Directory: 3.2/alpine3.22
 
-Tags: 3.2.9-bookworm, 3.2-bookworm, 3.2.9, 3.2
+Tags: 3.2.9-bookworm, 3.2-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 33e4f980322b70f078a64d9e61eae1af040df5c2
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
 Directory: 3.2/bookworm
 
-Tags: 3.2.9-bullseye, 3.2-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 33e4f980322b70f078a64d9e61eae1af040df5c2
-Directory: 3.2/bullseye
-
-Tags: 3.2.9-slim-bookworm, 3.2-slim-bookworm, 3.2.9-slim, 3.2-slim
+Tags: 3.2.9-slim-bookworm, 3.2-slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 33e4f980322b70f078a64d9e61eae1af040df5c2
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
 Directory: 3.2/slim-bookworm
 
-Tags: 3.2.9-slim-bullseye, 3.2-slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 33e4f980322b70f078a64d9e61eae1af040df5c2
-Directory: 3.2/slim-bullseye
+Tags: 3.2.9-slim-trixie, 3.2-slim-trixie, 3.2.9-slim, 3.2-slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
+Directory: 3.2/slim-trixie
+
+Tags: 3.2.9-trixie, 3.2-trixie, 3.2.9, 3.2
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
+Directory: 3.2/trixie
 
 Tags: 3.3.9-alpine3.21, 3.3-alpine3.21
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
@@ -41,25 +41,25 @@ Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
 GitCommit: 7381a0d50ab2347b8e3fe4ea3068ee18b0b60115
 Directory: 3.3/alpine3.22
 
-Tags: 3.3.9-bookworm, 3.3-bookworm, 3.3.9, 3.3
+Tags: 3.3.9-bookworm, 3.3-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 7381a0d50ab2347b8e3fe4ea3068ee18b0b60115
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
 Directory: 3.3/bookworm
 
-Tags: 3.3.9-bullseye, 3.3-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 7381a0d50ab2347b8e3fe4ea3068ee18b0b60115
-Directory: 3.3/bullseye
-
-Tags: 3.3.9-slim-bookworm, 3.3-slim-bookworm, 3.3.9-slim, 3.3-slim
+Tags: 3.3.9-slim-bookworm, 3.3-slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 7381a0d50ab2347b8e3fe4ea3068ee18b0b60115
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
 Directory: 3.3/slim-bookworm
 
-Tags: 3.3.9-slim-bullseye, 3.3-slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 7381a0d50ab2347b8e3fe4ea3068ee18b0b60115
-Directory: 3.3/slim-bullseye
+Tags: 3.3.9-slim-trixie, 3.3-slim-trixie, 3.3.9-slim, 3.3-slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
+Directory: 3.3/slim-trixie
+
+Tags: 3.3.9-trixie, 3.3-trixie, 3.3.9, 3.3
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
+Directory: 3.3/trixie
 
 Tags: 3.4.5-alpine3.21, 3.4-alpine3.21, 3-alpine3.21, alpine3.21
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
@@ -71,25 +71,25 @@ Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
 GitCommit: 3c44d7ea4e3913a0792bc55cd4509150acd6ebcf
 Directory: 3.4/alpine3.22
 
-Tags: 3.4.5-bookworm, 3.4-bookworm, 3-bookworm, bookworm, 3.4.5, 3.4, 3, latest
+Tags: 3.4.5-bookworm, 3.4-bookworm, 3-bookworm, bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 3c44d7ea4e3913a0792bc55cd4509150acd6ebcf
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
 Directory: 3.4/bookworm
 
-Tags: 3.4.5-bullseye, 3.4-bullseye, 3-bullseye, bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 3c44d7ea4e3913a0792bc55cd4509150acd6ebcf
-Directory: 3.4/bullseye
-
-Tags: 3.4.5-slim-bookworm, 3.4-slim-bookworm, 3-slim-bookworm, slim-bookworm, 3.4.5-slim, 3.4-slim, 3-slim, slim
+Tags: 3.4.5-slim-bookworm, 3.4-slim-bookworm, 3-slim-bookworm, slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: 3c44d7ea4e3913a0792bc55cd4509150acd6ebcf
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
 Directory: 3.4/slim-bookworm
 
-Tags: 3.4.5-slim-bullseye, 3.4-slim-bullseye, 3-slim-bullseye, slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: 3c44d7ea4e3913a0792bc55cd4509150acd6ebcf
-Directory: 3.4/slim-bullseye
+Tags: 3.4.5-slim-trixie, 3.4-slim-trixie, 3-slim-trixie, slim-trixie, 3.4.5-slim, 3.4-slim, 3-slim, slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
+Directory: 3.4/slim-trixie
+
+Tags: 3.4.5-trixie, 3.4-trixie, 3-trixie, trixie, 3.4.5, 3.4, 3, latest
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
+Directory: 3.4/trixie
 
 Tags: 3.5.0-preview1-alpine3.21, 3.5-rc-alpine3.21
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
@@ -101,22 +101,22 @@ Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
 GitCommit: 7d367fd4559ed09fedea90e1184638b36cfb64d2
 Directory: 3.5-rc/alpine3.22
 
-Tags: 3.5.0-preview1-bookworm, 3.5-rc-bookworm, 3.5.0-preview1, 3.5-rc
+Tags: 3.5.0-preview1-bookworm, 3.5-rc-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: f0bf5f365387703579af740f915b6f32c4ee4c28
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
 Directory: 3.5-rc/bookworm
 
-Tags: 3.5.0-preview1-bullseye, 3.5-rc-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: f0bf5f365387703579af740f915b6f32c4ee4c28
-Directory: 3.5-rc/bullseye
-
-Tags: 3.5.0-preview1-slim-bookworm, 3.5-rc-slim-bookworm, 3.5.0-preview1-slim, 3.5-rc-slim
+Tags: 3.5.0-preview1-slim-bookworm, 3.5-rc-slim-bookworm
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-GitCommit: f0bf5f365387703579af740f915b6f32c4ee4c28
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
 Directory: 3.5-rc/slim-bookworm
 
-Tags: 3.5.0-preview1-slim-bullseye, 3.5-rc-slim-bullseye
-Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: f0bf5f365387703579af740f915b6f32c4ee4c28
-Directory: 3.5-rc/slim-bullseye
+Tags: 3.5.0-preview1-slim-trixie, 3.5-rc-slim-trixie, 3.5.0-preview1-slim, 3.5-rc-slim
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
+Directory: 3.5-rc/slim-trixie
+
+Tags: 3.5.0-preview1-trixie, 3.5-rc-trixie, 3.5.0-preview1, 3.5-rc
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 26c507eea2fc314ad774636f40acac38233bf942
+Directory: 3.5-rc/trixie
diff --git a/_bashbrew-list b/_bashbrew-list
index d89ec65..8ddbace 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -3,88 +3,88 @@ ruby:3-alpine
 ruby:3-alpine3.21
 ruby:3-alpine3.22
 ruby:3-bookworm
-ruby:3-bullseye
 ruby:3-slim
 ruby:3-slim-bookworm
-ruby:3-slim-bullseye
+ruby:3-slim-trixie
+ruby:3-trixie
 ruby:3.2
 ruby:3.2-alpine
 ruby:3.2-alpine3.21
 ruby:3.2-alpine3.22
 ruby:3.2-bookworm
-ruby:3.2-bullseye
 ruby:3.2-slim
 ruby:3.2-slim-bookworm
-ruby:3.2-slim-bullseye
+ruby:3.2-slim-trixie
+ruby:3.2-trixie
 ruby:3.2.9
 ruby:3.2.9-alpine
 ruby:3.2.9-alpine3.21
 ruby:3.2.9-alpine3.22
 ruby:3.2.9-bookworm
-ruby:3.2.9-bullseye
 ruby:3.2.9-slim
 ruby:3.2.9-slim-bookworm
-ruby:3.2.9-slim-bullseye
+ruby:3.2.9-slim-trixie
+ruby:3.2.9-trixie
 ruby:3.3
 ruby:3.3-alpine
 ruby:3.3-alpine3.21
 ruby:3.3-alpine3.22
 ruby:3.3-bookworm
-ruby:3.3-bullseye
 ruby:3.3-slim
 ruby:3.3-slim-bookworm
-ruby:3.3-slim-bullseye
+ruby:3.3-slim-trixie
+ruby:3.3-trixie
 ruby:3.3.9
 ruby:3.3.9-alpine
 ruby:3.3.9-alpine3.21
 ruby:3.3.9-alpine3.22
 ruby:3.3.9-bookworm
-ruby:3.3.9-bullseye
 ruby:3.3.9-slim
 ruby:3.3.9-slim-bookworm
-ruby:3.3.9-slim-bullseye
+ruby:3.3.9-slim-trixie
+ruby:3.3.9-trixie
 ruby:3.4
 ruby:3.4-alpine
 ruby:3.4-alpine3.21
 ruby:3.4-alpine3.22
 ruby:3.4-bookworm
-ruby:3.4-bullseye
 ruby:3.4-slim
 ruby:3.4-slim-bookworm
-ruby:3.4-slim-bullseye
+ruby:3.4-slim-trixie
+ruby:3.4-trixie
 ruby:3.4.5
 ruby:3.4.5-alpine
 ruby:3.4.5-alpine3.21
 ruby:3.4.5-alpine3.22
 ruby:3.4.5-bookworm
-ruby:3.4.5-bullseye
 ruby:3.4.5-slim
 ruby:3.4.5-slim-bookworm
-ruby:3.4.5-slim-bullseye
+ruby:3.4.5-slim-trixie
+ruby:3.4.5-trixie
 ruby:3.5-rc
 ruby:3.5-rc-alpine
 ruby:3.5-rc-alpine3.21
 ruby:3.5-rc-alpine3.22
 ruby:3.5-rc-bookworm
-ruby:3.5-rc-bullseye
 ruby:3.5-rc-slim
 ruby:3.5-rc-slim-bookworm
-ruby:3.5-rc-slim-bullseye
+ruby:3.5-rc-slim-trixie
+ruby:3.5-rc-trixie
 ruby:3.5.0-preview1
 ruby:3.5.0-preview1-alpine
 ruby:3.5.0-preview1-alpine3.21
 ruby:3.5.0-preview1-alpine3.22
 ruby:3.5.0-preview1-bookworm
-ruby:3.5.0-preview1-bullseye
 ruby:3.5.0-preview1-slim
 ruby:3.5.0-preview1-slim-bookworm
-ruby:3.5.0-preview1-slim-bullseye
+ruby:3.5.0-preview1-slim-trixie
+ruby:3.5.0-preview1-trixie
 ruby:alpine
 ruby:alpine3.21
 ruby:alpine3.22
 ruby:bookworm
-ruby:bullseye
 ruby:latest
 ruby:slim
 ruby:slim-bookworm
-ruby:slim-bullseye
+ruby:slim-trixie
+ruby:trixie
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index f87633a..e416d7e 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -1,24 +1,24 @@
 ruby:3.2
 ruby:3.2-alpine
 ruby:3.2-alpine3.21
-ruby:3.2-bullseye
+ruby:3.2-bookworm
 ruby:3.2-slim
-ruby:3.2-slim-bullseye
+ruby:3.2-slim-bookworm
 ruby:3.3
 ruby:3.3-alpine
 ruby:3.3-alpine3.21
-ruby:3.3-bullseye
+ruby:3.3-bookworm
 ruby:3.3-slim
-ruby:3.3-slim-bullseye
+ruby:3.3-slim-bookworm
 ruby:3.5-rc
 ruby:3.5-rc-alpine
 ruby:3.5-rc-alpine3.21
-ruby:3.5-rc-bullseye
+ruby:3.5-rc-bookworm
 ruby:3.5-rc-slim
-ruby:3.5-rc-slim-bullseye
+ruby:3.5-rc-slim-bookworm
 ruby:alpine
 ruby:alpine3.21
-ruby:bullseye
+ruby:bookworm
 ruby:latest
 ruby:slim
-ruby:slim-bullseye
+ruby:slim-bookworm
diff --git a/ruby_3.2-bullseye/Dockerfile b/ruby_3.2-bookworm/Dockerfile
similarity index 93%
rename from ruby_3.2-bullseye/Dockerfile
rename to ruby_3.2-bookworm/Dockerfile
index b205235..b3bc483 100644
--- a/ruby_3.2-bullseye/Dockerfile
+++ b/ruby_3.2-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:bookworm
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -80,7 +80,8 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
diff --git a/ruby_3.2-slim-bullseye/Dockerfile b/ruby_3.2-slim-bookworm/Dockerfile
similarity index 94%
rename from ruby_3.2-slim-bullseye/Dockerfile
rename to ruby_3.2-slim-bookworm/Dockerfile
index 76afd63..f98bd9c 100644
--- a/ruby_3.2-slim-bullseye/Dockerfile
+++ b/ruby_3.2-slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 RUN set -eux; \
 	apt-get update; \
@@ -106,7 +106,8 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
diff --git a/ruby_3.2-slim/Dockerfile b/ruby_3.2-slim/Dockerfile
index b7057d0..790b4d7 100644
--- a/ruby_3.2-slim/Dockerfile
+++ b/ruby_3.2-slim/Dockerfile
@@ -4,14 +4,14 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 RUN set -eux; \
 	apt-get update; \
 	apt-get install -y --no-install-recommends \
 		ca-certificates \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -106,12 +106,13 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
+	apt-get dist-clean; \
 	\
 	cd /; \
 	rm -r /usr/src/ruby; \
diff --git a/ruby_3.2/Dockerfile b/ruby_3.2/Dockerfile
index 11f2e3f..5101672 100644
--- a/ruby_3.2/Dockerfile
+++ b/ruby_3.2/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bookworm
+FROM buildpack-deps:trixie
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -80,12 +80,13 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
+	apt-get dist-clean; \
 	\
 	cd /; \
 	rm -r /usr/src/ruby; \
diff --git a/ruby_3.3-bullseye/Dockerfile b/ruby_3.3-bookworm/Dockerfile
similarity index 93%
rename from ruby_3.3-bullseye/Dockerfile
rename to ruby_3.3-bookworm/Dockerfile
index bf468ae..ef0157c 100644
--- a/ruby_3.3-bullseye/Dockerfile
+++ b/ruby_3.3-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:bookworm
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -79,7 +79,8 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
diff --git a/ruby_3.3-slim-bullseye/Dockerfile b/ruby_3.3-slim-bookworm/Dockerfile
similarity index 94%
rename from ruby_3.3-slim-bullseye/Dockerfile
rename to ruby_3.3-slim-bookworm/Dockerfile
index e1291c8..a400305 100644
--- a/ruby_3.3-slim-bullseye/Dockerfile
+++ b/ruby_3.3-slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 RUN set -eux; \
 	apt-get update; \
@@ -104,7 +104,8 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
diff --git a/ruby_3.3-slim/Dockerfile b/ruby_3.3-slim/Dockerfile
index 1ee20ce..96ef30a 100644
--- a/ruby_3.3-slim/Dockerfile
+++ b/ruby_3.3-slim/Dockerfile
@@ -4,14 +4,14 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 RUN set -eux; \
 	apt-get update; \
 	apt-get install -y --no-install-recommends \
 		ca-certificates \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -104,12 +104,13 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
+	apt-get dist-clean; \
 	\
 	cd /; \
 	rm -r /usr/src/ruby; \
diff --git a/ruby_3.3/Dockerfile b/ruby_3.3/Dockerfile
index a6c3a71..b9aaf15 100644
--- a/ruby_3.3/Dockerfile
+++ b/ruby_3.3/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bookworm
+FROM buildpack-deps:trixie
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -79,12 +79,13 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
+	apt-get dist-clean; \
 	\
 	cd /; \
 	rm -r /usr/src/ruby; \
diff --git a/ruby_3.5-rc-bullseye/Dockerfile b/ruby_3.5-rc-bookworm/Dockerfile
similarity index 93%
rename from ruby_3.5-rc-bullseye/Dockerfile
rename to ruby_3.5-rc-bookworm/Dockerfile
index 2aa035a..abb1e8a 100644
--- a/ruby_3.5-rc-bullseye/Dockerfile
+++ b/ruby_3.5-rc-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:bookworm
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -79,7 +79,8 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
diff --git a/ruby_3.5-rc-slim-bullseye/Dockerfile b/ruby_3.5-rc-slim-bookworm/Dockerfile
similarity index 94%
rename from ruby_3.5-rc-slim-bullseye/Dockerfile
rename to ruby_3.5-rc-slim-bookworm/Dockerfile
index d538dae..9f359ea 100644
--- a/ruby_3.5-rc-slim-bullseye/Dockerfile
+++ b/ruby_3.5-rc-slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 RUN set -eux; \
 	apt-get update; \
@@ -104,7 +104,8 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
diff --git a/ruby_3.5-rc-slim/Dockerfile b/ruby_3.5-rc-slim/Dockerfile
index 7604e84..12f1096 100644
--- a/ruby_3.5-rc-slim/Dockerfile
+++ b/ruby_3.5-rc-slim/Dockerfile
@@ -4,14 +4,14 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 RUN set -eux; \
 	apt-get update; \
 	apt-get install -y --no-install-recommends \
 		ca-certificates \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -104,12 +104,13 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
+	apt-get dist-clean; \
 	\
 	cd /; \
 	rm -r /usr/src/ruby; \
diff --git a/ruby_3.5-rc/Dockerfile b/ruby_3.5-rc/Dockerfile
index 7e3b5a1..33b582a 100644
--- a/ruby_3.5-rc/Dockerfile
+++ b/ruby_3.5-rc/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bookworm
+FROM buildpack-deps:trixie
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -79,12 +79,13 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
+	apt-get dist-clean; \
 	\
 	cd /; \
 	rm -r /usr/src/ruby; \
diff --git a/ruby_bullseye/Dockerfile b/ruby_bookworm/Dockerfile
similarity index 93%
rename from ruby_bullseye/Dockerfile
rename to ruby_bookworm/Dockerfile
index e3c7445..49e6745 100644
--- a/ruby_bullseye/Dockerfile
+++ b/ruby_bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bullseye
+FROM buildpack-deps:bookworm
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -79,7 +79,8 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
diff --git a/ruby_latest/Dockerfile b/ruby_latest/Dockerfile
index 9c1ef3f..830ccb5 100644
--- a/ruby_latest/Dockerfile
+++ b/ruby_latest/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM buildpack-deps:bookworm
+FROM buildpack-deps:trixie
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -79,12 +79,13 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
+	apt-get dist-clean; \
 	\
 	cd /; \
 	rm -r /usr/src/ruby; \
diff --git a/ruby_slim-bullseye/Dockerfile b/ruby_slim-bookworm/Dockerfile
similarity index 94%
rename from ruby_slim-bullseye/Dockerfile
rename to ruby_slim-bookworm/Dockerfile
index 31cdaaa..601a195 100644
--- a/ruby_slim-bullseye/Dockerfile
+++ b/ruby_slim-bookworm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bullseye-slim
+FROM debian:bookworm-slim
 
 RUN set -eux; \
 	apt-get update; \
@@ -104,7 +104,8 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
diff --git a/ruby_slim/Dockerfile b/ruby_slim/Dockerfile
index 935df7a..24a1a29 100644
--- a/ruby_slim/Dockerfile
+++ b/ruby_slim/Dockerfile
@@ -4,14 +4,14 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM debian:bookworm-slim
+FROM debian:trixie-slim
 
 RUN set -eux; \
 	apt-get update; \
 	apt-get install -y --no-install-recommends \
 		ca-certificates \
 	; \
-	rm -rf /var/lib/apt/lists/*
+	apt-get dist-clean
 
 # skip installing gem documentation with `gem install`/`gem update`
 RUN set -eux; \
@@ -104,12 +104,13 @@ RUN set -eux; \
 		| 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 \
+# https://manpages.debian.org/bookworm/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
+		| awk 'sub(":$", "", $1) { print $1 }' \
 		| sort -u \
 		| xargs -r apt-mark manual \
 	; \
 	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
+	apt-get dist-clean; \
 	\
 	cd /; \
 	rm -r /usr/src/ruby; \

Relevant Maintainers:

Copy link
Member

@tianon tianon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tianon tianon merged commit a4af0e0 into docker-library:master Aug 12, 2025
29 checks passed
@tianon tianon deleted the ruby branch August 12, 2025 22:07
Muscraft pushed a commit to Muscraft/official-images that referenced this pull request Aug 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants