diff --git a/alpine/Dockerfile b/alpine/Dockerfile index fdaa6df3..16f4b3c1 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -64,7 +64,7 @@ RUN apk update --no-cache && \ rm -rf /var/cache/apk/* # Limit JDK crypto policy by default to comply with local laws which may prohibit use of unlimited strength cryptography -RUN JAVA_HOME=$(find /usr/lib/jvm -maxdepth 1 -name "*jdk*" -type d) && \ +RUN JAVA_HOME=$(find /usr/lib/jvm -mindepth 1 -maxdepth 1 -type d) && \ sed -i 's/^crypto.policy=unlimited/crypto.policy=limited/' "${JAVA_HOME}/conf/security/java.security" # Install openHAB diff --git a/alpine/entrypoint b/alpine/entrypoint index b5e26959..f92a905f 100755 --- a/alpine/entrypoint +++ b/alpine/entrypoint @@ -4,7 +4,7 @@ interactive=$(if test -t 0; then echo true; else echo false; fi) set -eux -o pipefail ${EXTRA_SHELL_OPTS-} IFS=$'\n\t' -export JAVA_HOME=$(find /usr/lib/jvm -maxdepth 1 -name "*jdk*" -type d) +export JAVA_HOME=$(find /usr/lib/jvm -mindepth 1 -maxdepth 1 -type d) # Configure Java unlimited strength cryptography if [ "${CRYPTO_POLICY}" = "unlimited" ]; then diff --git a/debian/Dockerfile b/debian/Dockerfile index d010f2eb..cbdbd6c6 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -42,6 +42,14 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Install basepackages. Versions are "pinned" by using a pinned base image. # hadolint ignore=DL3008 RUN apt-get update && \ + openjdk_package="openjdk-${JAVA_VERSION}-jre-headless" && \ + apt-get install --no-install-recommends -y --dry-run "$openjdk_package" >/dev/null || openjdk_package="temurin-${JAVA_VERSION}-jre" && \ + if [ $(echo "$openjdk_package" | grep -E '^temurin-.+$') ]; then \ + DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y wget ca-certificates && \ + wget -nv -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /usr/share/keyrings/adoptium.asc && \ + echo "deb [signed-by=/usr/share/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list && \ + apt-get update; \ + fi && \ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ arping \ ca-certificates \ @@ -53,7 +61,7 @@ RUN apt-get update && \ locales \ locales-all \ netbase \ - openjdk-${JAVA_VERSION}-jre-headless \ + $openjdk_package \ procps \ tini \ unzip \ @@ -66,7 +74,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # Limit JDK crypto policy by default to comply with local laws which may prohibit use of unlimited strength cryptography -RUN JAVA_HOME=$(find /usr/lib/jvm -maxdepth 1 -name "*jdk*" -type d) && \ +RUN JAVA_HOME=$(find /usr/lib/jvm -mindepth 1 -maxdepth 1 -type d) && \ sed -i 's/^crypto.policy=unlimited/crypto.policy=limited/' "${JAVA_HOME}/conf/security/java.security" # Install openHAB diff --git a/debian/entrypoint b/debian/entrypoint index 4b93cde1..f9f11dae 100755 --- a/debian/entrypoint +++ b/debian/entrypoint @@ -4,7 +4,7 @@ interactive=$(if test -t 0; then echo true; else echo false; fi) set -eux -o pipefail ${EXTRA_SHELL_OPTS-} IFS=$'\n\t' -export JAVA_HOME=$(find /usr/lib/jvm -maxdepth 1 -name "*jdk*" -type d) +export JAVA_HOME=$(find /usr/lib/jvm -mindepth 1 -maxdepth 1 -type d) # Configure Java unlimited strength cryptography if [ "${CRYPTO_POLICY}" = "unlimited" ]; then