diff --git a/README.md b/README.md index 3edce364..18f07f63 100644 --- a/README.md +++ b/README.md @@ -45,12 +45,11 @@ release every 2-3 years. As of 2019-9-25, our images will default to the latest LTS release of OpenJDK (currently 21). But we also now provide the ability to specify which version of Java you'd like via Docker tags: -JDK 1.8 tools-deps image: `clojure:temurin-8-tools-deps` -JDK 11 variant of the tools-deps image: `clojure:temurin-11-tools-deps` or `clojure:temurin-11` -JDK 17 with boot 2.8.3: `clojure:temurin-17-boot-2.8.3` -JDK 20 with the latest version of lein: `clojure:temurin-20-lein` -JDK 21 variant of the tools-deps image: `clojure:tools-deps` or `clojure:temurin-21` or `clojure:temurin-21-tools-deps` -JDK 22 variant of the tools-deps image: `clojure:temurin-22` or `clojure:temurin-22-tools-deps` +JDK 1.8 tools-deps image: `clojure:temurin-8-tools-deps` +JDK 11 variant of the tools-deps image: `clojure:temurin-11-tools-deps` or `clojure:temurin-11` +JDK 17 with boot 2.8.3: `clojure:temurin-17-boot-2.8.3` +JDK 20 with the latest version of lein: `clojure:temurin-20-lein` +JDK 21 variant of the tools-deps image: `clojure:tools-deps` or `clojure:temurin-21` or `clojure:temurin-21-tools-deps` ## Linux distro @@ -83,12 +82,11 @@ You can specify which distro & version you'd like by appending it to the end of your Docker tag as in the following examples (but note that not every combination is provided upstream and thus likewise for us): -Java 8 leiningen on Debian bullseye-slim: `clojure:temurin-8-lein-bullseye-slim` -Java 11 leiningen on Debian bullseye: `clojure:temurin-11-lein-bullseye` -Java 17 tools-deps on Ubuntu focal: `clojure:tools-deps` or `clojure:temurin-17` or `clojure:temurin-17-tools-deps` or `clojure:temurin-17-tools-deps-focal` -Java 17 tools-deps on Debian bullseye-slim: `clojure:bullseye-slim` or `clojure:tools-deps-bullseye-slim` or `clojure:temurin-17-bullseye-slim` or `clojure:temurin-17-tools-deps-bullseye-slim` -Java 21 tools-deps on Debian bookworm: `clojure:tools-deps` or `clojure:temurin-21-tools-deps` or `clojure:temurin-21-bookworm` -Java 22 leiningen on Debian bookworm: `clojure:temurin-21-lein-bookworm` +Java 8 leiningen on Debian bullseye-slim: `clojure:temurin-8-lein-bullseye-slim` +Java 11 leiningen on Debian bullseye: `clojure:temurin-11-lein-bullseye` +Java 17 tools-deps on Ubuntu focal: `clojure:tools-deps` or `clojure:temurin-17` or `clojure:temurin-17-tools-deps` or `clojure:temurin-17-tools-deps-focal` +Java 17 tools-deps on Debian bullseye-slim: `clojure:bullseye-slim` or `clojure:tools-deps-bullseye-slim` or `clojure:temurin-17-bullseye-slim` or `clojure:temurin-17-tools-deps-bullseye-slim` +Java 21 tools-deps on Debian bookworm: `clojure:tools-deps` or `clojure:temurin-21-tools-deps` or `clojure:temurin-21-bookworm` ### Alpine Linux @@ -98,8 +96,8 @@ As of 2022-9-29 these are available for the linux/amd64 architecture only. Some example tags: -Java 17 leiningen on Alpine: `clojure:temurin-17-alpine` `clojure:temurin-17-lein-alpine` -Java 21 tools-deps on Alpine: `clojure:temurin-21-tools-deps-alpine` or `clojure:temurin-21-alpine` +Java 17 leiningen on Alpine: `clojure:temurin-17-alpine` `clojure:temurin-17-lein-alpine` +Java 20 tools-deps on Alpine: `clojure:temurin-20-tools-deps-alpine` or `clojure:temurin-20-alpine` ## Examples @@ -146,4 +144,4 @@ linux/arm64). ## Tests The `docker-clojure` build tool has a test suite that can be run via the -`bb run test` script. +`bb run test` script. diff --git a/src/docker_clojure/config.clj b/src/docker_clojure/config.clj index a9ae5023..936d5031 100644 --- a/src/docker_clojure/config.clj +++ b/src/docker_clojure/config.clj @@ -39,7 +39,7 @@ (def git-repo "https://github.com/Quantisan/docker-clojure.git") -(def jdk-versions #{8 11 17 21 22}) +(def jdk-versions #{8 11 17 21}) (def base-images "Map of JDK version to base image name(s) with :default as a fallback" diff --git a/target/debian-bookworm-22/boot/Dockerfile b/target/debian-bookworm-22/boot/Dockerfile deleted file mode 100644 index 5da8bf8b..00000000 --- a/target/debian-bookworm-22/boot/Dockerfile +++ /dev/null @@ -1,36 +0,0 @@ -FROM debian:bookworm - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV BOOT_VERSION=2.8.3 -ENV BOOT_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install -# on its first run. We always download the latest version of boot.sh because -# it is just the installer script. -RUN \ -apt-get update && \ -apt-get install -y make wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $BOOT_INSTALL && \ -wget -q https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && \ -echo "Comparing installer checksum..." && \ -sha256sum boot.sh && \ -echo "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3 *boot.sh" | sha256sum -c - && \ -mv boot.sh $BOOT_INSTALL/boot && \ -chmod 0755 $BOOT_INSTALL/boot && \ -apt-get purge -y --auto-remove wget - -ENV PATH=$PATH:$BOOT_INSTALL -ENV BOOT_AS_ROOT=yes - -RUN boot - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/debian-bookworm-22/boot/entrypoint b/target/debian-bookworm-22/boot/entrypoint deleted file mode 100755 index 2fe72577..00000000 --- a/target/debian-bookworm-22/boot/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=boot - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bookworm-22/lein/Dockerfile b/target/debian-bookworm-22/lein/Dockerfile deleted file mode 100644 index 954795b9..00000000 --- a/target/debian-bookworm-22/lein/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM debian:bookworm - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV LEIN_VERSION=2.11.2 -ENV LEIN_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# Download the whole repo as an archive -RUN set -eux; \ -apt-get update && \ -apt-get install -y make gnupg wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $LEIN_INSTALL && \ -wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ -echo "Comparing lein-pkg checksum ..." && \ -sha256sum lein-pkg && \ -echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ -mv lein-pkg $LEIN_INSTALL/lein && \ -chmod 0755 $LEIN_INSTALL/lein && \ -export GNUPGHOME="$(mktemp -d)" && \ -export FILENAME_EXT=jar && \ -gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -echo "Verifying file PGP signature..." && \ -gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -gpgconf --kill all && \ -rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -mkdir -p /usr/share/java && \ -mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ -apt-get purge -y --auto-remove gnupg wget - -ENV PATH=$PATH:$LEIN_INSTALL -ENV LEIN_ROOT 1 - -# Install clojure 1.11.1 so users don't have to download it every time -RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ - && lein deps && rm project.clj - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/debian-bookworm-22/lein/entrypoint b/target/debian-bookworm-22/lein/entrypoint deleted file mode 100755 index ccf8cce5..00000000 --- a/target/debian-bookworm-22/lein/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=lein - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bookworm-22/tools-deps/Dockerfile b/target/debian-bookworm-22/tools-deps/Dockerfile deleted file mode 100644 index ea6839f1..00000000 --- a/target/debian-bookworm-22/tools-deps/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM debian:bookworm - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV CLOJURE_VERSION=1.11.1.1435 - -WORKDIR /tmp - -RUN \ -apt-get update && \ -apt-get install -y curl make git rlwrap wget && \ -rm -rf /var/lib/apt/lists/* && \ -wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ -sha256sum linux-install-$CLOJURE_VERSION.sh && \ -echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ -chmod +x linux-install-$CLOJURE_VERSION.sh && \ -./linux-install-$CLOJURE_VERSION.sh && \ -rm linux-install-$CLOJURE_VERSION.sh && \ -clojure -e "(clojure-version)" && \ -apt-get purge -y --auto-remove curl wget - -# Docker bug makes rlwrap crash w/o short sleep first -# Bug: https://github.com/moby/moby/issues/28009 -# As of 2021-09-10 this bug still exists, despite that issue being closed -COPY rlwrap.retry /usr/local/bin/rlwrap - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["-M", "--repl"] diff --git a/target/debian-bookworm-22/tools-deps/entrypoint b/target/debian-bookworm-22/tools-deps/entrypoint deleted file mode 100755 index 51561d1d..00000000 --- a/target/debian-bookworm-22/tools-deps/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=clj - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bookworm-22/tools-deps/rlwrap.retry b/target/debian-bookworm-22/tools-deps/rlwrap.retry deleted file mode 100755 index 83cefbfb..00000000 --- a/target/debian-bookworm-22/tools-deps/rlwrap.retry +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# This script works around a Docker bug that prevents rlwrap from starting -# right when a container is first started. It is intended to replace -# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH -# (e.g. /usr/local/bin). - -max_tries=100 # 100 tries is ~1 second -try=0 - -while true; do - # see if rlwrap can start at all - output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) - exit_code=$? - if [ $exit_code -gt 0 ]; then - # it didn't start - try=$((try+1)) - if [ $try -gt $max_tries ]; then - # we're at max attempts so output the error and exit w/ the same code - echo "$output" >&2 - exit $exit_code - else - # wait a bit and try again - sleep 0.01 - fi - else - # rlwrap can start so let's run it for real - exec /usr/bin/rlwrap "$@" - fi -done diff --git a/target/debian-bookworm-slim-22/boot/Dockerfile b/target/debian-bookworm-slim-22/boot/Dockerfile deleted file mode 100644 index a96d4b88..00000000 --- a/target/debian-bookworm-slim-22/boot/Dockerfile +++ /dev/null @@ -1,36 +0,0 @@ -FROM debian:bookworm-slim - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV BOOT_VERSION=2.8.3 -ENV BOOT_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install -# on its first run. We always download the latest version of boot.sh because -# it is just the installer script. -RUN \ -apt-get update && \ -apt-get install -y wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $BOOT_INSTALL && \ -wget -q https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && \ -echo "Comparing installer checksum..." && \ -sha256sum boot.sh && \ -echo "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3 *boot.sh" | sha256sum -c - && \ -mv boot.sh $BOOT_INSTALL/boot && \ -chmod 0755 $BOOT_INSTALL/boot && \ -apt-get purge -y --auto-remove wget - -ENV PATH=$PATH:$BOOT_INSTALL -ENV BOOT_AS_ROOT=yes - -RUN boot - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/debian-bookworm-slim-22/boot/entrypoint b/target/debian-bookworm-slim-22/boot/entrypoint deleted file mode 100755 index 2fe72577..00000000 --- a/target/debian-bookworm-slim-22/boot/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=boot - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bookworm-slim-22/lein/Dockerfile b/target/debian-bookworm-slim-22/lein/Dockerfile deleted file mode 100644 index 054c0dfc..00000000 --- a/target/debian-bookworm-slim-22/lein/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM debian:bookworm-slim - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV LEIN_VERSION=2.11.2 -ENV LEIN_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# Download the whole repo as an archive -RUN set -eux; \ -apt-get update && \ -apt-get install -y gnupg wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $LEIN_INSTALL && \ -wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ -echo "Comparing lein-pkg checksum ..." && \ -sha256sum lein-pkg && \ -echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ -mv lein-pkg $LEIN_INSTALL/lein && \ -chmod 0755 $LEIN_INSTALL/lein && \ -export GNUPGHOME="$(mktemp -d)" && \ -export FILENAME_EXT=jar && \ -gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -echo "Verifying file PGP signature..." && \ -gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -gpgconf --kill all && \ -rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -mkdir -p /usr/share/java && \ -mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ -apt-get purge -y --auto-remove gnupg wget - -ENV PATH=$PATH:$LEIN_INSTALL -ENV LEIN_ROOT 1 - -# Install clojure 1.11.1 so users don't have to download it every time -RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ - && lein deps && rm project.clj - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/debian-bookworm-slim-22/lein/entrypoint b/target/debian-bookworm-slim-22/lein/entrypoint deleted file mode 100755 index ccf8cce5..00000000 --- a/target/debian-bookworm-slim-22/lein/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=lein - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bookworm-slim-22/tools-deps/Dockerfile b/target/debian-bookworm-slim-22/tools-deps/Dockerfile deleted file mode 100644 index 5e30ef64..00000000 --- a/target/debian-bookworm-slim-22/tools-deps/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM debian:bookworm-slim - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV CLOJURE_VERSION=1.11.1.1435 - -WORKDIR /tmp - -RUN \ -apt-get update && \ -apt-get install -y curl make git rlwrap wget && \ -rm -rf /var/lib/apt/lists/* && \ -wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ -sha256sum linux-install-$CLOJURE_VERSION.sh && \ -echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ -chmod +x linux-install-$CLOJURE_VERSION.sh && \ -./linux-install-$CLOJURE_VERSION.sh && \ -rm linux-install-$CLOJURE_VERSION.sh && \ -clojure -e "(clojure-version)" && \ -apt-get purge -y --auto-remove curl wget - -# Docker bug makes rlwrap crash w/o short sleep first -# Bug: https://github.com/moby/moby/issues/28009 -# As of 2021-09-10 this bug still exists, despite that issue being closed -COPY rlwrap.retry /usr/local/bin/rlwrap - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["-M", "--repl"] diff --git a/target/debian-bookworm-slim-22/tools-deps/entrypoint b/target/debian-bookworm-slim-22/tools-deps/entrypoint deleted file mode 100755 index 51561d1d..00000000 --- a/target/debian-bookworm-slim-22/tools-deps/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=clj - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bookworm-slim-22/tools-deps/rlwrap.retry b/target/debian-bookworm-slim-22/tools-deps/rlwrap.retry deleted file mode 100755 index 83cefbfb..00000000 --- a/target/debian-bookworm-slim-22/tools-deps/rlwrap.retry +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# This script works around a Docker bug that prevents rlwrap from starting -# right when a container is first started. It is intended to replace -# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH -# (e.g. /usr/local/bin). - -max_tries=100 # 100 tries is ~1 second -try=0 - -while true; do - # see if rlwrap can start at all - output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) - exit_code=$? - if [ $exit_code -gt 0 ]; then - # it didn't start - try=$((try+1)) - if [ $try -gt $max_tries ]; then - # we're at max attempts so output the error and exit w/ the same code - echo "$output" >&2 - exit $exit_code - else - # wait a bit and try again - sleep 0.01 - fi - else - # rlwrap can start so let's run it for real - exec /usr/bin/rlwrap "$@" - fi -done diff --git a/target/debian-bullseye-22/boot/Dockerfile b/target/debian-bullseye-22/boot/Dockerfile deleted file mode 100644 index bb47793b..00000000 --- a/target/debian-bullseye-22/boot/Dockerfile +++ /dev/null @@ -1,36 +0,0 @@ -FROM debian:bullseye - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV BOOT_VERSION=2.8.3 -ENV BOOT_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install -# on its first run. We always download the latest version of boot.sh because -# it is just the installer script. -RUN \ -apt-get update && \ -apt-get install -y make wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $BOOT_INSTALL && \ -wget -q https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && \ -echo "Comparing installer checksum..." && \ -sha256sum boot.sh && \ -echo "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3 *boot.sh" | sha256sum -c - && \ -mv boot.sh $BOOT_INSTALL/boot && \ -chmod 0755 $BOOT_INSTALL/boot && \ -apt-get purge -y --auto-remove wget - -ENV PATH=$PATH:$BOOT_INSTALL -ENV BOOT_AS_ROOT=yes - -RUN boot - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/debian-bullseye-22/boot/entrypoint b/target/debian-bullseye-22/boot/entrypoint deleted file mode 100755 index 2fe72577..00000000 --- a/target/debian-bullseye-22/boot/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=boot - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bullseye-22/lein/Dockerfile b/target/debian-bullseye-22/lein/Dockerfile deleted file mode 100644 index 46ebc8f5..00000000 --- a/target/debian-bullseye-22/lein/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM debian:bullseye - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV LEIN_VERSION=2.11.2 -ENV LEIN_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# Download the whole repo as an archive -RUN set -eux; \ -apt-get update && \ -apt-get install -y make gnupg wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $LEIN_INSTALL && \ -wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ -echo "Comparing lein-pkg checksum ..." && \ -sha256sum lein-pkg && \ -echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ -mv lein-pkg $LEIN_INSTALL/lein && \ -chmod 0755 $LEIN_INSTALL/lein && \ -export GNUPGHOME="$(mktemp -d)" && \ -export FILENAME_EXT=jar && \ -gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -echo "Verifying file PGP signature..." && \ -gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -gpgconf --kill all && \ -rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -mkdir -p /usr/share/java && \ -mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ -apt-get purge -y --auto-remove gnupg wget - -ENV PATH=$PATH:$LEIN_INSTALL -ENV LEIN_ROOT 1 - -# Install clojure 1.11.1 so users don't have to download it every time -RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ - && lein deps && rm project.clj - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/debian-bullseye-22/lein/entrypoint b/target/debian-bullseye-22/lein/entrypoint deleted file mode 100755 index ccf8cce5..00000000 --- a/target/debian-bullseye-22/lein/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=lein - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bullseye-22/tools-deps/Dockerfile b/target/debian-bullseye-22/tools-deps/Dockerfile deleted file mode 100644 index 679ca20b..00000000 --- a/target/debian-bullseye-22/tools-deps/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM debian:bullseye - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV CLOJURE_VERSION=1.11.1.1435 - -WORKDIR /tmp - -RUN \ -apt-get update && \ -apt-get install -y curl make git rlwrap wget && \ -rm -rf /var/lib/apt/lists/* && \ -wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ -sha256sum linux-install-$CLOJURE_VERSION.sh && \ -echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ -chmod +x linux-install-$CLOJURE_VERSION.sh && \ -./linux-install-$CLOJURE_VERSION.sh && \ -rm linux-install-$CLOJURE_VERSION.sh && \ -clojure -e "(clojure-version)" && \ -apt-get purge -y --auto-remove curl wget - -# Docker bug makes rlwrap crash w/o short sleep first -# Bug: https://github.com/moby/moby/issues/28009 -# As of 2021-09-10 this bug still exists, despite that issue being closed -COPY rlwrap.retry /usr/local/bin/rlwrap - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["-M", "--repl"] diff --git a/target/debian-bullseye-22/tools-deps/entrypoint b/target/debian-bullseye-22/tools-deps/entrypoint deleted file mode 100755 index 51561d1d..00000000 --- a/target/debian-bullseye-22/tools-deps/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=clj - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bullseye-22/tools-deps/rlwrap.retry b/target/debian-bullseye-22/tools-deps/rlwrap.retry deleted file mode 100755 index 83cefbfb..00000000 --- a/target/debian-bullseye-22/tools-deps/rlwrap.retry +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# This script works around a Docker bug that prevents rlwrap from starting -# right when a container is first started. It is intended to replace -# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH -# (e.g. /usr/local/bin). - -max_tries=100 # 100 tries is ~1 second -try=0 - -while true; do - # see if rlwrap can start at all - output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) - exit_code=$? - if [ $exit_code -gt 0 ]; then - # it didn't start - try=$((try+1)) - if [ $try -gt $max_tries ]; then - # we're at max attempts so output the error and exit w/ the same code - echo "$output" >&2 - exit $exit_code - else - # wait a bit and try again - sleep 0.01 - fi - else - # rlwrap can start so let's run it for real - exec /usr/bin/rlwrap "$@" - fi -done diff --git a/target/debian-bullseye-slim-22/boot/Dockerfile b/target/debian-bullseye-slim-22/boot/Dockerfile deleted file mode 100644 index f0b99bd3..00000000 --- a/target/debian-bullseye-slim-22/boot/Dockerfile +++ /dev/null @@ -1,36 +0,0 @@ -FROM debian:bullseye-slim - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV BOOT_VERSION=2.8.3 -ENV BOOT_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install -# on its first run. We always download the latest version of boot.sh because -# it is just the installer script. -RUN \ -apt-get update && \ -apt-get install -y wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $BOOT_INSTALL && \ -wget -q https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && \ -echo "Comparing installer checksum..." && \ -sha256sum boot.sh && \ -echo "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3 *boot.sh" | sha256sum -c - && \ -mv boot.sh $BOOT_INSTALL/boot && \ -chmod 0755 $BOOT_INSTALL/boot && \ -apt-get purge -y --auto-remove wget - -ENV PATH=$PATH:$BOOT_INSTALL -ENV BOOT_AS_ROOT=yes - -RUN boot - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/debian-bullseye-slim-22/boot/entrypoint b/target/debian-bullseye-slim-22/boot/entrypoint deleted file mode 100755 index 2fe72577..00000000 --- a/target/debian-bullseye-slim-22/boot/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=boot - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bullseye-slim-22/lein/Dockerfile b/target/debian-bullseye-slim-22/lein/Dockerfile deleted file mode 100644 index 86016b83..00000000 --- a/target/debian-bullseye-slim-22/lein/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ -FROM debian:bullseye-slim - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV LEIN_VERSION=2.11.2 -ENV LEIN_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# Download the whole repo as an archive -RUN set -eux; \ -apt-get update && \ -apt-get install -y gnupg wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $LEIN_INSTALL && \ -wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ -echo "Comparing lein-pkg checksum ..." && \ -sha256sum lein-pkg && \ -echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ -mv lein-pkg $LEIN_INSTALL/lein && \ -chmod 0755 $LEIN_INSTALL/lein && \ -export GNUPGHOME="$(mktemp -d)" && \ -export FILENAME_EXT=jar && \ -gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -echo "Verifying file PGP signature..." && \ -gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -gpgconf --kill all && \ -rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -mkdir -p /usr/share/java && \ -mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ -apt-get purge -y --auto-remove gnupg wget - -ENV PATH=$PATH:$LEIN_INSTALL -ENV LEIN_ROOT 1 - -# Install clojure 1.11.1 so users don't have to download it every time -RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ - && lein deps && rm project.clj - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/debian-bullseye-slim-22/lein/entrypoint b/target/debian-bullseye-slim-22/lein/entrypoint deleted file mode 100755 index ccf8cce5..00000000 --- a/target/debian-bullseye-slim-22/lein/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=lein - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bullseye-slim-22/tools-deps/Dockerfile b/target/debian-bullseye-slim-22/tools-deps/Dockerfile deleted file mode 100644 index a357f94c..00000000 --- a/target/debian-bullseye-slim-22/tools-deps/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM debian:bullseye-slim - -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:22 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -ENV CLOJURE_VERSION=1.11.1.1435 - -WORKDIR /tmp - -RUN \ -apt-get update && \ -apt-get install -y curl make git rlwrap wget && \ -rm -rf /var/lib/apt/lists/* && \ -wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ -sha256sum linux-install-$CLOJURE_VERSION.sh && \ -echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ -chmod +x linux-install-$CLOJURE_VERSION.sh && \ -./linux-install-$CLOJURE_VERSION.sh && \ -rm linux-install-$CLOJURE_VERSION.sh && \ -clojure -e "(clojure-version)" && \ -apt-get purge -y --auto-remove curl wget - -# Docker bug makes rlwrap crash w/o short sleep first -# Bug: https://github.com/moby/moby/issues/28009 -# As of 2021-09-10 this bug still exists, despite that issue being closed -COPY rlwrap.retry /usr/local/bin/rlwrap - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["-M", "--repl"] diff --git a/target/debian-bullseye-slim-22/tools-deps/entrypoint b/target/debian-bullseye-slim-22/tools-deps/entrypoint deleted file mode 100755 index 51561d1d..00000000 --- a/target/debian-bullseye-slim-22/tools-deps/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=clj - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/debian-bullseye-slim-22/tools-deps/rlwrap.retry b/target/debian-bullseye-slim-22/tools-deps/rlwrap.retry deleted file mode 100755 index 83cefbfb..00000000 --- a/target/debian-bullseye-slim-22/tools-deps/rlwrap.retry +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# This script works around a Docker bug that prevents rlwrap from starting -# right when a container is first started. It is intended to replace -# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH -# (e.g. /usr/local/bin). - -max_tries=100 # 100 tries is ~1 second -try=0 - -while true; do - # see if rlwrap can start at all - output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) - exit_code=$? - if [ $exit_code -gt 0 ]; then - # it didn't start - try=$((try+1)) - if [ $try -gt $max_tries ]; then - # we're at max attempts so output the error and exit w/ the same code - echo "$output" >&2 - exit $exit_code - else - # wait a bit and try again - sleep 0.01 - fi - else - # rlwrap can start so let's run it for real - exec /usr/bin/rlwrap "$@" - fi -done diff --git a/target/eclipse-temurin-22-jdk-alpine/lein/Dockerfile b/target/eclipse-temurin-22-jdk-alpine/lein/Dockerfile deleted file mode 100644 index 3af1f17e..00000000 --- a/target/eclipse-temurin-22-jdk-alpine/lein/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM eclipse-temurin:22-jdk-alpine - -ENV LEIN_VERSION=2.11.2 -ENV LEIN_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# Download the whole repo as an archive -RUN set -eux; \ -apk add --no-cache ca-certificates bash tar openssl gnupg && \ -mkdir -p $LEIN_INSTALL && \ -wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ -echo "Comparing lein-pkg checksum ..." && \ -sha256sum lein-pkg && \ -echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ -mv lein-pkg $LEIN_INSTALL/lein && \ -chmod 0755 $LEIN_INSTALL/lein && \ -export GNUPGHOME="$(mktemp -d)" && \ -export FILENAME_EXT=jar && \ -gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -echo "Verifying file PGP signature..." && \ -gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -gpgconf --kill all && \ -rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -mkdir -p /usr/share/java && \ -mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ -apk del ca-certificates tar openssl gnupg - -ENV PATH=$PATH:$LEIN_INSTALL -ENV LEIN_ROOT 1 - -# Install clojure 1.11.1 so users don't have to download it every time -RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ - && lein deps && rm project.clj - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/eclipse-temurin-22-jdk-alpine/lein/entrypoint b/target/eclipse-temurin-22-jdk-alpine/lein/entrypoint deleted file mode 100755 index ccf8cce5..00000000 --- a/target/eclipse-temurin-22-jdk-alpine/lein/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=lein - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/eclipse-temurin-22-jdk-alpine/tools-deps/Dockerfile b/target/eclipse-temurin-22-jdk-alpine/tools-deps/Dockerfile deleted file mode 100644 index 9e2f0698..00000000 --- a/target/eclipse-temurin-22-jdk-alpine/tools-deps/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM eclipse-temurin:22-jdk-alpine - -ENV CLOJURE_VERSION=1.11.1.1435 - -WORKDIR /tmp - -RUN \ -apk add --no-cache curl bash make git && \ -wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ -sha256sum linux-install-$CLOJURE_VERSION.sh && \ -echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ -chmod +x linux-install-$CLOJURE_VERSION.sh && \ -./linux-install-$CLOJURE_VERSION.sh && \ -rm linux-install-$CLOJURE_VERSION.sh && \ -clojure -e "(clojure-version)" && \ -apk del curl - -# Docker bug makes rlwrap crash w/o short sleep first -# Bug: https://github.com/moby/moby/issues/28009 -# As of 2021-09-10 this bug still exists, despite that issue being closed -COPY rlwrap.retry /usr/local/bin/rlwrap - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["-M", "--repl"] diff --git a/target/eclipse-temurin-22-jdk-alpine/tools-deps/entrypoint b/target/eclipse-temurin-22-jdk-alpine/tools-deps/entrypoint deleted file mode 100755 index 51561d1d..00000000 --- a/target/eclipse-temurin-22-jdk-alpine/tools-deps/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=clj - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/eclipse-temurin-22-jdk-alpine/tools-deps/rlwrap.retry b/target/eclipse-temurin-22-jdk-alpine/tools-deps/rlwrap.retry deleted file mode 100755 index 83cefbfb..00000000 --- a/target/eclipse-temurin-22-jdk-alpine/tools-deps/rlwrap.retry +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# This script works around a Docker bug that prevents rlwrap from starting -# right when a container is first started. It is intended to replace -# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH -# (e.g. /usr/local/bin). - -max_tries=100 # 100 tries is ~1 second -try=0 - -while true; do - # see if rlwrap can start at all - output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) - exit_code=$? - if [ $exit_code -gt 0 ]; then - # it didn't start - try=$((try+1)) - if [ $try -gt $max_tries ]; then - # we're at max attempts so output the error and exit w/ the same code - echo "$output" >&2 - exit $exit_code - else - # wait a bit and try again - sleep 0.01 - fi - else - # rlwrap can start so let's run it for real - exec /usr/bin/rlwrap "$@" - fi -done diff --git a/target/eclipse-temurin-22-jdk-focal/boot/Dockerfile b/target/eclipse-temurin-22-jdk-focal/boot/Dockerfile deleted file mode 100644 index aa525a24..00000000 --- a/target/eclipse-temurin-22-jdk-focal/boot/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM eclipse-temurin:22-jdk-focal - -ENV BOOT_VERSION=2.8.3 -ENV BOOT_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install -# on its first run. We always download the latest version of boot.sh because -# it is just the installer script. -RUN \ -apt-get update && \ -apt-get install -y wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $BOOT_INSTALL && \ -wget -q https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && \ -echo "Comparing installer checksum..." && \ -sha256sum boot.sh && \ -echo "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3 *boot.sh" | sha256sum -c - && \ -mv boot.sh $BOOT_INSTALL/boot && \ -chmod 0755 $BOOT_INSTALL/boot && \ -apt-get purge -y --auto-remove wget - -ENV PATH=$PATH:$BOOT_INSTALL -ENV BOOT_AS_ROOT=yes - -RUN boot - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/eclipse-temurin-22-jdk-focal/boot/entrypoint b/target/eclipse-temurin-22-jdk-focal/boot/entrypoint deleted file mode 100755 index 2fe72577..00000000 --- a/target/eclipse-temurin-22-jdk-focal/boot/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=boot - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/eclipse-temurin-22-jdk-focal/lein/Dockerfile b/target/eclipse-temurin-22-jdk-focal/lein/Dockerfile deleted file mode 100644 index 2b7bcfa3..00000000 --- a/target/eclipse-temurin-22-jdk-focal/lein/Dockerfile +++ /dev/null @@ -1,43 +0,0 @@ -FROM eclipse-temurin:22-jdk-focal - -ENV LEIN_VERSION=2.11.2 -ENV LEIN_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# Download the whole repo as an archive -RUN set -eux; \ -apt-get update && \ -apt-get install -y make gnupg wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $LEIN_INSTALL && \ -wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ -echo "Comparing lein-pkg checksum ..." && \ -sha256sum lein-pkg && \ -echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ -mv lein-pkg $LEIN_INSTALL/lein && \ -chmod 0755 $LEIN_INSTALL/lein && \ -export GNUPGHOME="$(mktemp -d)" && \ -export FILENAME_EXT=jar && \ -gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -echo "Verifying file PGP signature..." && \ -gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -gpgconf --kill all && \ -rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -mkdir -p /usr/share/java && \ -mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ -apt-get purge -y --auto-remove gnupg wget - -ENV PATH=$PATH:$LEIN_INSTALL -ENV LEIN_ROOT 1 - -# Install clojure 1.11.1 so users don't have to download it every time -RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ - && lein deps && rm project.clj - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/eclipse-temurin-22-jdk-focal/lein/entrypoint b/target/eclipse-temurin-22-jdk-focal/lein/entrypoint deleted file mode 100755 index ccf8cce5..00000000 --- a/target/eclipse-temurin-22-jdk-focal/lein/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=lein - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/eclipse-temurin-22-jdk-focal/tools-deps/Dockerfile b/target/eclipse-temurin-22-jdk-focal/tools-deps/Dockerfile deleted file mode 100644 index 5cc50172..00000000 --- a/target/eclipse-temurin-22-jdk-focal/tools-deps/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM eclipse-temurin:22-jdk-focal - -ENV CLOJURE_VERSION=1.11.1.1435 - -WORKDIR /tmp - -RUN \ -apt-get update && \ -apt-get install -y make git rlwrap wget && \ -rm -rf /var/lib/apt/lists/* && \ -wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ -sha256sum linux-install-$CLOJURE_VERSION.sh && \ -echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ -chmod +x linux-install-$CLOJURE_VERSION.sh && \ -./linux-install-$CLOJURE_VERSION.sh && \ -rm linux-install-$CLOJURE_VERSION.sh && \ -clojure -e "(clojure-version)" && \ -apt-get purge -y --auto-remove wget - -# Docker bug makes rlwrap crash w/o short sleep first -# Bug: https://github.com/moby/moby/issues/28009 -# As of 2021-09-10 this bug still exists, despite that issue being closed -COPY rlwrap.retry /usr/local/bin/rlwrap - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["-M", "--repl"] diff --git a/target/eclipse-temurin-22-jdk-focal/tools-deps/entrypoint b/target/eclipse-temurin-22-jdk-focal/tools-deps/entrypoint deleted file mode 100755 index 51561d1d..00000000 --- a/target/eclipse-temurin-22-jdk-focal/tools-deps/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=clj - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/eclipse-temurin-22-jdk-focal/tools-deps/rlwrap.retry b/target/eclipse-temurin-22-jdk-focal/tools-deps/rlwrap.retry deleted file mode 100755 index 83cefbfb..00000000 --- a/target/eclipse-temurin-22-jdk-focal/tools-deps/rlwrap.retry +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# This script works around a Docker bug that prevents rlwrap from starting -# right when a container is first started. It is intended to replace -# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH -# (e.g. /usr/local/bin). - -max_tries=100 # 100 tries is ~1 second -try=0 - -while true; do - # see if rlwrap can start at all - output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) - exit_code=$? - if [ $exit_code -gt 0 ]; then - # it didn't start - try=$((try+1)) - if [ $try -gt $max_tries ]; then - # we're at max attempts so output the error and exit w/ the same code - echo "$output" >&2 - exit $exit_code - else - # wait a bit and try again - sleep 0.01 - fi - else - # rlwrap can start so let's run it for real - exec /usr/bin/rlwrap "$@" - fi -done diff --git a/target/eclipse-temurin-22-jdk-jammy/boot/Dockerfile b/target/eclipse-temurin-22-jdk-jammy/boot/Dockerfile deleted file mode 100644 index 6f565072..00000000 --- a/target/eclipse-temurin-22-jdk-jammy/boot/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM eclipse-temurin:22-jdk-jammy - -ENV BOOT_VERSION=2.8.3 -ENV BOOT_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install -# on its first run. We always download the latest version of boot.sh because -# it is just the installer script. -RUN \ -apt-get update && \ -apt-get install -y wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $BOOT_INSTALL && \ -wget -q https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && \ -echo "Comparing installer checksum..." && \ -sha256sum boot.sh && \ -echo "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3 *boot.sh" | sha256sum -c - && \ -mv boot.sh $BOOT_INSTALL/boot && \ -chmod 0755 $BOOT_INSTALL/boot && \ -apt-get purge -y --auto-remove wget - -ENV PATH=$PATH:$BOOT_INSTALL -ENV BOOT_AS_ROOT=yes - -RUN boot - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/eclipse-temurin-22-jdk-jammy/boot/entrypoint b/target/eclipse-temurin-22-jdk-jammy/boot/entrypoint deleted file mode 100755 index 2fe72577..00000000 --- a/target/eclipse-temurin-22-jdk-jammy/boot/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=boot - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/eclipse-temurin-22-jdk-jammy/lein/Dockerfile b/target/eclipse-temurin-22-jdk-jammy/lein/Dockerfile deleted file mode 100644 index 63a02944..00000000 --- a/target/eclipse-temurin-22-jdk-jammy/lein/Dockerfile +++ /dev/null @@ -1,43 +0,0 @@ -FROM eclipse-temurin:22-jdk-jammy - -ENV LEIN_VERSION=2.11.2 -ENV LEIN_INSTALL=/usr/local/bin/ - -WORKDIR /tmp - -# Download the whole repo as an archive -RUN set -eux; \ -apt-get update && \ -apt-get install -y make gnupg wget && \ -rm -rf /var/lib/apt/lists/* && \ -mkdir -p $LEIN_INSTALL && \ -wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ -echo "Comparing lein-pkg checksum ..." && \ -sha256sum lein-pkg && \ -echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ -mv lein-pkg $LEIN_INSTALL/lein && \ -chmod 0755 $LEIN_INSTALL/lein && \ -export GNUPGHOME="$(mktemp -d)" && \ -export FILENAME_EXT=jar && \ -gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -echo "Verifying file PGP signature..." && \ -gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ -gpgconf --kill all && \ -rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ -mkdir -p /usr/share/java && \ -mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ -apt-get purge -y --auto-remove gnupg wget - -ENV PATH=$PATH:$LEIN_INSTALL -ENV LEIN_ROOT 1 - -# Install clojure 1.11.1 so users don't have to download it every time -RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ - && lein deps && rm project.clj - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["repl"] diff --git a/target/eclipse-temurin-22-jdk-jammy/lein/entrypoint b/target/eclipse-temurin-22-jdk-jammy/lein/entrypoint deleted file mode 100755 index ccf8cce5..00000000 --- a/target/eclipse-temurin-22-jdk-jammy/lein/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=lein - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/eclipse-temurin-22-jdk-jammy/tools-deps/Dockerfile b/target/eclipse-temurin-22-jdk-jammy/tools-deps/Dockerfile deleted file mode 100644 index a9e99ac9..00000000 --- a/target/eclipse-temurin-22-jdk-jammy/tools-deps/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM eclipse-temurin:22-jdk-jammy - -ENV CLOJURE_VERSION=1.11.1.1435 - -WORKDIR /tmp - -RUN \ -apt-get update && \ -apt-get install -y make git rlwrap wget && \ -rm -rf /var/lib/apt/lists/* && \ -wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ -sha256sum linux-install-$CLOJURE_VERSION.sh && \ -echo "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ -chmod +x linux-install-$CLOJURE_VERSION.sh && \ -./linux-install-$CLOJURE_VERSION.sh && \ -rm linux-install-$CLOJURE_VERSION.sh && \ -clojure -e "(clojure-version)" && \ -apt-get purge -y --auto-remove wget - -# Docker bug makes rlwrap crash w/o short sleep first -# Bug: https://github.com/moby/moby/issues/28009 -# As of 2021-09-10 this bug still exists, despite that issue being closed -COPY rlwrap.retry /usr/local/bin/rlwrap - -COPY entrypoint /usr/local/bin/entrypoint - -ENTRYPOINT ["entrypoint"] -CMD ["-M", "--repl"] diff --git a/target/eclipse-temurin-22-jdk-jammy/tools-deps/entrypoint b/target/eclipse-temurin-22-jdk-jammy/tools-deps/entrypoint deleted file mode 100755 index 51561d1d..00000000 --- a/target/eclipse-temurin-22-jdk-jammy/tools-deps/entrypoint +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -entrypoint=clj - -cmd=${1:-} - -# check if the first arg starts with a hyphen -if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then - exec "${entrypoint}" "$@" -fi - -if [[ -n "${cmd}" ]]; then - # see if help for the subcommand is successful - if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then - exec "${entrypoint}" "$@" - fi -fi - -exec "$@" diff --git a/target/eclipse-temurin-22-jdk-jammy/tools-deps/rlwrap.retry b/target/eclipse-temurin-22-jdk-jammy/tools-deps/rlwrap.retry deleted file mode 100755 index 83cefbfb..00000000 --- a/target/eclipse-temurin-22-jdk-jammy/tools-deps/rlwrap.retry +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# This script works around a Docker bug that prevents rlwrap from starting -# right when a container is first started. It is intended to replace -# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH -# (e.g. /usr/local/bin). - -max_tries=100 # 100 tries is ~1 second -try=0 - -while true; do - # see if rlwrap can start at all - output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) - exit_code=$? - if [ $exit_code -gt 0 ]; then - # it didn't start - try=$((try+1)) - if [ $try -gt $max_tries ]; then - # we're at max attempts so output the error and exit w/ the same code - echo "$output" >&2 - exit $exit_code - else - # wait a bit and try again - sleep 0.01 - fi - else - # rlwrap can start so let's run it for real - exec /usr/bin/rlwrap "$@" - fi -done