From 959f644013fbb1bb69c45b883b89e681e3a1acd6 Mon Sep 17 00:00:00 2001 From: George Adams Date: Wed, 18 Sep 2024 11:31:48 +0100 Subject: [PATCH 1/2] add jdk23 to config file (remove 22) --- config/hotspot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/hotspot.yml b/config/hotspot.yml index ac002aa08..0652093f4 100644 --- a/config/hotspot.yml +++ b/config/hotspot.yml @@ -14,7 +14,7 @@ supported_distributions: OS: [alpine, focal, jammy, noble, ubi9-minimal, windowsservercore-1809, nanoserver-1809, windowsservercore-ltsc2022, nanoserver-ltsc2022] - Versions: [8, 11, 17, 21, 22] + Versions: [8, 11, 17, 21, 23] configurations: linux: From 931ea87ccb404cf278ab7eaa5785337c69df6359 Mon Sep 17 00:00:00 2001 From: George Adams Date: Wed, 18 Sep 2024 11:40:52 +0100 Subject: [PATCH 2/2] add dockefiles --- 22/jdk/ubuntu/noble/Dockerfile | 106 ------------------ 22/jre/ubuntu/jammy/entrypoint.sh | 104 ----------------- 22/jre/ubuntu/noble/Dockerfile | 99 ---------------- 22/jre/ubuntu/noble/entrypoint.sh | 104 ----------------- {22 => 23}/jdk/alpine/Dockerfile | 10 +- {22 => 23}/jdk/alpine/entrypoint.sh | 0 {22 => 23}/jdk/ubi/ubi9-minimal/Dockerfile | 18 ++- {22 => 23}/jdk/ubi/ubi9-minimal/entrypoint.sh | 0 .../jammy => 23/jdk/ubuntu/noble}/Dockerfile | 20 ++-- .../jdk/ubuntu/noble}/entrypoint.sh | 0 .../jdk/windows/nanoserver-1809/Dockerfile | 6 +- .../windows/nanoserver-ltsc2022/Dockerfile | 6 +- .../windows/windowsservercore-1809/Dockerfile | 12 +- .../windowsservercore-ltsc2022/Dockerfile | 12 +- {22 => 23}/jre/alpine/Dockerfile | 10 +- {22 => 23}/jre/alpine/entrypoint.sh | 0 {22 => 23}/jre/ubi/ubi9-minimal/Dockerfile | 18 ++- {22 => 23}/jre/ubi/ubi9-minimal/entrypoint.sh | 0 .../jammy => 23/jre/ubuntu/noble}/Dockerfile | 20 ++-- {22/jdk => 23/jre}/ubuntu/noble/entrypoint.sh | 0 .../jre/windows/nanoserver-1809/Dockerfile | 6 +- .../windows/nanoserver-ltsc2022/Dockerfile | 6 +- .../windows/windowsservercore-1809/Dockerfile | 12 +- .../windowsservercore-ltsc2022/Dockerfile | 12 +- dockerhub_doc_config_update.sh | 2 +- 25 files changed, 77 insertions(+), 506 deletions(-) delete mode 100644 22/jdk/ubuntu/noble/Dockerfile delete mode 100644 22/jre/ubuntu/jammy/entrypoint.sh delete mode 100644 22/jre/ubuntu/noble/Dockerfile delete mode 100644 22/jre/ubuntu/noble/entrypoint.sh rename {22 => 23}/jdk/alpine/Dockerfile (86%) rename {22 => 23}/jdk/alpine/entrypoint.sh (100%) rename {22 => 23}/jdk/ubi/ubi9-minimal/Dockerfile (73%) rename {22 => 23}/jdk/ubi/ubi9-minimal/entrypoint.sh (100%) rename {22/jdk/ubuntu/jammy => 23/jdk/ubuntu/noble}/Dockerfile (77%) rename {22/jdk/ubuntu/jammy => 23/jdk/ubuntu/noble}/entrypoint.sh (100%) rename {22 => 23}/jdk/windows/nanoserver-1809/Dockerfile (89%) rename {22 => 23}/jdk/windows/nanoserver-ltsc2022/Dockerfile (89%) rename {22 => 23}/jdk/windows/windowsservercore-1809/Dockerfile (79%) rename {22 => 23}/jdk/windows/windowsservercore-ltsc2022/Dockerfile (79%) rename {22 => 23}/jre/alpine/Dockerfile (84%) rename {22 => 23}/jre/alpine/entrypoint.sh (100%) rename {22 => 23}/jre/ubi/ubi9-minimal/Dockerfile (71%) rename {22 => 23}/jre/ubi/ubi9-minimal/entrypoint.sh (100%) rename {22/jre/ubuntu/jammy => 23/jre/ubuntu/noble}/Dockerfile (75%) rename {22/jdk => 23/jre}/ubuntu/noble/entrypoint.sh (100%) rename {22 => 23}/jre/windows/nanoserver-1809/Dockerfile (89%) rename {22 => 23}/jre/windows/nanoserver-ltsc2022/Dockerfile (89%) rename {22 => 23}/jre/windows/windowsservercore-1809/Dockerfile (81%) rename {22 => 23}/jre/windows/windowsservercore-ltsc2022/Dockerfile (81%) diff --git a/22/jdk/ubuntu/noble/Dockerfile b/22/jdk/ubuntu/noble/Dockerfile deleted file mode 100644 index f65312b12..000000000 --- a/22/jdk/ubuntu/noble/Dockerfile +++ /dev/null @@ -1,106 +0,0 @@ -# ------------------------------------------------------------------------------ -# NOTE: THIS FILE IS GENERATED VIA "generate_dockerfiles.py" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# ------------------------------------------------------------------------------ -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -FROM ubuntu:24.04 - -ENV JAVA_HOME=/opt/java/openjdk -ENV PATH=$JAVA_HOME/bin:$PATH - -# Default to UTF-8 file.encoding -ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' - -RUN set -eux; \ - apt-get update; \ - DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - wget \ - # java.lang.UnsatisfiedLinkError: libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory - # java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager - # https://github.com/docker-library/openjdk/pull/235#issuecomment-424466077 - fontconfig \ - # utilities for keeping Ubuntu and OpenJDK CA certificates in sync - # https://github.com/adoptium/containers/issues/293 - ca-certificates p11-kit \ - # jlink --strip-debug on 13+ needs objcopy: https://github.com/docker-library/openjdk/issues/351 - # Error: java.io.IOException: Cannot run program "objcopy": error=2, No such file or directory - binutils \ - tzdata \ - # locales ensures proper character encoding and locale-specific behaviors using en_US.UTF-8 - locales \ - ; \ - echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; \ - locale-gen en_US.UTF-8; \ - rm -rf /var/lib/apt/lists/* - -ENV JAVA_VERSION=jdk-22.0.2+9 - -RUN set -eux; \ - ARCH="$(dpkg --print-architecture)"; \ - case "${ARCH}" in \ - amd64) \ - ESUM='05cd9359dacb1a1730f7c54f57e0fed47942a5292eb56a3a0ee6b13b87457a43'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_x64_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - arm64) \ - ESUM='dac62747b5158c4bf4c4636432e3bdb9dea47f80f0c9d1d007f19bd5483b7d29'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_aarch64_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - ppc64el) \ - ESUM='1d678752d58e33ff951e75736b8415d6d7ae136b2421ca02e993f2603e9b259b'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_ppc64le_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - riscv64) \ - ESUM='830a0d006c2dae95c0855aa70e193dba637831b491ccd67333322dea31bcf389'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_riscv64_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - s390x) \ - ESUM='46527cfc560552f05c0462520d69d438f144a3dc8206687952387c910cdd4c40'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_s390x_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - *) \ - echo "Unsupported arch: ${ARCH}"; \ - exit 1; \ - ;; \ - esac; \ - wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; \ - echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ - mkdir -p "$JAVA_HOME"; \ - tar --extract \ - --file /tmp/openjdk.tar.gz \ - --directory "$JAVA_HOME" \ - --strip-components 1 \ - --no-same-owner \ - ; \ - rm -f /tmp/openjdk.tar.gz ${JAVA_HOME}/lib/src.zip; \ - # https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472 - find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \ - ldconfig; \ - # https://github.com/docker-library/openjdk/issues/212#issuecomment-420979840 - # https://openjdk.java.net/jeps/341 - java -Xshare:dump; - -RUN set -eux; \ - echo "Verifying install ..."; \ - fileEncoding="$(echo 'System.out.println(System.getProperty("file.encoding"))' | jshell -s -)"; [ "$fileEncoding" = 'UTF-8' ]; rm -rf ~/.java; \ - echo "javac --version"; javac --version; \ - echo "java --version"; java --version; \ - echo "Complete." -COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh -ENTRYPOINT ["/__cacert_entrypoint.sh"] - -CMD ["jshell"] diff --git a/22/jre/ubuntu/jammy/entrypoint.sh b/22/jre/ubuntu/jammy/entrypoint.sh deleted file mode 100644 index d51059c11..000000000 --- a/22/jre/ubuntu/jammy/entrypoint.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env bash -# ------------------------------------------------------------------------------ -# NOTE: THIS FILE IS GENERATED VIA "generate_dockerfiles.py" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# ------------------------------------------------------------------------------ -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# This script defines `sh` as the interpreter, which is available in all POSIX environments. However, it might get -# started with `bash` as the shell to support dotted.environment.variable.names which are not supported by POSIX, but -# are supported by `sh` in some Linux flavours. - -set -e - -TMPDIR=${TMPDIR:-/tmp} - -# JDK truststore location -JRE_CACERTS_PATH=$JAVA_HOME/lib/security/cacerts - -# Opt-in is only activated if the environment variable is set -if [ -n "$USE_SYSTEM_CA_CERTS" ]; then - - if [ ! -w "$TMPDIR" ]; then - echo "Using additional CA certificates requires write permissions to $TMPDIR. Cannot create truststore." - exit 1 - fi - - # Figure out whether we can write to the JVM truststore. If we can, we'll add the certificates there. If not, - # we'll use a temporary truststore. - if [ ! -w "$JRE_CACERTS_PATH" ]; then - # We cannot write to the JVM truststore, so we create a temporary one - JRE_CACERTS_PATH_NEW=$(mktemp) - echo "Using a temporary truststore at $JRE_CACERTS_PATH_NEW" - cp "$JRE_CACERTS_PATH" "$JRE_CACERTS_PATH_NEW" - JRE_CACERTS_PATH=$JRE_CACERTS_PATH_NEW - # If we use a custom truststore, we need to make sure that the JVM uses it - export JAVA_TOOL_OPTIONS="${JAVA_TOOL_OPTIONS} -Djavax.net.ssl.trustStore=${JRE_CACERTS_PATH} -Djavax.net.ssl.trustStorePassword=changeit" - fi - - tmp_store=$(mktemp) - - # Copy full system CA store to a temporary location - trust extract --overwrite --format=java-cacerts --filter=ca-anchors --purpose=server-auth "$tmp_store" > /dev/null - - # Add the system CA certificates to the JVM truststore. - keytool -importkeystore -destkeystore "$JRE_CACERTS_PATH" -srckeystore "$tmp_store" -srcstorepass changeit -deststorepass changeit -noprompt > /dev/null - - # Clean up the temporary truststore - rm -f "$tmp_store" - - # Import the additional certificate into JVM truststore - for i in /certificates/*crt; do - if [ ! -f "$i" ]; then - continue - fi - tmp_dir=$(mktemp -d) - BASENAME=$(basename "$i" .crt) - - # We might have multiple certificates in the file. Split this file into single files. The reason is that - # `keytool` does not accept multi-certificate files - csplit -s -z -b %02d.crt -f "$tmp_dir/$BASENAME-" "$i" '/-----BEGIN CERTIFICATE-----/' '{*}' - - for crt in "$tmp_dir/$BASENAME"-*; do - # Create an alias for the certificate - ALIAS=$(openssl x509 -in "$crt" -noout -subject -nameopt -space_eq | sed -n 's/^.*CN=\([^,]*\).*$/\1/p') - - # Add the certificate to the JVM truststore - keytool -import -noprompt -alias "$ALIAS" -file "$crt" -keystore "$JRE_CACERTS_PATH" -storepass changeit >/dev/null - done - done - - # Add additional certificates to the system CA store. This requires write permissions to several system - # locations, which is not possible in a container with read-only filesystem and/or non-root container. - if [ "$(id -u)" -eq 0 ]; then - - # Copy certificates from /certificates to the system truststore, but only if the directory exists and is not empty. - # The reason why this is not part of the opt-in is because it leaves open the option to mount certificates at the - # system location, for whatever reason. - if [ -d /certificates ] && [ "$(ls -A /certificates 2>/dev/null)" ]; then - cp -La /certificates/* /usr/local/share/ca-certificates/ - fi - update-ca-certificates - else - # If we are not root, we cannot update the system truststore. That's bad news for tools like `curl` and `wget`, - # but since the JVM is the primary focus here, we can live with that. - true - fi -fi - -# Let's provide a variable with the correct path for tools that want or need to use it -export JRE_CACERTS_PATH - -exec "$@" diff --git a/22/jre/ubuntu/noble/Dockerfile b/22/jre/ubuntu/noble/Dockerfile deleted file mode 100644 index 54439a09c..000000000 --- a/22/jre/ubuntu/noble/Dockerfile +++ /dev/null @@ -1,99 +0,0 @@ -# ------------------------------------------------------------------------------ -# NOTE: THIS FILE IS GENERATED VIA "generate_dockerfiles.py" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# ------------------------------------------------------------------------------ -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -FROM ubuntu:24.04 - -ENV JAVA_HOME=/opt/java/openjdk -ENV PATH=$JAVA_HOME/bin:$PATH - -# Default to UTF-8 file.encoding -ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' - -RUN set -eux; \ - apt-get update; \ - DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - wget \ - # java.lang.UnsatisfiedLinkError: libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory - # java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager - # https://github.com/docker-library/openjdk/pull/235#issuecomment-424466077 - fontconfig \ - # utilities for keeping Ubuntu and OpenJDK CA certificates in sync - # https://github.com/adoptium/containers/issues/293 - ca-certificates p11-kit \ - tzdata \ - # locales ensures proper character encoding and locale-specific behaviors using en_US.UTF-8 - locales \ - ; \ - echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; \ - locale-gen en_US.UTF-8; \ - rm -rf /var/lib/apt/lists/* - -ENV JAVA_VERSION=jdk-22.0.2+9 - -RUN set -eux; \ - ARCH="$(dpkg --print-architecture)"; \ - case "${ARCH}" in \ - amd64) \ - ESUM='41e401f287e1850631b259b483929462217ac6b1cc3c7359d80b1cc01ee5a666'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_x64_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - arm64) \ - ESUM='7cf494b51625505d1843ad032677d885bd8000a80d0d38396685f25acbdb5708'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_aarch64_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - ppc64el) \ - ESUM='132191d6f23ad1ac558de67e3e9913d047db07efd979eb84bf5dc20a651ffe61'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_ppc64le_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - riscv64) \ - ESUM='81aacc0ae75e65846e6207edf41b8c5927673eba5588eebc5ba8076ca9a6041c'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_riscv64_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - s390x) \ - ESUM='4d9bc998c29fffcbbf752e9d0bf32391928a9e7a46edb1c5706e0f55b34a0c56'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_s390x_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - *) \ - echo "Unsupported arch: ${ARCH}"; \ - exit 1; \ - ;; \ - esac; \ - wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; \ - echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ - mkdir -p "$JAVA_HOME"; \ - tar --extract \ - --file /tmp/openjdk.tar.gz \ - --directory "$JAVA_HOME" \ - --strip-components 1 \ - --no-same-owner \ - ; \ - rm -f /tmp/openjdk.tar.gz ${JAVA_HOME}/lib/src.zip; \ - # https://github.com/docker-library/openjdk/issues/331#issuecomment-498834472 - find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; \ - ldconfig; \ - # https://github.com/docker-library/openjdk/issues/212#issuecomment-420979840 - # https://openjdk.java.net/jeps/341 - java -Xshare:dump; - -RUN set -eux; \ - echo "Verifying install ..."; \ - echo "java --version"; java --version; \ - echo "Complete." -COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh -ENTRYPOINT ["/__cacert_entrypoint.sh"] diff --git a/22/jre/ubuntu/noble/entrypoint.sh b/22/jre/ubuntu/noble/entrypoint.sh deleted file mode 100644 index d51059c11..000000000 --- a/22/jre/ubuntu/noble/entrypoint.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env bash -# ------------------------------------------------------------------------------ -# NOTE: THIS FILE IS GENERATED VIA "generate_dockerfiles.py" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# ------------------------------------------------------------------------------ -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# This script defines `sh` as the interpreter, which is available in all POSIX environments. However, it might get -# started with `bash` as the shell to support dotted.environment.variable.names which are not supported by POSIX, but -# are supported by `sh` in some Linux flavours. - -set -e - -TMPDIR=${TMPDIR:-/tmp} - -# JDK truststore location -JRE_CACERTS_PATH=$JAVA_HOME/lib/security/cacerts - -# Opt-in is only activated if the environment variable is set -if [ -n "$USE_SYSTEM_CA_CERTS" ]; then - - if [ ! -w "$TMPDIR" ]; then - echo "Using additional CA certificates requires write permissions to $TMPDIR. Cannot create truststore." - exit 1 - fi - - # Figure out whether we can write to the JVM truststore. If we can, we'll add the certificates there. If not, - # we'll use a temporary truststore. - if [ ! -w "$JRE_CACERTS_PATH" ]; then - # We cannot write to the JVM truststore, so we create a temporary one - JRE_CACERTS_PATH_NEW=$(mktemp) - echo "Using a temporary truststore at $JRE_CACERTS_PATH_NEW" - cp "$JRE_CACERTS_PATH" "$JRE_CACERTS_PATH_NEW" - JRE_CACERTS_PATH=$JRE_CACERTS_PATH_NEW - # If we use a custom truststore, we need to make sure that the JVM uses it - export JAVA_TOOL_OPTIONS="${JAVA_TOOL_OPTIONS} -Djavax.net.ssl.trustStore=${JRE_CACERTS_PATH} -Djavax.net.ssl.trustStorePassword=changeit" - fi - - tmp_store=$(mktemp) - - # Copy full system CA store to a temporary location - trust extract --overwrite --format=java-cacerts --filter=ca-anchors --purpose=server-auth "$tmp_store" > /dev/null - - # Add the system CA certificates to the JVM truststore. - keytool -importkeystore -destkeystore "$JRE_CACERTS_PATH" -srckeystore "$tmp_store" -srcstorepass changeit -deststorepass changeit -noprompt > /dev/null - - # Clean up the temporary truststore - rm -f "$tmp_store" - - # Import the additional certificate into JVM truststore - for i in /certificates/*crt; do - if [ ! -f "$i" ]; then - continue - fi - tmp_dir=$(mktemp -d) - BASENAME=$(basename "$i" .crt) - - # We might have multiple certificates in the file. Split this file into single files. The reason is that - # `keytool` does not accept multi-certificate files - csplit -s -z -b %02d.crt -f "$tmp_dir/$BASENAME-" "$i" '/-----BEGIN CERTIFICATE-----/' '{*}' - - for crt in "$tmp_dir/$BASENAME"-*; do - # Create an alias for the certificate - ALIAS=$(openssl x509 -in "$crt" -noout -subject -nameopt -space_eq | sed -n 's/^.*CN=\([^,]*\).*$/\1/p') - - # Add the certificate to the JVM truststore - keytool -import -noprompt -alias "$ALIAS" -file "$crt" -keystore "$JRE_CACERTS_PATH" -storepass changeit >/dev/null - done - done - - # Add additional certificates to the system CA store. This requires write permissions to several system - # locations, which is not possible in a container with read-only filesystem and/or non-root container. - if [ "$(id -u)" -eq 0 ]; then - - # Copy certificates from /certificates to the system truststore, but only if the directory exists and is not empty. - # The reason why this is not part of the opt-in is because it leaves open the option to mount certificates at the - # system location, for whatever reason. - if [ -d /certificates ] && [ "$(ls -A /certificates 2>/dev/null)" ]; then - cp -La /certificates/* /usr/local/share/ca-certificates/ - fi - update-ca-certificates - else - # If we are not root, we cannot update the system truststore. That's bad news for tools like `curl` and `wget`, - # but since the JVM is the primary focus here, we can live with that. - true - fi -fi - -# Let's provide a variable with the correct path for tools that want or need to use it -export JRE_CACERTS_PATH - -exec "$@" diff --git a/22/jdk/alpine/Dockerfile b/23/jdk/alpine/Dockerfile similarity index 86% rename from 22/jdk/alpine/Dockerfile rename to 23/jdk/alpine/Dockerfile index 2086669c5..e4d9f4ff0 100644 --- a/22/jdk/alpine/Dockerfile +++ b/23/jdk/alpine/Dockerfile @@ -48,18 +48,18 @@ RUN set -eux; \ ; \ rm -rf /var/cache/apk/* -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 RUN set -eux; \ ARCH="$(apk --print-arch)"; \ case "${ARCH}" in \ aarch64) \ - ESUM='8ac93a2d5a55aabbc0f7156c2f9032026e87c185689d628ef8a4184b6e9ab006'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_aarch64_alpine-linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='7e842c9b8a44a5a21d83a3e38ae3b141cfbdb429dde70ff264d3da4bff44e1c7'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_aarch64_alpine-linux_hotspot_23_37.tar.gz'; \ ;; \ x86_64) \ - ESUM='49f73414824b1a7c268a611225fa4d7ce5e25600201e0f1cd59f94d1040b5264'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_x64_alpine-linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='bff4c78f30d8d173e622bf2f40c36113df47337fc6d1ee5105ed2459841165aa'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_x64_alpine-linux_hotspot_23_37.tar.gz'; \ ;; \ *) \ echo "Unsupported arch: ${ARCH}"; \ diff --git a/22/jdk/alpine/entrypoint.sh b/23/jdk/alpine/entrypoint.sh similarity index 100% rename from 22/jdk/alpine/entrypoint.sh rename to 23/jdk/alpine/entrypoint.sh diff --git a/22/jdk/ubi/ubi9-minimal/Dockerfile b/23/jdk/ubi/ubi9-minimal/Dockerfile similarity index 73% rename from 22/jdk/ubi/ubi9-minimal/Dockerfile rename to 23/jdk/ubi/ubi9-minimal/Dockerfile index ffe29b273..835c55570 100644 --- a/22/jdk/ubi/ubi9-minimal/Dockerfile +++ b/23/jdk/ubi/ubi9-minimal/Dockerfile @@ -44,26 +44,22 @@ RUN set -eux; \ ; \ microdnf clean all -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 RUN set -eux; \ ARCH="$(rpm --query --queryformat='%{ARCH}' rpm)"; \ case "${ARCH}" in \ aarch64) \ - ESUM='dac62747b5158c4bf4c4636432e3bdb9dea47f80f0c9d1d007f19bd5483b7d29'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_aarch64_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='e8043d1bd9c4f42c5cf7883aca1fc3ef6bcccf4a664f378818ac0fd4fb987b7e'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_aarch64_linux_hotspot_23_37.tar.gz'; \ ;; \ ppc64le) \ - ESUM='1d678752d58e33ff951e75736b8415d6d7ae136b2421ca02e993f2603e9b259b'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_ppc64le_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - s390x) \ - ESUM='46527cfc560552f05c0462520d69d438f144a3dc8206687952387c910cdd4c40'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_s390x_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='4d3b0609c783dea1f6a899bfc8c84b4000d1f48f39e2489d70050bbf2c7f7d9c'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_ppc64le_linux_hotspot_23_37.tar.gz'; \ ;; \ x86_64) \ - ESUM='05cd9359dacb1a1730f7c54f57e0fed47942a5292eb56a3a0ee6b13b87457a43'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_x64_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='630c4f3870056e7e005736ec1edc34ee63a9b45e2027582c52f53a9bf44314b8'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_x64_linux_hotspot_23_37.tar.gz'; \ ;; \ *) \ echo "Unsupported arch: ${ARCH}"; \ diff --git a/22/jdk/ubi/ubi9-minimal/entrypoint.sh b/23/jdk/ubi/ubi9-minimal/entrypoint.sh similarity index 100% rename from 22/jdk/ubi/ubi9-minimal/entrypoint.sh rename to 23/jdk/ubi/ubi9-minimal/entrypoint.sh diff --git a/22/jdk/ubuntu/jammy/Dockerfile b/23/jdk/ubuntu/noble/Dockerfile similarity index 77% rename from 22/jdk/ubuntu/jammy/Dockerfile rename to 23/jdk/ubuntu/noble/Dockerfile index f518473c2..40b3ca979 100644 --- a/22/jdk/ubuntu/jammy/Dockerfile +++ b/23/jdk/ubuntu/noble/Dockerfile @@ -17,7 +17,7 @@ # limitations under the License. # -FROM ubuntu:22.04 +FROM ubuntu:24.04 ENV JAVA_HOME=/opt/java/openjdk ENV PATH=$JAVA_HOME/bin:$PATH @@ -47,26 +47,22 @@ RUN set -eux; \ locale-gen en_US.UTF-8; \ rm -rf /var/lib/apt/lists/* -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 RUN set -eux; \ ARCH="$(dpkg --print-architecture)"; \ case "${ARCH}" in \ amd64) \ - ESUM='05cd9359dacb1a1730f7c54f57e0fed47942a5292eb56a3a0ee6b13b87457a43'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_x64_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='630c4f3870056e7e005736ec1edc34ee63a9b45e2027582c52f53a9bf44314b8'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_x64_linux_hotspot_23_37.tar.gz'; \ ;; \ arm64) \ - ESUM='dac62747b5158c4bf4c4636432e3bdb9dea47f80f0c9d1d007f19bd5483b7d29'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_aarch64_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='e8043d1bd9c4f42c5cf7883aca1fc3ef6bcccf4a664f378818ac0fd4fb987b7e'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_aarch64_linux_hotspot_23_37.tar.gz'; \ ;; \ ppc64el) \ - ESUM='1d678752d58e33ff951e75736b8415d6d7ae136b2421ca02e993f2603e9b259b'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_ppc64le_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - s390x) \ - ESUM='46527cfc560552f05c0462520d69d438f144a3dc8206687952387c910cdd4c40'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_s390x_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='4d3b0609c783dea1f6a899bfc8c84b4000d1f48f39e2489d70050bbf2c7f7d9c'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_ppc64le_linux_hotspot_23_37.tar.gz'; \ ;; \ *) \ echo "Unsupported arch: ${ARCH}"; \ diff --git a/22/jdk/ubuntu/jammy/entrypoint.sh b/23/jdk/ubuntu/noble/entrypoint.sh similarity index 100% rename from 22/jdk/ubuntu/jammy/entrypoint.sh rename to 23/jdk/ubuntu/noble/entrypoint.sh diff --git a/22/jdk/windows/nanoserver-1809/Dockerfile b/23/jdk/windows/nanoserver-1809/Dockerfile similarity index 89% rename from 22/jdk/windows/nanoserver-1809/Dockerfile rename to 23/jdk/windows/nanoserver-1809/Dockerfile index 46c9515dd..0a1d45c23 100644 --- a/22/jdk/windows/nanoserver-1809/Dockerfile +++ b/23/jdk/windows/nanoserver-1809/Dockerfile @@ -21,9 +21,9 @@ FROM mcr.microsoft.com/windows/nanoserver:1809 SHELL ["cmd", "/s", "/c"] -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 -ENV JAVA_HOME C:\\openjdk-22 +ENV JAVA_HOME C:\\openjdk-23 # "ERROR: Access to the registry path is denied." USER ContainerAdministrator RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ @@ -31,7 +31,7 @@ RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ && echo Complete. USER ContainerUser -COPY --from=eclipse-temurin:22.0.2_9-jdk-windowsservercore-1809 $JAVA_HOME $JAVA_HOME +COPY --from=eclipse-temurin:23_37-jdk-windowsservercore-1809 $JAVA_HOME $JAVA_HOME RUN echo Verifying install ... \ && echo javac --version && javac --version \ diff --git a/22/jdk/windows/nanoserver-ltsc2022/Dockerfile b/23/jdk/windows/nanoserver-ltsc2022/Dockerfile similarity index 89% rename from 22/jdk/windows/nanoserver-ltsc2022/Dockerfile rename to 23/jdk/windows/nanoserver-ltsc2022/Dockerfile index 36788c34c..5ffb8feed 100644 --- a/22/jdk/windows/nanoserver-ltsc2022/Dockerfile +++ b/23/jdk/windows/nanoserver-ltsc2022/Dockerfile @@ -21,9 +21,9 @@ FROM mcr.microsoft.com/windows/nanoserver:ltsc2022 SHELL ["cmd", "/s", "/c"] -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 -ENV JAVA_HOME C:\\openjdk-22 +ENV JAVA_HOME C:\\openjdk-23 # "ERROR: Access to the registry path is denied." USER ContainerAdministrator RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ @@ -31,7 +31,7 @@ RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ && echo Complete. USER ContainerUser -COPY --from=eclipse-temurin:22.0.2_9-jdk-windowsservercore-ltsc2022 $JAVA_HOME $JAVA_HOME +COPY --from=eclipse-temurin:23_37-jdk-windowsservercore-ltsc2022 $JAVA_HOME $JAVA_HOME RUN echo Verifying install ... \ && echo javac --version && javac --version \ diff --git a/22/jdk/windows/windowsservercore-1809/Dockerfile b/23/jdk/windows/windowsservercore-1809/Dockerfile similarity index 79% rename from 22/jdk/windows/windowsservercore-1809/Dockerfile rename to 23/jdk/windows/windowsservercore-1809/Dockerfile index 503d25f16..176c88373 100644 --- a/22/jdk/windows/windowsservercore-1809/Dockerfile +++ b/23/jdk/windows/windowsservercore-1809/Dockerfile @@ -22,12 +22,12 @@ FROM mcr.microsoft.com/windows/servercore:1809 # $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 -RUN Write-Host ('Downloading https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_x64_windows_hotspot_22.0.2_9.msi ...'); \ - curl.exe -LfsSo openjdk.msi https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_x64_windows_hotspot_22.0.2_9.msi ; \ - Write-Host ('Verifying sha256 (d961cb2e612223e94b0506c61e1360d11b8961eab822ff12fa9b8921c4627a25) ...'); \ - if ((Get-FileHash openjdk.msi -Algorithm sha256).Hash -ne 'd961cb2e612223e94b0506c61e1360d11b8961eab822ff12fa9b8921c4627a25') { \ +RUN Write-Host ('Downloading https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_x64_windows_hotspot_23_37.msi ...'); \ + curl.exe -LfsSo openjdk.msi https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_x64_windows_hotspot_23_37.msi ; \ + Write-Host ('Verifying sha256 (39b7594580597ab85b3b4769d945e70d1665b3b8167c70039db407d2fb36803f) ...'); \ + if ((Get-FileHash openjdk.msi -Algorithm sha256).Hash -ne '39b7594580597ab85b3b4769d945e70d1665b3b8167c70039db407d2fb36803f') { \ Write-Host 'FAILED!'; \ exit 1; \ }; \ @@ -36,7 +36,7 @@ RUN Write-Host ('Downloading https://github.com/adoptium/temurin22-binaries/rele \ Write-Host 'Installing using MSI ...'; \ $proc = Start-Process -FilePath "msiexec.exe" -ArgumentList '/i', 'openjdk.msi', '/L*V', 'C:\temp\OpenJDK.log', \ - '/quiet', 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome', 'INSTALLDIR=C:\openjdk-22' -Wait -Passthru; \ + '/quiet', 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome', 'INSTALLDIR=C:\openjdk-23' -Wait -Passthru; \ $proc.WaitForExit() ; \ if ($proc.ExitCode -ne 0) { \ Write-Host 'FAILED installing MSI!' ; \ diff --git a/22/jdk/windows/windowsservercore-ltsc2022/Dockerfile b/23/jdk/windows/windowsservercore-ltsc2022/Dockerfile similarity index 79% rename from 22/jdk/windows/windowsservercore-ltsc2022/Dockerfile rename to 23/jdk/windows/windowsservercore-ltsc2022/Dockerfile index 2ba0b5695..2e793126a 100644 --- a/22/jdk/windows/windowsservercore-ltsc2022/Dockerfile +++ b/23/jdk/windows/windowsservercore-ltsc2022/Dockerfile @@ -22,12 +22,12 @@ FROM mcr.microsoft.com/windows/servercore:ltsc2022 # $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 -RUN Write-Host ('Downloading https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_x64_windows_hotspot_22.0.2_9.msi ...'); \ - curl.exe -LfsSo openjdk.msi https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jdk_x64_windows_hotspot_22.0.2_9.msi ; \ - Write-Host ('Verifying sha256 (d961cb2e612223e94b0506c61e1360d11b8961eab822ff12fa9b8921c4627a25) ...'); \ - if ((Get-FileHash openjdk.msi -Algorithm sha256).Hash -ne 'd961cb2e612223e94b0506c61e1360d11b8961eab822ff12fa9b8921c4627a25') { \ +RUN Write-Host ('Downloading https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_x64_windows_hotspot_23_37.msi ...'); \ + curl.exe -LfsSo openjdk.msi https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jdk_x64_windows_hotspot_23_37.msi ; \ + Write-Host ('Verifying sha256 (39b7594580597ab85b3b4769d945e70d1665b3b8167c70039db407d2fb36803f) ...'); \ + if ((Get-FileHash openjdk.msi -Algorithm sha256).Hash -ne '39b7594580597ab85b3b4769d945e70d1665b3b8167c70039db407d2fb36803f') { \ Write-Host 'FAILED!'; \ exit 1; \ }; \ @@ -36,7 +36,7 @@ RUN Write-Host ('Downloading https://github.com/adoptium/temurin22-binaries/rele \ Write-Host 'Installing using MSI ...'; \ $proc = Start-Process -FilePath "msiexec.exe" -ArgumentList '/i', 'openjdk.msi', '/L*V', 'C:\temp\OpenJDK.log', \ - '/quiet', 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome', 'INSTALLDIR=C:\openjdk-22' -Wait -Passthru; \ + '/quiet', 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome', 'INSTALLDIR=C:\openjdk-23' -Wait -Passthru; \ $proc.WaitForExit() ; \ if ($proc.ExitCode -ne 0) { \ Write-Host 'FAILED installing MSI!' ; \ diff --git a/22/jre/alpine/Dockerfile b/23/jre/alpine/Dockerfile similarity index 84% rename from 22/jre/alpine/Dockerfile rename to 23/jre/alpine/Dockerfile index 600d752ef..6655fcf3b 100644 --- a/22/jre/alpine/Dockerfile +++ b/23/jre/alpine/Dockerfile @@ -45,18 +45,18 @@ RUN set -eux; \ ; \ rm -rf /var/cache/apk/* -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 RUN set -eux; \ ARCH="$(apk --print-arch)"; \ case "${ARCH}" in \ aarch64) \ - ESUM='749e7372a7dba0de632592fe55a0e387d96922c84dcdc039e0efc1f7ecfcd70e'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_aarch64_alpine-linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='858aa6b255164e535e2fd6cc8dfbf129327a9126ebb9e8f24115c2089efd36f3'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_aarch64_alpine-linux_hotspot_23_37.tar.gz'; \ ;; \ x86_64) \ - ESUM='459342f5210cfd185aeed05abdc052fcd61cf6ff066541919b786236d69c5737'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_x64_alpine-linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='7acbc972b0dd84ca10ec6f192b20e76445a22f4c5558e1657ff393e4868e9343'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_x64_alpine-linux_hotspot_23_37.tar.gz'; \ ;; \ *) \ echo "Unsupported arch: ${ARCH}"; \ diff --git a/22/jre/alpine/entrypoint.sh b/23/jre/alpine/entrypoint.sh similarity index 100% rename from 22/jre/alpine/entrypoint.sh rename to 23/jre/alpine/entrypoint.sh diff --git a/22/jre/ubi/ubi9-minimal/Dockerfile b/23/jre/ubi/ubi9-minimal/Dockerfile similarity index 71% rename from 22/jre/ubi/ubi9-minimal/Dockerfile rename to 23/jre/ubi/ubi9-minimal/Dockerfile index 6683f5183..8c35c7e45 100644 --- a/22/jre/ubi/ubi9-minimal/Dockerfile +++ b/23/jre/ubi/ubi9-minimal/Dockerfile @@ -44,26 +44,22 @@ RUN set -eux; \ ; \ microdnf clean all -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 RUN set -eux; \ ARCH="$(rpm --query --queryformat='%{ARCH}' rpm)"; \ case "${ARCH}" in \ aarch64) \ - ESUM='7cf494b51625505d1843ad032677d885bd8000a80d0d38396685f25acbdb5708'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_aarch64_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='ec45f4f9a4a98d8a0af24b508ca84a411ea88fac8abb8ad2cfca85cb3902ab5d'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_aarch64_linux_hotspot_23_37.tar.gz'; \ ;; \ ppc64le) \ - ESUM='132191d6f23ad1ac558de67e3e9913d047db07efd979eb84bf5dc20a651ffe61'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_ppc64le_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - s390x) \ - ESUM='4d9bc998c29fffcbbf752e9d0bf32391928a9e7a46edb1c5706e0f55b34a0c56'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_s390x_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='9120876c35b904ac041c5a021330a6f11d4e6c7537ce28bdbb7170b944673435'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_ppc64le_linux_hotspot_23_37.tar.gz'; \ ;; \ x86_64) \ - ESUM='41e401f287e1850631b259b483929462217ac6b1cc3c7359d80b1cc01ee5a666'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_x64_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='9c3c3d42ffb2603b328b7154fc9eb449ef87488b3cbeb24a497d46677c7fd44d'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_x64_linux_hotspot_23_37.tar.gz'; \ ;; \ *) \ echo "Unsupported arch: ${ARCH}"; \ diff --git a/22/jre/ubi/ubi9-minimal/entrypoint.sh b/23/jre/ubi/ubi9-minimal/entrypoint.sh similarity index 100% rename from 22/jre/ubi/ubi9-minimal/entrypoint.sh rename to 23/jre/ubi/ubi9-minimal/entrypoint.sh diff --git a/22/jre/ubuntu/jammy/Dockerfile b/23/jre/ubuntu/noble/Dockerfile similarity index 75% rename from 22/jre/ubuntu/jammy/Dockerfile rename to 23/jre/ubuntu/noble/Dockerfile index 16affc3f9..38d79a486 100644 --- a/22/jre/ubuntu/jammy/Dockerfile +++ b/23/jre/ubuntu/noble/Dockerfile @@ -17,7 +17,7 @@ # limitations under the License. # -FROM ubuntu:22.04 +FROM ubuntu:24.04 ENV JAVA_HOME=/opt/java/openjdk ENV PATH=$JAVA_HOME/bin:$PATH @@ -44,26 +44,22 @@ RUN set -eux; \ locale-gen en_US.UTF-8; \ rm -rf /var/lib/apt/lists/* -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 RUN set -eux; \ ARCH="$(dpkg --print-architecture)"; \ case "${ARCH}" in \ amd64) \ - ESUM='41e401f287e1850631b259b483929462217ac6b1cc3c7359d80b1cc01ee5a666'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_x64_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='9c3c3d42ffb2603b328b7154fc9eb449ef87488b3cbeb24a497d46677c7fd44d'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_x64_linux_hotspot_23_37.tar.gz'; \ ;; \ arm64) \ - ESUM='7cf494b51625505d1843ad032677d885bd8000a80d0d38396685f25acbdb5708'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_aarch64_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='ec45f4f9a4a98d8a0af24b508ca84a411ea88fac8abb8ad2cfca85cb3902ab5d'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_aarch64_linux_hotspot_23_37.tar.gz'; \ ;; \ ppc64el) \ - ESUM='132191d6f23ad1ac558de67e3e9913d047db07efd979eb84bf5dc20a651ffe61'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_ppc64le_linux_hotspot_22.0.2_9.tar.gz'; \ - ;; \ - s390x) \ - ESUM='4d9bc998c29fffcbbf752e9d0bf32391928a9e7a46edb1c5706e0f55b34a0c56'; \ - BINARY_URL='https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_s390x_linux_hotspot_22.0.2_9.tar.gz'; \ + ESUM='9120876c35b904ac041c5a021330a6f11d4e6c7537ce28bdbb7170b944673435'; \ + BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_ppc64le_linux_hotspot_23_37.tar.gz'; \ ;; \ *) \ echo "Unsupported arch: ${ARCH}"; \ diff --git a/22/jdk/ubuntu/noble/entrypoint.sh b/23/jre/ubuntu/noble/entrypoint.sh similarity index 100% rename from 22/jdk/ubuntu/noble/entrypoint.sh rename to 23/jre/ubuntu/noble/entrypoint.sh diff --git a/22/jre/windows/nanoserver-1809/Dockerfile b/23/jre/windows/nanoserver-1809/Dockerfile similarity index 89% rename from 22/jre/windows/nanoserver-1809/Dockerfile rename to 23/jre/windows/nanoserver-1809/Dockerfile index 08888ab21..f6b3a0e9e 100644 --- a/22/jre/windows/nanoserver-1809/Dockerfile +++ b/23/jre/windows/nanoserver-1809/Dockerfile @@ -21,9 +21,9 @@ FROM mcr.microsoft.com/windows/nanoserver:1809 SHELL ["cmd", "/s", "/c"] -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 -ENV JAVA_HOME C:\\openjdk-22 +ENV JAVA_HOME C:\\openjdk-23 # "ERROR: Access to the registry path is denied." USER ContainerAdministrator RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ @@ -31,7 +31,7 @@ RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ && echo Complete. USER ContainerUser -COPY --from=eclipse-temurin:22.0.2_9-jre-windowsservercore-1809 $JAVA_HOME $JAVA_HOME +COPY --from=eclipse-temurin:23_37-jre-windowsservercore-1809 $JAVA_HOME $JAVA_HOME RUN echo Verifying install ... \ && echo java --version && java --version \ diff --git a/22/jre/windows/nanoserver-ltsc2022/Dockerfile b/23/jre/windows/nanoserver-ltsc2022/Dockerfile similarity index 89% rename from 22/jre/windows/nanoserver-ltsc2022/Dockerfile rename to 23/jre/windows/nanoserver-ltsc2022/Dockerfile index e704f7396..ac795cf75 100644 --- a/22/jre/windows/nanoserver-ltsc2022/Dockerfile +++ b/23/jre/windows/nanoserver-ltsc2022/Dockerfile @@ -21,9 +21,9 @@ FROM mcr.microsoft.com/windows/nanoserver:ltsc2022 SHELL ["cmd", "/s", "/c"] -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 -ENV JAVA_HOME C:\\openjdk-22 +ENV JAVA_HOME C:\\openjdk-23 # "ERROR: Access to the registry path is denied." USER ContainerAdministrator RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ @@ -31,7 +31,7 @@ RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ && echo Complete. USER ContainerUser -COPY --from=eclipse-temurin:22.0.2_9-jre-windowsservercore-ltsc2022 $JAVA_HOME $JAVA_HOME +COPY --from=eclipse-temurin:23_37-jre-windowsservercore-ltsc2022 $JAVA_HOME $JAVA_HOME RUN echo Verifying install ... \ && echo java --version && java --version \ diff --git a/22/jre/windows/windowsservercore-1809/Dockerfile b/23/jre/windows/windowsservercore-1809/Dockerfile similarity index 81% rename from 22/jre/windows/windowsservercore-1809/Dockerfile rename to 23/jre/windows/windowsservercore-1809/Dockerfile index 2e9753b40..05b1afe87 100644 --- a/22/jre/windows/windowsservercore-1809/Dockerfile +++ b/23/jre/windows/windowsservercore-1809/Dockerfile @@ -22,12 +22,12 @@ FROM mcr.microsoft.com/windows/servercore:1809 # $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 -RUN Write-Host ('Downloading https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_x64_windows_hotspot_22.0.2_9.msi ...'); \ - curl.exe -LfsSo openjdk.msi https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_x64_windows_hotspot_22.0.2_9.msi ; \ - Write-Host ('Verifying sha256 (976ca7a664831ac76cd956ce525e6c86ddcadb70c0bc29a3754c55c991955cb7) ...'); \ - if ((Get-FileHash openjdk.msi -Algorithm sha256).Hash -ne '976ca7a664831ac76cd956ce525e6c86ddcadb70c0bc29a3754c55c991955cb7') { \ +RUN Write-Host ('Downloading https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_x64_windows_hotspot_23_37.msi ...'); \ + curl.exe -LfsSo openjdk.msi https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_x64_windows_hotspot_23_37.msi ; \ + Write-Host ('Verifying sha256 (90877250f1f0195cdb241f5c75068e70383d25895567416cde0201abf33efd3c) ...'); \ + if ((Get-FileHash openjdk.msi -Algorithm sha256).Hash -ne '90877250f1f0195cdb241f5c75068e70383d25895567416cde0201abf33efd3c') { \ Write-Host 'FAILED!'; \ exit 1; \ }; \ @@ -36,7 +36,7 @@ RUN Write-Host ('Downloading https://github.com/adoptium/temurin22-binaries/rele \ Write-Host 'Installing using MSI ...'; \ $proc = Start-Process -FilePath "msiexec.exe" -ArgumentList '/i', 'openjdk.msi', '/L*V', 'C:\temp\OpenJDK.log', \ - '/quiet', 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome', 'INSTALLDIR=C:\openjdk-22' -Wait -Passthru; \ + '/quiet', 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome', 'INSTALLDIR=C:\openjdk-23' -Wait -Passthru; \ $proc.WaitForExit() ; \ if ($proc.ExitCode -ne 0) { \ Write-Host 'FAILED installing MSI!' ; \ diff --git a/22/jre/windows/windowsservercore-ltsc2022/Dockerfile b/23/jre/windows/windowsservercore-ltsc2022/Dockerfile similarity index 81% rename from 22/jre/windows/windowsservercore-ltsc2022/Dockerfile rename to 23/jre/windows/windowsservercore-ltsc2022/Dockerfile index 1c993c1c0..46b6b0d90 100644 --- a/22/jre/windows/windowsservercore-ltsc2022/Dockerfile +++ b/23/jre/windows/windowsservercore-ltsc2022/Dockerfile @@ -22,12 +22,12 @@ FROM mcr.microsoft.com/windows/servercore:ltsc2022 # $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -ENV JAVA_VERSION=jdk-22.0.2+9 +ENV JAVA_VERSION=jdk-23+37 -RUN Write-Host ('Downloading https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_x64_windows_hotspot_22.0.2_9.msi ...'); \ - curl.exe -LfsSo openjdk.msi https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.2%2B9/OpenJDK22U-jre_x64_windows_hotspot_22.0.2_9.msi ; \ - Write-Host ('Verifying sha256 (976ca7a664831ac76cd956ce525e6c86ddcadb70c0bc29a3754c55c991955cb7) ...'); \ - if ((Get-FileHash openjdk.msi -Algorithm sha256).Hash -ne '976ca7a664831ac76cd956ce525e6c86ddcadb70c0bc29a3754c55c991955cb7') { \ +RUN Write-Host ('Downloading https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_x64_windows_hotspot_23_37.msi ...'); \ + curl.exe -LfsSo openjdk.msi https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23%2B37/OpenJDK23U-jre_x64_windows_hotspot_23_37.msi ; \ + Write-Host ('Verifying sha256 (90877250f1f0195cdb241f5c75068e70383d25895567416cde0201abf33efd3c) ...'); \ + if ((Get-FileHash openjdk.msi -Algorithm sha256).Hash -ne '90877250f1f0195cdb241f5c75068e70383d25895567416cde0201abf33efd3c') { \ Write-Host 'FAILED!'; \ exit 1; \ }; \ @@ -36,7 +36,7 @@ RUN Write-Host ('Downloading https://github.com/adoptium/temurin22-binaries/rele \ Write-Host 'Installing using MSI ...'; \ $proc = Start-Process -FilePath "msiexec.exe" -ArgumentList '/i', 'openjdk.msi', '/L*V', 'C:\temp\OpenJDK.log', \ - '/quiet', 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome', 'INSTALLDIR=C:\openjdk-22' -Wait -Passthru; \ + '/quiet', 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome', 'INSTALLDIR=C:\openjdk-23' -Wait -Passthru; \ $proc.WaitForExit() ; \ if ($proc.ExitCode -ne 0) { \ Write-Host 'FAILED installing MSI!' ; \ diff --git a/dockerhub_doc_config_update.sh b/dockerhub_doc_config_update.sh index 60f7044ef..110763d85 100755 --- a/dockerhub_doc_config_update.sh +++ b/dockerhub_doc_config_update.sh @@ -28,7 +28,7 @@ else official_docker_image_file="$1" fi -supported_versions="8 11 17 21 22" +supported_versions="8 11 17 21 23" # set this to the latest LTS version latest_version="21" all_jvms="hotspot"