From cd5916cbc69e9ee384ff7a007b979ef2004331c2 Mon Sep 17 00:00:00 2001 From: Eric Timmons <etimmons@mit.edu> Date: Sun, 3 Oct 2021 14:50:52 -0400 Subject: [PATCH] Update parent images Add Bullseye, drop jdk15, add jdk16 --- .../jdk-15 => bullseye/jdk-11}/Dockerfile | 12 +- .../jdk-15 => bullseye/jdk-11}/abcl-wrapper | 0 .../jdk-11}/docker-entrypoint.sh | 0 .../jdk-11}/install-quicklisp | 0 .../jdk-11}/slim/Dockerfile | 4 +- .../jdk-11}/slim/abcl-wrapper | 0 .../jdk-11}/slim/docker-entrypoint.sh | 0 1.7.1/bullseye/jdk-16/Dockerfile | 141 ++++++++++++++++++ .../bullseye/jdk-16}/abcl-wrapper | 0 .../bullseye/jdk-16}/docker-entrypoint.sh | 0 .../bullseye/jdk-16}/install-quicklisp | 0 1.7.1/bullseye/jdk-16/slim/Dockerfile | 42 ++++++ .../bullseye/jdk-16}/slim/abcl-wrapper | 0 .../jdk-16}/slim/docker-entrypoint.sh | 0 1.7.1/bullseye/jdk-8/Dockerfile | 141 ++++++++++++++++++ 1.7.1/bullseye/jdk-8/abcl-wrapper | 7 + 1.7.1/bullseye/jdk-8/docker-entrypoint.sh | 8 + 1.7.1/bullseye/jdk-8/install-quicklisp | 18 +++ 1.7.1/bullseye/jdk-8/slim/Dockerfile | 42 ++++++ 1.7.1/bullseye/jdk-8/slim/abcl-wrapper | 7 + .../bullseye/jdk-8/slim/docker-entrypoint.sh | 8 + 1.7.1/buster/jdk-11/Dockerfile | 10 +- 1.7.1/buster/jdk-11/slim/Dockerfile | 2 +- 1.7.1/buster/jdk-16/Dockerfile | 141 ++++++++++++++++++ .../buster/jdk-16/abcl-wrapper | 0 1.7.1/buster/jdk-16/docker-entrypoint.sh | 8 + 1.7.1/buster/jdk-16/install-quicklisp | 18 +++ 1.7.1/buster/jdk-16/slim/Dockerfile | 42 ++++++ 1.7.1/buster/jdk-16/slim/abcl-wrapper | 7 + 1.7.1/buster/jdk-16/slim/docker-entrypoint.sh | 8 + 1.7.1/buster/jdk-8/Dockerfile | 10 +- 1.7.1/buster/jdk-8/slim/Dockerfile | 2 +- .../{jdk-15 => jdk-16}/Dockerfile | 2 +- .../{jdk-15 => jdk-16}/abcl-wrapper.bat | 0 .../{jdk-15 => jdk-16}/Dockerfile | 2 +- .../{jdk-15 => jdk-16}/abcl-wrapper.bat | 0 .../jdk-15 => bullseye/jdk-11}/Dockerfile | 12 +- 1.8.0/bullseye/jdk-11/abcl-wrapper | 7 + 1.8.0/bullseye/jdk-11/docker-entrypoint.sh | 8 + 1.8.0/bullseye/jdk-11/install-quicklisp | 18 +++ .../jdk-11}/slim/Dockerfile | 4 +- 1.8.0/bullseye/jdk-11/slim/abcl-wrapper | 7 + .../bullseye/jdk-11/slim/docker-entrypoint.sh | 8 + 1.8.0/bullseye/jdk-16/Dockerfile | 141 ++++++++++++++++++ 1.8.0/bullseye/jdk-16/abcl-wrapper | 7 + 1.8.0/bullseye/jdk-16/docker-entrypoint.sh | 8 + 1.8.0/bullseye/jdk-16/install-quicklisp | 18 +++ 1.8.0/bullseye/jdk-16/slim/Dockerfile | 42 ++++++ 1.8.0/bullseye/jdk-16/slim/abcl-wrapper | 7 + .../bullseye/jdk-16/slim/docker-entrypoint.sh | 8 + 1.8.0/bullseye/jdk-8/Dockerfile | 141 ++++++++++++++++++ 1.8.0/bullseye/jdk-8/abcl-wrapper | 7 + 1.8.0/bullseye/jdk-8/docker-entrypoint.sh | 8 + 1.8.0/bullseye/jdk-8/install-quicklisp | 18 +++ 1.8.0/bullseye/jdk-8/slim/Dockerfile | 42 ++++++ 1.8.0/bullseye/jdk-8/slim/abcl-wrapper | 7 + .../bullseye/jdk-8/slim/docker-entrypoint.sh | 8 + 1.8.0/buster/jdk-11/Dockerfile | 10 +- 1.8.0/buster/jdk-11/slim/Dockerfile | 2 +- 1.8.0/buster/jdk-16/Dockerfile | 141 ++++++++++++++++++ 1.8.0/buster/jdk-16/abcl-wrapper | 7 + 1.8.0/buster/jdk-16/docker-entrypoint.sh | 8 + 1.8.0/buster/jdk-16/install-quicklisp | 18 +++ 1.8.0/buster/jdk-16/slim/Dockerfile | 42 ++++++ 1.8.0/buster/jdk-16/slim/abcl-wrapper | 7 + 1.8.0/buster/jdk-16/slim/docker-entrypoint.sh | 8 + 1.8.0/buster/jdk-8/Dockerfile | 10 +- 1.8.0/buster/jdk-8/slim/Dockerfile | 2 +- .../{jdk-15 => jdk-16}/Dockerfile | 2 +- .../{jdk-15 => jdk-16}/abcl-wrapper.bat | 0 .../{jdk-15 => jdk-16}/Dockerfile | 2 +- .../{jdk-15 => jdk-16}/abcl-wrapper.bat | 0 Dockerfile-apt-nightly.template | 8 +- Dockerfile-apt-slim.template | 2 +- Dockerfile-apt.template | 6 +- abcl-wrapper-jdk16 | 7 + ...rapper-jdk15.bat => abcl-wrapper-jdk16.bat | 0 generate-stackbrew-library.sh | 20 +-- update.sh | 19 ++- 79 files changed, 1460 insertions(+), 69 deletions(-) rename 1.7.1/{buster/jdk-15 => bullseye/jdk-11}/Dockerfile (91%) rename 1.7.1/{buster/jdk-15 => bullseye/jdk-11}/abcl-wrapper (100%) rename 1.7.1/{buster/jdk-15 => bullseye/jdk-11}/docker-entrypoint.sh (100%) rename 1.7.1/{buster/jdk-15 => bullseye/jdk-11}/install-quicklisp (100%) rename 1.7.1/{buster/jdk-15 => bullseye/jdk-11}/slim/Dockerfile (92%) rename 1.7.1/{buster/jdk-15 => bullseye/jdk-11}/slim/abcl-wrapper (100%) rename 1.7.1/{buster/jdk-15 => bullseye/jdk-11}/slim/docker-entrypoint.sh (100%) create mode 100644 1.7.1/bullseye/jdk-16/Dockerfile rename {1.8.0/buster/jdk-15 => 1.7.1/bullseye/jdk-16}/abcl-wrapper (100%) rename {1.8.0/buster/jdk-15 => 1.7.1/bullseye/jdk-16}/docker-entrypoint.sh (100%) rename {1.8.0/buster/jdk-15 => 1.7.1/bullseye/jdk-16}/install-quicklisp (100%) create mode 100644 1.7.1/bullseye/jdk-16/slim/Dockerfile rename {1.8.0/buster/jdk-15 => 1.7.1/bullseye/jdk-16}/slim/abcl-wrapper (100%) rename {1.8.0/buster/jdk-15 => 1.7.1/bullseye/jdk-16}/slim/docker-entrypoint.sh (100%) create mode 100644 1.7.1/bullseye/jdk-8/Dockerfile create mode 100755 1.7.1/bullseye/jdk-8/abcl-wrapper create mode 100755 1.7.1/bullseye/jdk-8/docker-entrypoint.sh create mode 100755 1.7.1/bullseye/jdk-8/install-quicklisp create mode 100644 1.7.1/bullseye/jdk-8/slim/Dockerfile create mode 100755 1.7.1/bullseye/jdk-8/slim/abcl-wrapper create mode 100755 1.7.1/bullseye/jdk-8/slim/docker-entrypoint.sh create mode 100644 1.7.1/buster/jdk-16/Dockerfile rename abcl-wrapper-jdk15 => 1.7.1/buster/jdk-16/abcl-wrapper (100%) create mode 100755 1.7.1/buster/jdk-16/docker-entrypoint.sh create mode 100755 1.7.1/buster/jdk-16/install-quicklisp create mode 100644 1.7.1/buster/jdk-16/slim/Dockerfile create mode 100755 1.7.1/buster/jdk-16/slim/abcl-wrapper create mode 100755 1.7.1/buster/jdk-16/slim/docker-entrypoint.sh rename 1.7.1/windowsservercore-1809/{jdk-15 => jdk-16}/Dockerfile (97%) rename 1.7.1/windowsservercore-1809/{jdk-15 => jdk-16}/abcl-wrapper.bat (100%) rename 1.7.1/windowsservercore-ltsc2016/{jdk-15 => jdk-16}/Dockerfile (96%) rename 1.7.1/windowsservercore-ltsc2016/{jdk-15 => jdk-16}/abcl-wrapper.bat (100%) rename 1.8.0/{buster/jdk-15 => bullseye/jdk-11}/Dockerfile (91%) create mode 100755 1.8.0/bullseye/jdk-11/abcl-wrapper create mode 100755 1.8.0/bullseye/jdk-11/docker-entrypoint.sh create mode 100755 1.8.0/bullseye/jdk-11/install-quicklisp rename 1.8.0/{buster/jdk-15 => bullseye/jdk-11}/slim/Dockerfile (92%) create mode 100755 1.8.0/bullseye/jdk-11/slim/abcl-wrapper create mode 100755 1.8.0/bullseye/jdk-11/slim/docker-entrypoint.sh create mode 100644 1.8.0/bullseye/jdk-16/Dockerfile create mode 100755 1.8.0/bullseye/jdk-16/abcl-wrapper create mode 100755 1.8.0/bullseye/jdk-16/docker-entrypoint.sh create mode 100755 1.8.0/bullseye/jdk-16/install-quicklisp create mode 100644 1.8.0/bullseye/jdk-16/slim/Dockerfile create mode 100755 1.8.0/bullseye/jdk-16/slim/abcl-wrapper create mode 100755 1.8.0/bullseye/jdk-16/slim/docker-entrypoint.sh create mode 100644 1.8.0/bullseye/jdk-8/Dockerfile create mode 100755 1.8.0/bullseye/jdk-8/abcl-wrapper create mode 100755 1.8.0/bullseye/jdk-8/docker-entrypoint.sh create mode 100755 1.8.0/bullseye/jdk-8/install-quicklisp create mode 100644 1.8.0/bullseye/jdk-8/slim/Dockerfile create mode 100755 1.8.0/bullseye/jdk-8/slim/abcl-wrapper create mode 100755 1.8.0/bullseye/jdk-8/slim/docker-entrypoint.sh create mode 100644 1.8.0/buster/jdk-16/Dockerfile create mode 100755 1.8.0/buster/jdk-16/abcl-wrapper create mode 100755 1.8.0/buster/jdk-16/docker-entrypoint.sh create mode 100755 1.8.0/buster/jdk-16/install-quicklisp create mode 100644 1.8.0/buster/jdk-16/slim/Dockerfile create mode 100755 1.8.0/buster/jdk-16/slim/abcl-wrapper create mode 100755 1.8.0/buster/jdk-16/slim/docker-entrypoint.sh rename 1.8.0/windowsservercore-1809/{jdk-15 => jdk-16}/Dockerfile (97%) rename 1.8.0/windowsservercore-1809/{jdk-15 => jdk-16}/abcl-wrapper.bat (100%) rename 1.8.0/windowsservercore-ltsc2016/{jdk-15 => jdk-16}/Dockerfile (96%) rename 1.8.0/windowsservercore-ltsc2016/{jdk-15 => jdk-16}/abcl-wrapper.bat (100%) create mode 100755 abcl-wrapper-jdk16 rename abcl-wrapper-jdk15.bat => abcl-wrapper-jdk16.bat (100%) diff --git a/1.7.1/buster/jdk-15/Dockerfile b/1.7.1/bullseye/jdk-11/Dockerfile similarity index 91% rename from 1.7.1/buster/jdk-15/Dockerfile rename to 1.7.1/bullseye/jdk-11/Dockerfile index 2662678..53ee96b 100644 --- a/1.7.1/buster/jdk-15/Dockerfile +++ b/1.7.1/bullseye/jdk-11/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-buster +FROM openjdk:11-jdk-bullseye # Install the packages that buildpack-deps adds on top of # buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.7.1/buster/jdk-15/abcl-wrapper b/1.7.1/bullseye/jdk-11/abcl-wrapper similarity index 100% rename from 1.7.1/buster/jdk-15/abcl-wrapper rename to 1.7.1/bullseye/jdk-11/abcl-wrapper diff --git a/1.7.1/buster/jdk-15/docker-entrypoint.sh b/1.7.1/bullseye/jdk-11/docker-entrypoint.sh similarity index 100% rename from 1.7.1/buster/jdk-15/docker-entrypoint.sh rename to 1.7.1/bullseye/jdk-11/docker-entrypoint.sh diff --git a/1.7.1/buster/jdk-15/install-quicklisp b/1.7.1/bullseye/jdk-11/install-quicklisp similarity index 100% rename from 1.7.1/buster/jdk-15/install-quicklisp rename to 1.7.1/bullseye/jdk-11/install-quicklisp diff --git a/1.7.1/buster/jdk-15/slim/Dockerfile b/1.7.1/bullseye/jdk-11/slim/Dockerfile similarity index 92% rename from 1.7.1/buster/jdk-15/slim/Dockerfile rename to 1.7.1/bullseye/jdk-11/slim/Dockerfile index 3b4b4d5..800a8f4 100644 --- a/1.7.1/buster/jdk-15/slim/Dockerfile +++ b/1.7.1/bullseye/jdk-11/slim/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-slim-buster +FROM openjdk:11-jdk-slim-bullseye ENV ABCL_VERSION 1.7.1 @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.7.1/buster/jdk-15/slim/abcl-wrapper b/1.7.1/bullseye/jdk-11/slim/abcl-wrapper similarity index 100% rename from 1.7.1/buster/jdk-15/slim/abcl-wrapper rename to 1.7.1/bullseye/jdk-11/slim/abcl-wrapper diff --git a/1.7.1/buster/jdk-15/slim/docker-entrypoint.sh b/1.7.1/bullseye/jdk-11/slim/docker-entrypoint.sh similarity index 100% rename from 1.7.1/buster/jdk-15/slim/docker-entrypoint.sh rename to 1.7.1/bullseye/jdk-11/slim/docker-entrypoint.sh diff --git a/1.7.1/bullseye/jdk-16/Dockerfile b/1.7.1/bullseye/jdk-16/Dockerfile new file mode 100644 index 0000000..bd63fdf --- /dev/null +++ b/1.7.1/bullseye/jdk-16/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-bullseye + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# Add the Quicklisp installer. +WORKDIR /usr/local/share/common-lisp/source/quicklisp/ + +ENV QUICKLISP_SIGNING_KEY D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7 + +RUN set -x \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp" > quicklisp.lisp \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# Install cl-launch. In the next release, move this up so that all images can +# share it. +# hadolint ignore=DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install --no-install-recommends -y cl-launch \ + && rm -rf /var/lib/apt/lists/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/buster/jdk-15/abcl-wrapper b/1.7.1/bullseye/jdk-16/abcl-wrapper similarity index 100% rename from 1.8.0/buster/jdk-15/abcl-wrapper rename to 1.7.1/bullseye/jdk-16/abcl-wrapper diff --git a/1.8.0/buster/jdk-15/docker-entrypoint.sh b/1.7.1/bullseye/jdk-16/docker-entrypoint.sh similarity index 100% rename from 1.8.0/buster/jdk-15/docker-entrypoint.sh rename to 1.7.1/bullseye/jdk-16/docker-entrypoint.sh diff --git a/1.8.0/buster/jdk-15/install-quicklisp b/1.7.1/bullseye/jdk-16/install-quicklisp similarity index 100% rename from 1.8.0/buster/jdk-15/install-quicklisp rename to 1.7.1/bullseye/jdk-16/install-quicklisp diff --git a/1.7.1/bullseye/jdk-16/slim/Dockerfile b/1.7.1/bullseye/jdk-16/slim/Dockerfile new file mode 100644 index 0000000..9662dfd --- /dev/null +++ b/1.7.1/bullseye/jdk-16/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-slim-bullseye + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/buster/jdk-15/slim/abcl-wrapper b/1.7.1/bullseye/jdk-16/slim/abcl-wrapper similarity index 100% rename from 1.8.0/buster/jdk-15/slim/abcl-wrapper rename to 1.7.1/bullseye/jdk-16/slim/abcl-wrapper diff --git a/1.8.0/buster/jdk-15/slim/docker-entrypoint.sh b/1.7.1/bullseye/jdk-16/slim/docker-entrypoint.sh similarity index 100% rename from 1.8.0/buster/jdk-15/slim/docker-entrypoint.sh rename to 1.7.1/bullseye/jdk-16/slim/docker-entrypoint.sh diff --git a/1.7.1/bullseye/jdk-8/Dockerfile b/1.7.1/bullseye/jdk-8/Dockerfile new file mode 100644 index 0000000..6ed88d0 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:8-jdk-bullseye + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# Add the Quicklisp installer. +WORKDIR /usr/local/share/common-lisp/source/quicklisp/ + +ENV QUICKLISP_SIGNING_KEY D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7 + +RUN set -x \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp" > quicklisp.lisp \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# Install cl-launch. In the next release, move this up so that all images can +# share it. +# hadolint ignore=DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install --no-install-recommends -y cl-launch \ + && rm -rf /var/lib/apt/lists/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.7.1/bullseye/jdk-8/abcl-wrapper b/1.7.1/bullseye/jdk-8/abcl-wrapper new file mode 100755 index 0000000..033e29a --- /dev/null +++ b/1.7.1/bullseye/jdk-8/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.7.1/bullseye/jdk-8/docker-entrypoint.sh b/1.7.1/bullseye/jdk-8/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/bullseye/jdk-8/install-quicklisp b/1.7.1/bullseye/jdk-8/install-quicklisp new file mode 100755 index 0000000..ae80aa5 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.7.1/bullseye/jdk-8/slim/Dockerfile b/1.7.1/bullseye/jdk-8/slim/Dockerfile new file mode 100644 index 0000000..5366afa --- /dev/null +++ b/1.7.1/bullseye/jdk-8/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:8-jdk-slim-bullseye + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.7.1/bullseye/jdk-8/slim/abcl-wrapper b/1.7.1/bullseye/jdk-8/slim/abcl-wrapper new file mode 100755 index 0000000..033e29a --- /dev/null +++ b/1.7.1/bullseye/jdk-8/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.7.1/bullseye/jdk-8/slim/docker-entrypoint.sh b/1.7.1/bullseye/jdk-8/slim/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/buster/jdk-11/Dockerfile b/1.7.1/buster/jdk-11/Dockerfile index 85c5869..5ad7680 100644 --- a/1.7.1/buster/jdk-11/Dockerfile +++ b/1.7.1/buster/jdk-11/Dockerfile @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.7.1/buster/jdk-11/slim/Dockerfile b/1.7.1/buster/jdk-11/slim/Dockerfile index 88f98e4..8f3bc06 100644 --- a/1.7.1/buster/jdk-11/slim/Dockerfile +++ b/1.7.1/buster/jdk-11/slim/Dockerfile @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.7.1/buster/jdk-16/Dockerfile b/1.7.1/buster/jdk-16/Dockerfile new file mode 100644 index 0000000..6e40485 --- /dev/null +++ b/1.7.1/buster/jdk-16/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-buster + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# Add the Quicklisp installer. +WORKDIR /usr/local/share/common-lisp/source/quicklisp/ + +ENV QUICKLISP_SIGNING_KEY D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7 + +RUN set -x \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp" > quicklisp.lisp \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# Install cl-launch. In the next release, move this up so that all images can +# share it. +# hadolint ignore=DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install --no-install-recommends -y cl-launch \ + && rm -rf /var/lib/apt/lists/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/abcl-wrapper-jdk15 b/1.7.1/buster/jdk-16/abcl-wrapper similarity index 100% rename from abcl-wrapper-jdk15 rename to 1.7.1/buster/jdk-16/abcl-wrapper diff --git a/1.7.1/buster/jdk-16/docker-entrypoint.sh b/1.7.1/buster/jdk-16/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.7.1/buster/jdk-16/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/buster/jdk-16/install-quicklisp b/1.7.1/buster/jdk-16/install-quicklisp new file mode 100755 index 0000000..ae80aa5 --- /dev/null +++ b/1.7.1/buster/jdk-16/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.7.1/buster/jdk-16/slim/Dockerfile b/1.7.1/buster/jdk-16/slim/Dockerfile new file mode 100644 index 0000000..fcc3440 --- /dev/null +++ b/1.7.1/buster/jdk-16/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-slim-buster + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.7.1/buster/jdk-16/slim/abcl-wrapper b/1.7.1/buster/jdk-16/slim/abcl-wrapper new file mode 100755 index 0000000..da76f04 --- /dev/null +++ b/1.7.1/buster/jdk-16/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.7.1/buster/jdk-16/slim/docker-entrypoint.sh b/1.7.1/buster/jdk-16/slim/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.7.1/buster/jdk-16/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/buster/jdk-8/Dockerfile b/1.7.1/buster/jdk-8/Dockerfile index ee82d9a..635debb 100644 --- a/1.7.1/buster/jdk-8/Dockerfile +++ b/1.7.1/buster/jdk-8/Dockerfile @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.7.1/buster/jdk-8/slim/Dockerfile b/1.7.1/buster/jdk-8/slim/Dockerfile index 03c7bb1..899a769 100644 --- a/1.7.1/buster/jdk-8/slim/Dockerfile +++ b/1.7.1/buster/jdk-8/slim/Dockerfile @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.7.1/windowsservercore-1809/jdk-15/Dockerfile b/1.7.1/windowsservercore-1809/jdk-16/Dockerfile similarity index 97% rename from 1.7.1/windowsservercore-1809/jdk-15/Dockerfile rename to 1.7.1/windowsservercore-1809/jdk-16/Dockerfile index 83461a3..fefeb48 100644 --- a/1.7.1/windowsservercore-1809/jdk-15/Dockerfile +++ b/1.7.1/windowsservercore-1809/jdk-16/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-windowsservercore-1809 +FROM openjdk:16-jdk-windowsservercore-1809 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/1.7.1/windowsservercore-1809/jdk-15/abcl-wrapper.bat b/1.7.1/windowsservercore-1809/jdk-16/abcl-wrapper.bat similarity index 100% rename from 1.7.1/windowsservercore-1809/jdk-15/abcl-wrapper.bat rename to 1.7.1/windowsservercore-1809/jdk-16/abcl-wrapper.bat diff --git a/1.7.1/windowsservercore-ltsc2016/jdk-15/Dockerfile b/1.7.1/windowsservercore-ltsc2016/jdk-16/Dockerfile similarity index 96% rename from 1.7.1/windowsservercore-ltsc2016/jdk-15/Dockerfile rename to 1.7.1/windowsservercore-ltsc2016/jdk-16/Dockerfile index c1c9f29..00183a8 100644 --- a/1.7.1/windowsservercore-ltsc2016/jdk-15/Dockerfile +++ b/1.7.1/windowsservercore-ltsc2016/jdk-16/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-windowsservercore-ltsc2016 +FROM openjdk:16-jdk-windowsservercore-ltsc2016 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/1.7.1/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat b/1.7.1/windowsservercore-ltsc2016/jdk-16/abcl-wrapper.bat similarity index 100% rename from 1.7.1/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat rename to 1.7.1/windowsservercore-ltsc2016/jdk-16/abcl-wrapper.bat diff --git a/1.8.0/buster/jdk-15/Dockerfile b/1.8.0/bullseye/jdk-11/Dockerfile similarity index 91% rename from 1.8.0/buster/jdk-15/Dockerfile rename to 1.8.0/bullseye/jdk-11/Dockerfile index d7b3d8c..97a44e8 100644 --- a/1.8.0/buster/jdk-15/Dockerfile +++ b/1.8.0/bullseye/jdk-11/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-buster +FROM openjdk:11-jdk-bullseye # Install the packages that buildpack-deps adds on top of # buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.8.0/bullseye/jdk-11/abcl-wrapper b/1.8.0/bullseye/jdk-11/abcl-wrapper new file mode 100755 index 0000000..da76f04 --- /dev/null +++ b/1.8.0/bullseye/jdk-11/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-11/docker-entrypoint.sh b/1.8.0/bullseye/jdk-11/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.8.0/bullseye/jdk-11/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-11/install-quicklisp b/1.8.0/bullseye/jdk-11/install-quicklisp new file mode 100755 index 0000000..ae80aa5 --- /dev/null +++ b/1.8.0/bullseye/jdk-11/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.8.0/buster/jdk-15/slim/Dockerfile b/1.8.0/bullseye/jdk-11/slim/Dockerfile similarity index 92% rename from 1.8.0/buster/jdk-15/slim/Dockerfile rename to 1.8.0/bullseye/jdk-11/slim/Dockerfile index 8d1ab2d..4f69db0 100644 --- a/1.8.0/buster/jdk-15/slim/Dockerfile +++ b/1.8.0/bullseye/jdk-11/slim/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-slim-buster +FROM openjdk:11-jdk-slim-bullseye ENV ABCL_VERSION 1.8.0 @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.8.0/bullseye/jdk-11/slim/abcl-wrapper b/1.8.0/bullseye/jdk-11/slim/abcl-wrapper new file mode 100755 index 0000000..da76f04 --- /dev/null +++ b/1.8.0/bullseye/jdk-11/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-11/slim/docker-entrypoint.sh b/1.8.0/bullseye/jdk-11/slim/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.8.0/bullseye/jdk-11/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-16/Dockerfile b/1.8.0/bullseye/jdk-16/Dockerfile new file mode 100644 index 0000000..5f3de0c --- /dev/null +++ b/1.8.0/bullseye/jdk-16/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-bullseye + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# Add the Quicklisp installer. +WORKDIR /usr/local/share/common-lisp/source/quicklisp/ + +ENV QUICKLISP_SIGNING_KEY D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7 + +RUN set -x \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp" > quicklisp.lisp \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# Install cl-launch. In the next release, move this up so that all images can +# share it. +# hadolint ignore=DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install --no-install-recommends -y cl-launch \ + && rm -rf /var/lib/apt/lists/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/bullseye/jdk-16/abcl-wrapper b/1.8.0/bullseye/jdk-16/abcl-wrapper new file mode 100755 index 0000000..da76f04 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-16/docker-entrypoint.sh b/1.8.0/bullseye/jdk-16/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-16/install-quicklisp b/1.8.0/bullseye/jdk-16/install-quicklisp new file mode 100755 index 0000000..ae80aa5 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.8.0/bullseye/jdk-16/slim/Dockerfile b/1.8.0/bullseye/jdk-16/slim/Dockerfile new file mode 100644 index 0000000..b98cb3f --- /dev/null +++ b/1.8.0/bullseye/jdk-16/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-slim-bullseye + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/bullseye/jdk-16/slim/abcl-wrapper b/1.8.0/bullseye/jdk-16/slim/abcl-wrapper new file mode 100755 index 0000000..da76f04 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-16/slim/docker-entrypoint.sh b/1.8.0/bullseye/jdk-16/slim/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-8/Dockerfile b/1.8.0/bullseye/jdk-8/Dockerfile new file mode 100644 index 0000000..017c1a7 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:8-jdk-bullseye + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# Add the Quicklisp installer. +WORKDIR /usr/local/share/common-lisp/source/quicklisp/ + +ENV QUICKLISP_SIGNING_KEY D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7 + +RUN set -x \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp" > quicklisp.lisp \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# Install cl-launch. In the next release, move this up so that all images can +# share it. +# hadolint ignore=DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install --no-install-recommends -y cl-launch \ + && rm -rf /var/lib/apt/lists/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/bullseye/jdk-8/abcl-wrapper b/1.8.0/bullseye/jdk-8/abcl-wrapper new file mode 100755 index 0000000..033e29a --- /dev/null +++ b/1.8.0/bullseye/jdk-8/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-8/docker-entrypoint.sh b/1.8.0/bullseye/jdk-8/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-8/install-quicklisp b/1.8.0/bullseye/jdk-8/install-quicklisp new file mode 100755 index 0000000..ae80aa5 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.8.0/bullseye/jdk-8/slim/Dockerfile b/1.8.0/bullseye/jdk-8/slim/Dockerfile new file mode 100644 index 0000000..fceec29 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:8-jdk-slim-bullseye + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/bullseye/jdk-8/slim/abcl-wrapper b/1.8.0/bullseye/jdk-8/slim/abcl-wrapper new file mode 100755 index 0000000..033e29a --- /dev/null +++ b/1.8.0/bullseye/jdk-8/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-8/slim/docker-entrypoint.sh b/1.8.0/bullseye/jdk-8/slim/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/buster/jdk-11/Dockerfile b/1.8.0/buster/jdk-11/Dockerfile index 690062b..705d1a1 100644 --- a/1.8.0/buster/jdk-11/Dockerfile +++ b/1.8.0/buster/jdk-11/Dockerfile @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.8.0/buster/jdk-11/slim/Dockerfile b/1.8.0/buster/jdk-11/slim/Dockerfile index eb42cf0..024aa5a 100644 --- a/1.8.0/buster/jdk-11/slim/Dockerfile +++ b/1.8.0/buster/jdk-11/slim/Dockerfile @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.8.0/buster/jdk-16/Dockerfile b/1.8.0/buster/jdk-16/Dockerfile new file mode 100644 index 0000000..28f1d49 --- /dev/null +++ b/1.8.0/buster/jdk-16/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-buster + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# Add the Quicklisp installer. +WORKDIR /usr/local/share/common-lisp/source/quicklisp/ + +ENV QUICKLISP_SIGNING_KEY D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7 + +RUN set -x \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp" > quicklisp.lisp \ + && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# Install cl-launch. In the next release, move this up so that all images can +# share it. +# hadolint ignore=DL3008 +RUN set -x \ + && apt-get update \ + && apt-get install --no-install-recommends -y cl-launch \ + && rm -rf /var/lib/apt/lists/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/buster/jdk-16/abcl-wrapper b/1.8.0/buster/jdk-16/abcl-wrapper new file mode 100755 index 0000000..da76f04 --- /dev/null +++ b/1.8.0/buster/jdk-16/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/buster/jdk-16/docker-entrypoint.sh b/1.8.0/buster/jdk-16/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.8.0/buster/jdk-16/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/buster/jdk-16/install-quicklisp b/1.8.0/buster/jdk-16/install-quicklisp new file mode 100755 index 0000000..ae80aa5 --- /dev/null +++ b/1.8.0/buster/jdk-16/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.8.0/buster/jdk-16/slim/Dockerfile b/1.8.0/buster/jdk-16/slim/Dockerfile new file mode 100644 index 0000000..fe35d5f --- /dev/null +++ b/1.8.0/buster/jdk-16/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-slim-buster + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/buster/jdk-16/slim/abcl-wrapper b/1.8.0/buster/jdk-16/slim/abcl-wrapper new file mode 100755 index 0000000..da76f04 --- /dev/null +++ b/1.8.0/buster/jdk-16/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/buster/jdk-16/slim/docker-entrypoint.sh b/1.8.0/buster/jdk-16/slim/docker-entrypoint.sh new file mode 100755 index 0000000..7f6b5a3 --- /dev/null +++ b/1.8.0/buster/jdk-16/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/buster/jdk-8/Dockerfile b/1.8.0/buster/jdk-8/Dockerfile index b3a48f3..6a07617 100644 --- a/1.8.0/buster/jdk-8/Dockerfile +++ b/1.8.0/buster/jdk-8/Dockerfile @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.8.0/buster/jdk-8/slim/Dockerfile b/1.8.0/buster/jdk-8/slim/Dockerfile index 24717ca..3373340 100644 --- a/1.8.0/buster/jdk-8/slim/Dockerfile +++ b/1.8.0/buster/jdk-8/slim/Dockerfile @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.8.0/windowsservercore-1809/jdk-15/Dockerfile b/1.8.0/windowsservercore-1809/jdk-16/Dockerfile similarity index 97% rename from 1.8.0/windowsservercore-1809/jdk-15/Dockerfile rename to 1.8.0/windowsservercore-1809/jdk-16/Dockerfile index 24d2f6f..7b16252 100644 --- a/1.8.0/windowsservercore-1809/jdk-15/Dockerfile +++ b/1.8.0/windowsservercore-1809/jdk-16/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-windowsservercore-1809 +FROM openjdk:16-jdk-windowsservercore-1809 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/1.8.0/windowsservercore-1809/jdk-15/abcl-wrapper.bat b/1.8.0/windowsservercore-1809/jdk-16/abcl-wrapper.bat similarity index 100% rename from 1.8.0/windowsservercore-1809/jdk-15/abcl-wrapper.bat rename to 1.8.0/windowsservercore-1809/jdk-16/abcl-wrapper.bat diff --git a/1.8.0/windowsservercore-ltsc2016/jdk-15/Dockerfile b/1.8.0/windowsservercore-ltsc2016/jdk-16/Dockerfile similarity index 96% rename from 1.8.0/windowsservercore-ltsc2016/jdk-15/Dockerfile rename to 1.8.0/windowsservercore-ltsc2016/jdk-16/Dockerfile index fc608b4..2b1aefb 100644 --- a/1.8.0/windowsservercore-ltsc2016/jdk-15/Dockerfile +++ b/1.8.0/windowsservercore-ltsc2016/jdk-16/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-windowsservercore-ltsc2016 +FROM openjdk:16-jdk-windowsservercore-ltsc2016 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/1.8.0/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat b/1.8.0/windowsservercore-ltsc2016/jdk-16/abcl-wrapper.bat similarity index 100% rename from 1.8.0/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat rename to 1.8.0/windowsservercore-ltsc2016/jdk-16/abcl-wrapper.bat diff --git a/Dockerfile-apt-nightly.template b/Dockerfile-apt-nightly.template index af9d595..02e2f2a 100644 --- a/Dockerfile-apt-nightly.template +++ b/Dockerfile-apt-nightly.template @@ -56,10 +56,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -107,7 +107,7 @@ RUN set -x \ && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/Dockerfile-apt-slim.template b/Dockerfile-apt-slim.template index e05dcd3..c9969a2 100644 --- a/Dockerfile-apt-slim.template +++ b/Dockerfile-apt-slim.template @@ -14,7 +14,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/Dockerfile-apt.template b/Dockerfile-apt.template index 96ca344..0099ff9 100644 --- a/Dockerfile-apt.template +++ b/Dockerfile-apt.template @@ -59,7 +59,7 @@ RUN set -ex; \ # provide Debian based images for jdk12+. ARG MAVEN_VERSION=3.8.2 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -86,7 +86,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -109,7 +109,7 @@ RUN set -x \ && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/abcl-wrapper-jdk16 b/abcl-wrapper-jdk16 new file mode 100755 index 0000000..da76f04 --- /dev/null +++ b/abcl-wrapper-jdk16 @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/abcl-wrapper-jdk15.bat b/abcl-wrapper-jdk16.bat similarity index 100% rename from abcl-wrapper-jdk15.bat rename to abcl-wrapper-jdk16.bat diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 7af33b6..5bf68c3 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -6,23 +6,22 @@ declare -A aliases=( [1.7.1]='1.7' ) -defaultDebianSuite='buster' -defaultJavaVersion='15' +defaultDebianSuite='bullseye' +defaultJavaVersion='16' self="$(basename "$BASH_SOURCE")" cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" -if [ "${1-unset}" = "nightly" ]; then - versions=( nightly ) - aliases[nightly]="$(grep -e "^ENV ABCL_COMMIT" nightly/buster/jdk-11/Dockerfile | cut -d" " -f 3 | head -c 7)" +if [ "${1-unset}" = "rc" ]; then + versions=( *rc/ ) + versions=( "${versions[@]%/}" ) elif [ "${1-unset}" = "all" ]; then versions=( */ ) versions=( "${versions[@]%/}" ) - aliases[nightly]="$(grep -e "^ENV ABCL_COMMIT" nightly/buster/jdk-11/Dockerfile | cut -d" " -f 3 | head -c 7)" else versions=( */ ) versions=( "${versions[@]%/}" ) - versions=( "${versions[@]/nightly}" ) + versions=( "${versions[@]%%*rc}" ) fi # sort version numbers with highest first @@ -82,8 +81,9 @@ join() { for version in "${versions[@]}"; do for v in \ - buster/{jdk-15,jdk-11,jdk-8}/{,slim} \ - windowsservercore-{1809,ltsc2016}/{jdk-15,jdk-11,jdk-8}/ \ + bullseye/{jdk-16,jdk-11,jdk-8}/{,slim} \ + buster/{jdk-16,jdk-11,jdk-8}/{,slim} \ + windowsservercore-{1809,ltsc2016}/{jdk-16,jdk-11,jdk-8}/ \ ; do os="${v%%/*}" javaVariant="${v%/*}" @@ -100,7 +100,7 @@ for version in "${versions[@]}"; do dir="$version/$v" - if [ "$version" = "nightly" ] && [[ "$os" == "windowsservercore"* ]]; then + if [[ $version == *rc ]] && [[ "$os" == "windowsservercore"* ]]; then continue fi diff --git a/update.sh b/update.sh index 474de04..f4f4288 100755 --- a/update.sh +++ b/update.sh @@ -3,6 +3,10 @@ set -Eeuo pipefail cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" +declare -A refs=( + [1.8.1]='master' +) + versions=( "$@" ) generated_warning() { @@ -17,7 +21,7 @@ EOH for version in "${versions[@]}"; do - if [ "$version" = "nightly" ]; then + if [[ $version = *rc ]]; then abclGitSha="$(curl -fsSL https://api.github.com/repos/armedbear/abcl/commits/master | jq -r .sha)" unset abclBinZipUrl unset abclBinZipSha @@ -28,8 +32,9 @@ for version in "${versions[@]}"; do fi for v in \ - buster/{jdk-15,jdk-11,jdk-8}/{,slim} \ - windowsservercore-{1809,ltsc2016}/{jdk-15,jdk-11,jdk-8}/ \ + bullseye/{jdk-16,jdk-11,jdk-8}/{,slim} \ + buster/{jdk-16,jdk-11,jdk-8}/{,slim} \ + windowsservercore-{1809,ltsc2016}/{jdk-16,jdk-11,jdk-8}/ \ ; do os="${v%%/*}" javaVariant="${v%/*}" @@ -46,14 +51,14 @@ for version in "${versions[@]}"; do dir="$version/$v" - if [ "$version" = "nightly" ] && [[ "$os" == "windowsservercore"* ]]; then + if [[ $version == *rc ]] && [[ "$os" == "windowsservercore"* ]]; then continue fi mkdir -p "$dir" case "$os" in - buster) + bullseye|buster) template="apt$variantTag" cp "abcl-wrapper-jdk$javaVersion" "$dir/abcl-wrapper" cp docker-entrypoint.sh "$dir/docker-entrypoint.sh" @@ -67,7 +72,7 @@ for version in "${versions[@]}"; do ;; esac - if [ "$version" = "nightly" ]; then + if [[ $version == *rc ]]; then template="$template-nightly" fi @@ -76,7 +81,7 @@ for version in "${versions[@]}"; do { generated_warning; cat "$template"; } > "$dir/Dockerfile" - if [ "$version" = "nightly" ]; then + if [[ $version == *rc ]]; then sed -ri \ -e 's/^(FROM) .*/\1 '"openjdk:$tag"'/' \ -e 's/^(ENV ABCL_COMMIT) .*/\1 '"$abclGitSha"'/' \ -- GitLab