Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Multi-arch support to IBM Java, bump version to 1.8.0_sr4fp11. #3418

Merged
merged 2 commits into from
Sep 7, 2017

Conversation

dinogun
Copy link
Contributor

@dinogun dinogun commented Sep 7, 2017

No description provided.

@dinogun
Copy link
Contributor Author

dinogun commented Sep 7, 2017

I have individual GitCommit tags even though they are all the same today, as we will have different commits for the various versions in the future.

@yosifkit
Copy link
Member

yosifkit commented Sep 7, 2017

Diff:
diff --git a/_bashbrew-arches b/_bashbrew-arches
index 56cef15..c49c438 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1,8 +1,20 @@
-ibmjava:9 @ amd64
+ibmjava:9-sdk @ amd64
+ibmjava:9-sdk @ i386
+ibmjava:9-sdk @ ppc64le
+ibmjava:9-sdk @ s390x
 ibmjava:9-sdk-alpine @ amd64
 ibmjava:jre-alpine @ amd64
 ibmjava:latest @ amd64
+ibmjava:latest @ i386
+ibmjava:latest @ ppc64le
+ibmjava:latest @ s390x
 ibmjava:sdk @ amd64
+ibmjava:sdk @ i386
+ibmjava:sdk @ ppc64le
+ibmjava:sdk @ s390x
 ibmjava:sdk-alpine @ amd64
 ibmjava:sfj @ amd64
+ibmjava:sfj @ i386
+ibmjava:sfj @ ppc64le
+ibmjava:sfj @ s390x
 ibmjava:sfj-alpine @ amd64
diff --git a/_bashbrew-list b/_bashbrew-list
index 8447427..d6d5bc5 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -5,8 +5,6 @@ ibmjava:8-sdk
 ibmjava:8-sdk-alpine
 ibmjava:8-sfj
 ibmjava:8-sfj-alpine
-ibmjava:9
-ibmjava:9-ea2-sdk
 ibmjava:9-sdk
 ibmjava:9-sdk-alpine
 ibmjava:jre
diff --git a/ibmjava_9-sdk-alpine/Dockerfile b/ibmjava_9-sdk-alpine/Dockerfile
index 839bac0..49cf65c 100644
--- a/ibmjava_9-sdk-alpine/Dockerfile
+++ b/ibmjava_9-sdk-alpine/Dockerfile
@@ -26,33 +26,59 @@ MAINTAINER Dinakar Guniguntala <dinakar.g@in.ibm.com> (@dinogun)
 RUN apk --update add --no-cache ca-certificates curl openssl xz \
     && GLIBC_VER="2.25-r0" \
     && ALPINE_GLIBC_REPO="https://github.com/sgerrand/alpine-pkg-glibc/releases/download" \
-    && curl -Ls $ALPINE_GLIBC_REPO/$GLIBC_VER/glibc-$GLIBC_VER.apk > /tmp/$GLIBC_VER.apk \
-    && apk add --allow-untrusted /tmp/$GLIBC_VER.apk \
+    && curl -Ls ${ALPINE_GLIBC_REPO}/${GLIBC_VER}/glibc-${GLIBC_VER}.apk > /tmp/${GLIBC_VER}.apk \
+    && apk add --allow-untrusted /tmp/${GLIBC_VER}.apk \
     && curl -Ls https://www.archlinux.org/packages/core/x86_64/gcc-libs/download > /tmp/gcc-libs.tar.xz \
     && mkdir /tmp/gcc \
     && tar -xf /tmp/gcc-libs.tar.xz -C /tmp/gcc \
     && mv /tmp/gcc/usr/lib/libgcc* /tmp/gcc/usr/lib/libstdc++* /usr/glibc-compat/lib \
     && apk del curl \
-    && rm -rf /tmp/$GLIBC_VER.apk /tmp/gcc /tmp/gcc-libs.tar.xz /var/cache/apk/*
+    && rm -rf /tmp/${GLIBC_VER}.apk /tmp/gcc /tmp/gcc-libs.tar.xz /var/cache/apk/*
 
 ENV JAVA_VERSION 1.9.0_ea2
 
-RUN ESUM="0fe3712b54a93695cf4948d9ae171bf5cef038c0e41b364b4e9eb7cb80a60688" \
-    && BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/" \
-    && YML_FILE="sdk/linux/x86_64/index.yml" \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml $BASE_URL/$YML_FILE \
-    && JAVA_URL=$(cat /tmp/index.yml | sed -n '/'$JAVA_VERSION'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r') \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin $JAVA_URL \
-    && echo "$ESUM  /tmp/ibm-java.bin" | sha256sum -c - \
-    && echo "INSTALLER_UI=silent" > /tmp/response.properties \
-    && echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties \
-    && echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties \
-    && mkdir -p /opt/ibm \
-    && chmod +x /tmp/ibm-java.bin \
-    && /tmp/ibm-java.bin -i silent -f /tmp/response.properties \
-    && rm -f /tmp/response.properties \
-    && rm -f /tmp/index.yml \
-    && rm -f /tmp/ibm-java.bin
+RUN set -eux; \
+    ARCH="$(apk --print-arch)"; \
+    case "${ARCH}" in \
+       amd64|x86_64) \
+         ESUM='0fe3712b54a93695cf4948d9ae171bf5cef038c0e41b364b4e9eb7cb80a60688'; \
+         YML_FILE='sdk/linux/x86_64/index.yml'; \
+         ;; \
+       i386) \
+         ESUM='5add39cc5ca56b97cf8ce71b9e1a15d19d36864aaed1e0296f50355ba3f34bd5'; \
+         YML_FILE='sdk/linux/i386/index.yml'; \
+         ;; \
+       ppc64el|ppc64le) \
+         ESUM='3c0dda9f449a667d12fe5f59a1ec059a90a9dc483fd35eef5ff53dd8b096cdf5'; \
+         YML_FILE='sdk/linux/ppc64le/index.yml'; \
+         ;; \
+       s390) \
+         ESUM='8d06af57d8236839f5c403c12dcf4c89e22dd91716a4d26b85c8d92f6d1e2e8b'; \
+         YML_FILE='sdk/linux/s390/index.yml'; \
+         ;; \
+       s390x) \
+         ESUM='6e823afa1df83e364381f827f4244bfe29b0ddd58ef0203eb60df9b8c0d123af'; \
+         YML_FILE='sdk/linux/s390x/index.yml'; \
+         ;; \
+       *) \
+         echo "Unsupported arch: ${ARCH}"; \
+         exit 1; \
+         ;; \
+    esac; \
+    BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/"; \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
+    JAVA_URL=$(cat /tmp/index.yml | sed -n '/'${JAVA_VERSION}'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r'); \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin ${JAVA_URL}; \
+    echo "${ESUM}  /tmp/ibm-java.bin" | sha256sum -c -; \
+    echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+    echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
+    echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+    mkdir -p /opt/ibm; \
+    chmod +x /tmp/ibm-java.bin; \
+    /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+    rm -f /tmp/response.properties; \
+    rm -f /tmp/index.yml; \
+    rm -f /tmp/ibm-java.bin;
 
 ENV JAVA_HOME=/opt/ibm/java \
     PATH=/opt/ibm/java/bin:$PATH
diff --git a/ibmjava_9/Dockerfile b/ibmjava_9-sdk/Dockerfile
similarity index 39%
rename from ibmjava_9/Dockerfile
rename to ibmjava_9-sdk/Dockerfile
index 79d1cbf..8ac036b 100644
--- a/ibmjava_9/Dockerfile
+++ b/ibmjava_9-sdk/Dockerfile
@@ -29,22 +29,48 @@ RUN apt-get update \
 
 ENV JAVA_VERSION 1.9.0_ea2
 
-RUN ESUM="0fe3712b54a93695cf4948d9ae171bf5cef038c0e41b364b4e9eb7cb80a60688" \
-    && BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/" \
-    && YML_FILE="sdk/linux/x86_64/index.yml" \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml $BASE_URL/$YML_FILE \
-    && JAVA_URL=$(cat /tmp/index.yml | sed -n '/'$JAVA_VERSION'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r') \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin $JAVA_URL \
-    && echo "$ESUM  /tmp/ibm-java.bin" | sha256sum -c - \
-    && echo "INSTALLER_UI=silent" > /tmp/response.properties \
-    && echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties \
-    && echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties \
-    && mkdir -p /opt/ibm \
-    && chmod +x /tmp/ibm-java.bin \
-    && /tmp/ibm-java.bin -i silent -f /tmp/response.properties \
-    && rm -f /tmp/response.properties \
-    && rm -f /tmp/index.yml \
-    && rm -f /tmp/ibm-java.bin
+RUN set -eux; \
+    ARCH="$(dpkg --print-architecture)"; \
+    case "${ARCH}" in \
+       amd64|x86_64) \
+         ESUM='0fe3712b54a93695cf4948d9ae171bf5cef038c0e41b364b4e9eb7cb80a60688'; \
+         YML_FILE='sdk/linux/x86_64/index.yml'; \
+         ;; \
+       i386) \
+         ESUM='5add39cc5ca56b97cf8ce71b9e1a15d19d36864aaed1e0296f50355ba3f34bd5'; \
+         YML_FILE='sdk/linux/i386/index.yml'; \
+         ;; \
+       ppc64el|ppc64le) \
+         ESUM='3c0dda9f449a667d12fe5f59a1ec059a90a9dc483fd35eef5ff53dd8b096cdf5'; \
+         YML_FILE='sdk/linux/ppc64le/index.yml'; \
+         ;; \
+       s390) \
+         ESUM='8d06af57d8236839f5c403c12dcf4c89e22dd91716a4d26b85c8d92f6d1e2e8b'; \
+         YML_FILE='sdk/linux/s390/index.yml'; \
+         ;; \
+       s390x) \
+         ESUM='6e823afa1df83e364381f827f4244bfe29b0ddd58ef0203eb60df9b8c0d123af'; \
+         YML_FILE='sdk/linux/s390x/index.yml'; \
+         ;; \
+       *) \
+         echo "Unsupported arch: ${ARCH}"; \
+         exit 1; \
+         ;; \
+    esac; \
+    BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/"; \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
+    JAVA_URL=$(cat /tmp/index.yml | sed -n '/'${JAVA_VERSION}'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r'); \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin ${JAVA_URL}; \
+    echo "${ESUM}  /tmp/ibm-java.bin" | sha256sum -c -; \
+    echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+    echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
+    echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+    mkdir -p /opt/ibm; \
+    chmod +x /tmp/ibm-java.bin; \
+    /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+    rm -f /tmp/response.properties; \
+    rm -f /tmp/index.yml; \
+    rm -f /tmp/ibm-java.bin;
 
 ENV JAVA_HOME=/opt/ibm/java \
     PATH=/opt/ibm/java/bin:$PATH
diff --git a/ibmjava_jre-alpine/Dockerfile b/ibmjava_jre-alpine/Dockerfile
index 185b052..903c150 100644
--- a/ibmjava_jre-alpine/Dockerfile
+++ b/ibmjava_jre-alpine/Dockerfile
@@ -26,33 +26,59 @@ MAINTAINER Dinakar Guniguntala <dinakar.g@in.ibm.com> (@dinogun)
 RUN apk --update add --no-cache ca-certificates curl openssl xz \
     && GLIBC_VER="2.25-r0" \
     && ALPINE_GLIBC_REPO="https://github.com/sgerrand/alpine-pkg-glibc/releases/download" \
-    && curl -Ls $ALPINE_GLIBC_REPO/$GLIBC_VER/glibc-$GLIBC_VER.apk > /tmp/$GLIBC_VER.apk \
-    && apk add --allow-untrusted /tmp/$GLIBC_VER.apk \
+    && curl -Ls ${ALPINE_GLIBC_REPO}/${GLIBC_VER}/glibc-${GLIBC_VER}.apk > /tmp/${GLIBC_VER}.apk \
+    && apk add --allow-untrusted /tmp/${GLIBC_VER}.apk \
     && curl -Ls https://www.archlinux.org/packages/core/x86_64/gcc-libs/download > /tmp/gcc-libs.tar.xz \
     && mkdir /tmp/gcc \
     && tar -xf /tmp/gcc-libs.tar.xz -C /tmp/gcc \
     && mv /tmp/gcc/usr/lib/libgcc* /usr/glibc-compat/lib \
     && apk del curl \
-    && rm -rf /tmp/$GLIBC_VER.apk /tmp/gcc /tmp/gcc-libs.tar.xz /var/cache/apk/*
+    && rm -rf /tmp/${GLIBC_VER}.apk /tmp/gcc /tmp/gcc-libs.tar.xz /var/cache/apk/*
 
-ENV JAVA_VERSION 1.8.0_sr4fp10
+ENV JAVA_VERSION 1.8.0_sr4fp11
 
-RUN ESUM="18b756d0bd81a605a7a0ac722e36e3321671478b11a1bb685c78d5b59164074c" \
-    && BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/" \
-    && YML_FILE="jre/linux/x86_64/index.yml" \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml $BASE_URL/$YML_FILE \
-    && JAVA_URL=$(cat /tmp/index.yml | sed -n '/'$JAVA_VERSION'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r') \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin $JAVA_URL \
-    && echo "$ESUM  /tmp/ibm-java.bin" | sha256sum -c - \
-    && echo "INSTALLER_UI=silent" > /tmp/response.properties \
-    && echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties \
-    && echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties \
-    && mkdir -p /opt/ibm \
-    && chmod +x /tmp/ibm-java.bin \
-    && /tmp/ibm-java.bin -i silent -f /tmp/response.properties \
-    && rm -f /tmp/response.properties \
-    && rm -f /tmp/index.yml \
-    && rm -f /tmp/ibm-java.bin
+RUN set -eux; \
+    ARCH="$(apk --print-arch)"; \
+    case "${ARCH}" in \
+       amd64|x86_64) \
+         ESUM='b8205bd5700813ef17141a0a7b476846842d86f2b0a7a5fd5176c1edd5dcbe1c'; \
+         YML_FILE='jre/linux/x86_64/index.yml'; \
+         ;; \
+       i386) \
+         ESUM='da06a3df4c7ac7e29d9c92f8217e3dc1446c3b76194a99ab3dfb57dd3bcc55cf'; \
+         YML_FILE='jre/linux/i386/index.yml'; \
+         ;; \
+       ppc64el|ppc64le) \
+         ESUM='28b3d31b7b9c13dfbd852b11ea06e6a7bf001baa18a68d0869788234dab3dc44'; \
+         YML_FILE='jre/linux/ppc64le/index.yml'; \
+         ;; \
+       s390) \
+         ESUM='8e817b4b1950415636b77c00b14795ec9b87d5c225c4897e05c378f6e45615a1'; \
+         YML_FILE='jre/linux/s390/index.yml'; \
+         ;; \
+       s390x) \
+         ESUM='a14607e866f08ea19f8a5b571464968a12907369dc68f283c8e0bf1771ffb6ff'; \
+         YML_FILE='jre/linux/s390x/index.yml'; \
+         ;; \
+       *) \
+         echo "Unsupported arch: ${ARCH}"; \
+         exit 1; \
+         ;; \
+    esac; \
+    BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/"; \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
+    JAVA_URL=$(cat /tmp/index.yml | sed -n '/'${JAVA_VERSION}'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r'); \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin ${JAVA_URL}; \
+    echo "${ESUM}  /tmp/ibm-java.bin" | sha256sum -c -; \
+    echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+    echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
+    echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+    mkdir -p /opt/ibm; \
+    chmod +x /tmp/ibm-java.bin; \
+    /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+    rm -f /tmp/response.properties; \
+    rm -f /tmp/index.yml; \
+    rm -f /tmp/ibm-java.bin;
 
 ENV JAVA_HOME=/opt/ibm/java/jre \
     PATH=/opt/ibm/java/jre/bin:$PATH
diff --git a/ibmjava_latest/Dockerfile b/ibmjava_latest/Dockerfile
index b44eac0..1f11d6c 100644
--- a/ibmjava_latest/Dockerfile
+++ b/ibmjava_latest/Dockerfile
@@ -27,24 +27,50 @@ RUN apt-get update \
     && apt-get install -y --no-install-recommends wget ca-certificates \
     && rm -rf /var/lib/apt/lists/*
 
-ENV JAVA_VERSION 1.8.0_sr4fp10
+ENV JAVA_VERSION 1.8.0_sr4fp11
 
-RUN ESUM="18b756d0bd81a605a7a0ac722e36e3321671478b11a1bb685c78d5b59164074c" \
-    && BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/" \
-    && YML_FILE="jre/linux/x86_64/index.yml" \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml $BASE_URL/$YML_FILE \
-    && JAVA_URL=$(cat /tmp/index.yml | sed -n '/'$JAVA_VERSION'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r') \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin $JAVA_URL \
-    && echo "$ESUM  /tmp/ibm-java.bin" | sha256sum -c - \
-    && echo "INSTALLER_UI=silent" > /tmp/response.properties \
-    && echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties \
-    && echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties \
-    && mkdir -p /opt/ibm \
-    && chmod +x /tmp/ibm-java.bin \
-    && /tmp/ibm-java.bin -i silent -f /tmp/response.properties \
-    && rm -f /tmp/response.properties \
-    && rm -f /tmp/index.yml \
-    && rm -f /tmp/ibm-java.bin
+RUN set -eux; \
+    ARCH="$(dpkg --print-architecture)"; \
+    case "${ARCH}" in \
+       amd64|x86_64) \
+         ESUM='b8205bd5700813ef17141a0a7b476846842d86f2b0a7a5fd5176c1edd5dcbe1c'; \
+         YML_FILE='jre/linux/x86_64/index.yml'; \
+         ;; \
+       i386) \
+         ESUM='da06a3df4c7ac7e29d9c92f8217e3dc1446c3b76194a99ab3dfb57dd3bcc55cf'; \
+         YML_FILE='jre/linux/i386/index.yml'; \
+         ;; \
+       ppc64el|ppc64le) \
+         ESUM='28b3d31b7b9c13dfbd852b11ea06e6a7bf001baa18a68d0869788234dab3dc44'; \
+         YML_FILE='jre/linux/ppc64le/index.yml'; \
+         ;; \
+       s390) \
+         ESUM='8e817b4b1950415636b77c00b14795ec9b87d5c225c4897e05c378f6e45615a1'; \
+         YML_FILE='jre/linux/s390/index.yml'; \
+         ;; \
+       s390x) \
+         ESUM='a14607e866f08ea19f8a5b571464968a12907369dc68f283c8e0bf1771ffb6ff'; \
+         YML_FILE='jre/linux/s390x/index.yml'; \
+         ;; \
+       *) \
+         echo "Unsupported arch: ${ARCH}"; \
+         exit 1; \
+         ;; \
+    esac; \
+    BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/"; \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
+    JAVA_URL=$(cat /tmp/index.yml | sed -n '/'${JAVA_VERSION}'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r'); \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin ${JAVA_URL}; \
+    echo "${ESUM}  /tmp/ibm-java.bin" | sha256sum -c -; \
+    echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+    echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
+    echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+    mkdir -p /opt/ibm; \
+    chmod +x /tmp/ibm-java.bin; \
+    /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+    rm -f /tmp/response.properties; \
+    rm -f /tmp/index.yml; \
+    rm -f /tmp/ibm-java.bin;
 
 ENV JAVA_HOME=/opt/ibm/java/jre \
     PATH=/opt/ibm/java/jre/bin:$PATH
diff --git a/ibmjava_sdk-alpine/Dockerfile b/ibmjava_sdk-alpine/Dockerfile
index 6e35163..4eaddba 100644
--- a/ibmjava_sdk-alpine/Dockerfile
+++ b/ibmjava_sdk-alpine/Dockerfile
@@ -26,33 +26,59 @@ MAINTAINER Dinakar Guniguntala <dinakar.g@in.ibm.com> (@dinogun)
 RUN apk --update add --no-cache ca-certificates curl openssl xz \
     && GLIBC_VER="2.25-r0" \
     && ALPINE_GLIBC_REPO="https://github.com/sgerrand/alpine-pkg-glibc/releases/download" \
-    && curl -Ls $ALPINE_GLIBC_REPO/$GLIBC_VER/glibc-$GLIBC_VER.apk > /tmp/$GLIBC_VER.apk \
-    && apk add --allow-untrusted /tmp/$GLIBC_VER.apk \
+    && curl -Ls ${ALPINE_GLIBC_REPO}/${GLIBC_VER}/glibc-${GLIBC_VER}.apk > /tmp/${GLIBC_VER}.apk \
+    && apk add --allow-untrusted /tmp/${GLIBC_VER}.apk \
     && curl -Ls https://www.archlinux.org/packages/core/x86_64/gcc-libs/download > /tmp/gcc-libs.tar.xz \
     && mkdir /tmp/gcc \
     && tar -xf /tmp/gcc-libs.tar.xz -C /tmp/gcc \
     && mv /tmp/gcc/usr/lib/libgcc* /usr/glibc-compat/lib \
     && apk del curl \
-    && rm -rf /tmp/$GLIBC_VER.apk /tmp/gcc /tmp/gcc-libs.tar.xz /var/cache/apk/*
+    && rm -rf /tmp/${GLIBC_VER}.apk /tmp/gcc /tmp/gcc-libs.tar.xz /var/cache/apk/*
 
-ENV JAVA_VERSION 1.8.0_sr4fp10
+ENV JAVA_VERSION 1.8.0_sr4fp11
 
-RUN ESUM="d739b201653be2b04e598b19eca9f0dee32baa60c63eb1d10f5623cbef318ddd" \
-    && BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/" \
-    && YML_FILE="sdk/linux/x86_64/index.yml" \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml $BASE_URL/$YML_FILE \
-    && JAVA_URL=$(cat /tmp/index.yml | sed -n '/'$JAVA_VERSION'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r') \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin $JAVA_URL \
-    && echo "$ESUM  /tmp/ibm-java.bin" | sha256sum -c - \
-    && echo "INSTALLER_UI=silent" > /tmp/response.properties \
-    && echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties \
-    && echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties \
-    && mkdir -p /opt/ibm \
-    && chmod +x /tmp/ibm-java.bin \
-    && /tmp/ibm-java.bin -i silent -f /tmp/response.properties \
-    && rm -f /tmp/response.properties \
-    && rm -f /tmp/index.yml \
-    && rm -f /tmp/ibm-java.bin
+RUN set -eux; \
+    ARCH="$(apk --print-arch)"; \
+    case "${ARCH}" in \
+       amd64|x86_64) \
+         ESUM='0550e9e44b50ec77cd8774f99051b910816daf3cf275c05438994314ff61d7ee'; \
+         YML_FILE='sdk/linux/x86_64/index.yml'; \
+         ;; \
+       i386) \
+         ESUM='fc3180000ee745ba11fbcb8c0eda837ccf34830de652c3747682174980c0a466'; \
+         YML_FILE='sdk/linux/i386/index.yml'; \
+         ;; \
+       ppc64el|ppc64le) \
+         ESUM='bf39ce59310f477d8864134b5d1e8c090ea41a5421c17b6b0eaf5350fdc097bf'; \
+         YML_FILE='sdk/linux/ppc64le/index.yml'; \
+         ;; \
+       s390) \
+         ESUM='7056455a52d8f753e435d3994ca87c22c496d19d4a06634ba57e4ffc50d0c722'; \
+         YML_FILE='sdk/linux/s390/index.yml'; \
+         ;; \
+       s390x) \
+         ESUM='89dc14c0bb8199463396f3f71a168e43d61550c7821acee50ec8c3f6ed60a83f'; \
+         YML_FILE='sdk/linux/s390x/index.yml'; \
+         ;; \
+       *) \
+         echo "Unsupported arch: ${ARCH}"; \
+         exit 1; \
+         ;; \
+    esac; \
+    BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/"; \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
+    JAVA_URL=$(cat /tmp/index.yml | sed -n '/'${JAVA_VERSION}'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r'); \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin ${JAVA_URL}; \
+    echo "${ESUM}  /tmp/ibm-java.bin" | sha256sum -c -; \
+    echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+    echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
+    echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+    mkdir -p /opt/ibm; \
+    chmod +x /tmp/ibm-java.bin; \
+    /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+    rm -f /tmp/response.properties; \
+    rm -f /tmp/index.yml; \
+    rm -f /tmp/ibm-java.bin;
 
 ENV JAVA_HOME=/opt/ibm/java/jre \
     PATH=/opt/ibm/java/bin:$PATH
diff --git a/ibmjava_sdk/Dockerfile b/ibmjava_sdk/Dockerfile
index 813a42a..466ad5d 100644
--- a/ibmjava_sdk/Dockerfile
+++ b/ibmjava_sdk/Dockerfile
@@ -27,24 +27,50 @@ RUN apt-get update \
     && apt-get install -y --no-install-recommends wget ca-certificates \
     && rm -rf /var/lib/apt/lists/*
 
-ENV JAVA_VERSION 1.8.0_sr4fp10
+ENV JAVA_VERSION 1.8.0_sr4fp11
 
-RUN ESUM="d739b201653be2b04e598b19eca9f0dee32baa60c63eb1d10f5623cbef318ddd" \
-    && BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/" \
-    && YML_FILE="sdk/linux/x86_64/index.yml" \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml $BASE_URL/$YML_FILE \
-    && JAVA_URL=$(cat /tmp/index.yml | sed -n '/'$JAVA_VERSION'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r') \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin $JAVA_URL \
-    && echo "$ESUM  /tmp/ibm-java.bin" | sha256sum -c - \
-    && echo "INSTALLER_UI=silent" > /tmp/response.properties \
-    && echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties \
-    && echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties \
-    && mkdir -p /opt/ibm \
-    && chmod +x /tmp/ibm-java.bin \
-    && /tmp/ibm-java.bin -i silent -f /tmp/response.properties \
-    && rm -f /tmp/response.properties \
-    && rm -f /tmp/index.yml \
-    && rm -f /tmp/ibm-java.bin
+RUN set -eux; \
+    ARCH="$(dpkg --print-architecture)"; \
+    case "${ARCH}" in \
+       amd64|x86_64) \
+         ESUM='0550e9e44b50ec77cd8774f99051b910816daf3cf275c05438994314ff61d7ee'; \
+         YML_FILE='sdk/linux/x86_64/index.yml'; \
+         ;; \
+       i386) \
+         ESUM='fc3180000ee745ba11fbcb8c0eda837ccf34830de652c3747682174980c0a466'; \
+         YML_FILE='sdk/linux/i386/index.yml'; \
+         ;; \
+       ppc64el|ppc64le) \
+         ESUM='bf39ce59310f477d8864134b5d1e8c090ea41a5421c17b6b0eaf5350fdc097bf'; \
+         YML_FILE='sdk/linux/ppc64le/index.yml'; \
+         ;; \
+       s390) \
+         ESUM='7056455a52d8f753e435d3994ca87c22c496d19d4a06634ba57e4ffc50d0c722'; \
+         YML_FILE='sdk/linux/s390/index.yml'; \
+         ;; \
+       s390x) \
+         ESUM='89dc14c0bb8199463396f3f71a168e43d61550c7821acee50ec8c3f6ed60a83f'; \
+         YML_FILE='sdk/linux/s390x/index.yml'; \
+         ;; \
+       *) \
+         echo "Unsupported arch: ${ARCH}"; \
+         exit 1; \
+         ;; \
+    esac; \
+    BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/"; \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
+    JAVA_URL=$(cat /tmp/index.yml | sed -n '/'${JAVA_VERSION}'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r'); \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin ${JAVA_URL}; \
+    echo "${ESUM}  /tmp/ibm-java.bin" | sha256sum -c -; \
+    echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+    echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
+    echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+    mkdir -p /opt/ibm; \
+    chmod +x /tmp/ibm-java.bin; \
+    /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+    rm -f /tmp/response.properties; \
+    rm -f /tmp/index.yml; \
+    rm -f /tmp/ibm-java.bin;
 
 ENV JAVA_HOME=/opt/ibm/java/jre \
     PATH=/opt/ibm/java/bin:$PATH
diff --git a/ibmjava_sfj-alpine/Dockerfile b/ibmjava_sfj-alpine/Dockerfile
index f37b7aa..644e8f2 100644
--- a/ibmjava_sfj-alpine/Dockerfile
+++ b/ibmjava_sfj-alpine/Dockerfile
@@ -26,33 +26,59 @@ MAINTAINER Dinakar Guniguntala <dinakar.g@in.ibm.com> (@dinogun)
 RUN apk --update add --no-cache ca-certificates curl openssl xz \
     && GLIBC_VER="2.25-r0" \
     && ALPINE_GLIBC_REPO="https://github.com/sgerrand/alpine-pkg-glibc/releases/download" \
-    && curl -Ls $ALPINE_GLIBC_REPO/$GLIBC_VER/glibc-$GLIBC_VER.apk > /tmp/$GLIBC_VER.apk \
-    && apk add --allow-untrusted /tmp/$GLIBC_VER.apk \
+    && curl -Ls ${ALPINE_GLIBC_REPO}/${GLIBC_VER}/glibc-${GLIBC_VER}.apk > /tmp/${GLIBC_VER}.apk \
+    && apk add --allow-untrusted /tmp/${GLIBC_VER}.apk \
     && curl -Ls https://www.archlinux.org/packages/core/x86_64/gcc-libs/download > /tmp/gcc-libs.tar.xz \
     && mkdir /tmp/gcc \
     && tar -xf /tmp/gcc-libs.tar.xz -C /tmp/gcc \
     && mv /tmp/gcc/usr/lib/libgcc* /usr/glibc-compat/lib \
     && apk del curl \
-    && rm -rf /tmp/$GLIBC_VER.apk /tmp/gcc /tmp/gcc-libs.tar.xz /var/cache/apk/*
+    && rm -rf /tmp/${GLIBC_VER}.apk /tmp/gcc /tmp/gcc-libs.tar.xz /var/cache/apk/*
 
-ENV JAVA_VERSION 1.8.0_sr4fp10
+ENV JAVA_VERSION 1.8.0_sr4fp11
 
-RUN ESUM="06b775c46da3290c883fb2383853b0a5d02f7bbf8e5501e4a3ecff09e6cdcbca" \
-    && BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/" \
-    && YML_FILE="sfj/linux/x86_64/index.yml" \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml $BASE_URL/$YML_FILE \
-    && JAVA_URL=$(cat /tmp/index.yml | sed -n '/'$JAVA_VERSION'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r') \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin $JAVA_URL \
-    && echo "$ESUM  /tmp/ibm-java.bin" | sha256sum -c - \
-    && echo "INSTALLER_UI=silent" > /tmp/response.properties \
-    && echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties \
-    && echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties \
-    && mkdir -p /opt/ibm \
-    && chmod +x /tmp/ibm-java.bin \
-    && /tmp/ibm-java.bin -i silent -f /tmp/response.properties \
-    && rm -f /tmp/response.properties \
-    && rm -f /tmp/index.yml \
-    && rm -f /tmp/ibm-java.bin
+RUN set -eux; \
+    ARCH="$(apk --print-arch)"; \
+    case "${ARCH}" in \
+       amd64|x86_64) \
+         ESUM='4fcd64915fb9dec9e60d5aaaf07958db583312fc86eb95ae3336b5c22cf73a4d'; \
+         YML_FILE='sfj/linux/x86_64/index.yml'; \
+         ;; \
+       i386) \
+         ESUM='d0ff0812eba0dfee8639f11403cf56d9dd16a977a137ecdb7c057459ea943eb2'; \
+         YML_FILE='sfj/linux/i386/index.yml'; \
+         ;; \
+       ppc64el|ppc64le) \
+         ESUM='f876c556da07575891af0eeb9dc2dc31c718a1614fbdd45aa2e5338f3202f991'; \
+         YML_FILE='sfj/linux/ppc64le/index.yml'; \
+         ;; \
+       s390) \
+         ESUM='6eb97bc4f807252699b7f3fd578290d6c693e0f8a0e1ea76be898d2929567d21'; \
+         YML_FILE='sfj/linux/s390/index.yml'; \
+         ;; \
+       s390x) \
+         ESUM='2c729648d8a2b3021d30ee2343d70bd3aa855df2a07e6b0e081ff25ed280b010'; \
+         YML_FILE='sfj/linux/s390x/index.yml'; \
+         ;; \
+       *) \
+         echo "Unsupported arch: ${ARCH}"; \
+         exit 1; \
+         ;; \
+    esac; \
+    BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/"; \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
+    JAVA_URL=$(cat /tmp/index.yml | sed -n '/'${JAVA_VERSION}'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r'); \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin ${JAVA_URL}; \
+    echo "${ESUM}  /tmp/ibm-java.bin" | sha256sum -c -; \
+    echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+    echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
+    echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+    mkdir -p /opt/ibm; \
+    chmod +x /tmp/ibm-java.bin; \
+    /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+    rm -f /tmp/response.properties; \
+    rm -f /tmp/index.yml; \
+    rm -f /tmp/ibm-java.bin;
 
 ENV JAVA_HOME=/opt/ibm/java/jre \
     PATH=/opt/ibm/java/jre/bin:$PATH
diff --git a/ibmjava_sfj/Dockerfile b/ibmjava_sfj/Dockerfile
index 015833d..720391e 100644
--- a/ibmjava_sfj/Dockerfile
+++ b/ibmjava_sfj/Dockerfile
@@ -27,24 +27,50 @@ RUN apt-get update \
     && apt-get install -y --no-install-recommends wget ca-certificates \
     && rm -rf /var/lib/apt/lists/*
 
-ENV JAVA_VERSION 1.8.0_sr4fp10
+ENV JAVA_VERSION 1.8.0_sr4fp11
 
-RUN ESUM="06b775c46da3290c883fb2383853b0a5d02f7bbf8e5501e4a3ecff09e6cdcbca" \
-    && BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/" \
-    && YML_FILE="sfj/linux/x86_64/index.yml" \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml $BASE_URL/$YML_FILE \
-    && JAVA_URL=$(cat /tmp/index.yml | sed -n '/'$JAVA_VERSION'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r') \
-    && wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin $JAVA_URL \
-    && echo "$ESUM  /tmp/ibm-java.bin" | sha256sum -c - \
-    && echo "INSTALLER_UI=silent" > /tmp/response.properties \
-    && echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties \
-    && echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties \
-    && mkdir -p /opt/ibm \
-    && chmod +x /tmp/ibm-java.bin \
-    && /tmp/ibm-java.bin -i silent -f /tmp/response.properties \
-    && rm -f /tmp/response.properties \
-    && rm -f /tmp/index.yml \
-    && rm -f /tmp/ibm-java.bin
+RUN set -eux; \
+    ARCH="$(dpkg --print-architecture)"; \
+    case "${ARCH}" in \
+       amd64|x86_64) \
+         ESUM='4fcd64915fb9dec9e60d5aaaf07958db583312fc86eb95ae3336b5c22cf73a4d'; \
+         YML_FILE='sfj/linux/x86_64/index.yml'; \
+         ;; \
+       i386) \
+         ESUM='d0ff0812eba0dfee8639f11403cf56d9dd16a977a137ecdb7c057459ea943eb2'; \
+         YML_FILE='sfj/linux/i386/index.yml'; \
+         ;; \
+       ppc64el|ppc64le) \
+         ESUM='f876c556da07575891af0eeb9dc2dc31c718a1614fbdd45aa2e5338f3202f991'; \
+         YML_FILE='sfj/linux/ppc64le/index.yml'; \
+         ;; \
+       s390) \
+         ESUM='6eb97bc4f807252699b7f3fd578290d6c693e0f8a0e1ea76be898d2929567d21'; \
+         YML_FILE='sfj/linux/s390/index.yml'; \
+         ;; \
+       s390x) \
+         ESUM='2c729648d8a2b3021d30ee2343d70bd3aa855df2a07e6b0e081ff25ed280b010'; \
+         YML_FILE='sfj/linux/s390x/index.yml'; \
+         ;; \
+       *) \
+         echo "Unsupported arch: ${ARCH}"; \
+         exit 1; \
+         ;; \
+    esac; \
+    BASE_URL="https://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud/runtimes/java/meta/"; \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/index.yml ${BASE_URL}/${YML_FILE}; \
+    JAVA_URL=$(cat /tmp/index.yml | sed -n '/'${JAVA_VERSION}'/{n;p}' | sed -n 's/\s*uri:\s//p' | tr -d '\r'); \
+    wget -q -U UA_IBM_JAVA_Docker -O /tmp/ibm-java.bin ${JAVA_URL}; \
+    echo "${ESUM}  /tmp/ibm-java.bin" | sha256sum -c -; \
+    echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+    echo "USER_INSTALL_DIR=/opt/ibm/java" >> /tmp/response.properties; \
+    echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+    mkdir -p /opt/ibm; \
+    chmod +x /tmp/ibm-java.bin; \
+    /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+    rm -f /tmp/response.properties; \
+    rm -f /tmp/index.yml; \
+    rm -f /tmp/ibm-java.bin;
 
 ENV JAVA_HOME=/opt/ibm/java/jre \
     PATH=/opt/ibm/java/jre/bin:$PATH

@tianon
Copy link
Member

tianon commented Sep 7, 2017

@dinogun this is awesome!! 🎂

You're going to want to make sure to disable whatever's currently pushing to https://hub.docker.com/r/s390x/ibmjava/ and https://hub.docker.com/r/ppc64le/ibmjava/, since our process is going to take those over (and replace their descriptions). 👍

@dinogun
Copy link
Contributor Author

dinogun commented Sep 7, 2017

Thanks for your help to get this done. Yes, we'll stop pushing those images from now on. Do you have a timeline for when that will happen ?

@yosifkit
Copy link
Member

yosifkit commented Sep 7, 2017

They should start pushing in the next 15-20 minutes once this merges and they build. The non-amd64 architecture builds will show up here: https://doi-janky.infosiftr.net/job/multiarch/view/images/view/ibmjava/

Build test of #3418; 2d58307 (ibmjava):

$ bashbrew build ibmjava:8-jre
Building bashbrew/cache:ab0108d9fc5410e8c0b7e782fd89b80ed3e89eaadbbc29dcfa6cfb8327e55af9 (ibmjava:8-jre)
Tagging ibmjava:8-jre
Tagging ibmjava:jre
Tagging ibmjava:8
Tagging ibmjava:latest

$ test/run.sh ibmjava:8-jre
testing ibmjava:8-jre
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build ibmjava:8-jre-alpine
Building bashbrew/cache:77ca984cce45507f1727c722d34d2ed0ba8f83da8a5b79261345e2141556d375 (ibmjava:8-jre-alpine)
Tagging ibmjava:8-jre-alpine
Tagging ibmjava:jre-alpine

$ test/run.sh ibmjava:8-jre-alpine
testing ibmjava:8-jre-alpine
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build ibmjava:8-sfj
Building bashbrew/cache:11cff299d01eca497362bc20cdcd2424f0c650503e6a448fff0750c772d1acea (ibmjava:8-sfj)
Tagging ibmjava:8-sfj
Tagging ibmjava:sfj

$ test/run.sh ibmjava:8-sfj
testing ibmjava:8-sfj
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build ibmjava:8-sfj-alpine
Building bashbrew/cache:86d00ee23e262a10f3263311315426719fdd282fb48c64baf054efb0369bf182 (ibmjava:8-sfj-alpine)
Tagging ibmjava:8-sfj-alpine
Tagging ibmjava:sfj-alpine

$ test/run.sh ibmjava:8-sfj-alpine
testing ibmjava:8-sfj-alpine
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build ibmjava:8-sdk
Building bashbrew/cache:b5d2da4ed58451c73f45c0b950b21b16a2e04954cea16b6ef0ba26734bb08c8f (ibmjava:8-sdk)
Tagging ibmjava:8-sdk
Tagging ibmjava:sdk

$ test/run.sh ibmjava:8-sdk
testing ibmjava:8-sdk
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build ibmjava:8-sdk-alpine
Building bashbrew/cache:35efb7caf8f5058d640744345b63267ac086e1156f16731b55c1e77b71bba596 (ibmjava:8-sdk-alpine)
Tagging ibmjava:8-sdk-alpine
Tagging ibmjava:sdk-alpine

$ test/run.sh ibmjava:8-sdk-alpine
testing ibmjava:8-sdk-alpine
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build ibmjava:9-sdk
Building bashbrew/cache:b4617c69124fe54f09ca71014b1474510f1cb6e15487f939946ffe6e4e6fea53 (ibmjava:9-sdk)
Tagging ibmjava:9-sdk

$ test/run.sh ibmjava:9-sdk
testing ibmjava:9-sdk
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build ibmjava:9-sdk-alpine
Building bashbrew/cache:1d3b30dea0716b590a850151c5b7bd3234a7deff1cc631f24bd8b0af53e33fe8 (ibmjava:9-sdk-alpine)
Tagging ibmjava:9-sdk-alpine

$ test/run.sh ibmjava:9-sdk-alpine
testing ibmjava:9-sdk-alpine
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed

@yosifkit yosifkit merged commit 20fd771 into docker-library:master Sep 7, 2017
@tianon
Copy link
Member

tianon commented Sep 7, 2017

@davidcurrie @jamiecoleman92 @dibbles now that this is merged and built, websphere-liberty can be updated as well, right? From what I can tell, it will probably work as-is, since it's just FROM ibmjava, and downloads the appropriate zip file (which I'm guessing is architecture independent), so you probably just need to convert to the newer RFC-2822-based library/xxx file format and add Architectures matching ibmjava's. 😄

Something like this would probably do the trick:

Maintainers: David Currie <david_currie@uk.ibm.com> (@davidcurrie),
             Jamie Coleman <jlcoleman@uk.ibm.com> (@jamiecoleman92),
             Duane Appleby <applebyd@uk.ibm.com> (@dibbles)
GitRepo: https://github.com/WASdev/ci.docker.git
GitCommit: c3bf4f7f5db1d833498ea0fc057084d25dd72d92
Architectures: amd64, i386, ppc64le, s390x

Tags: kernel
Directory: ga/developer/kernel

Tags: microProfile
Directory: ga/developer/microProfile

Tags: webProfile6
Directory: ga/developer/webProfile6

Tags: webProfile7
Directory: ga/developer/webProfile7

Tags: javaee7, latest
Directory: ga/developer/javaee7

Tags: beta
Directory: beta

@dinogun dinogun deleted the ibmjava-multi-arch branch September 8, 2017 06:57
@tianon tianon mentioned this pull request Sep 11, 2017
@tianon
Copy link
Member

tianon commented Jan 16, 2018

Hey @dinogun -- since this PR, gliderlabs/docker-alpine#304 was finally closed, so adding more Architectures: values for these Alpine variants should be possible! 👍 ❤️

(we noticed because we accidentally merged #3774 without having fully checked that all parent images supported the listed arches 😇)

@dinogun
Copy link
Contributor Author

dinogun commented Jan 18, 2018

@tianon, unfortunately ibmjava does not work with musl as yet and so we need glibc support as well. I am checking if glibc support is available on all ibmjava supported arches. I'm suspecting that this is not trivial. Will this hold up a wider release of the multi-arch Alpine builds ?

@tianon
Copy link
Member

tianon commented Jan 18, 2018

Just open-liberty -- we'll probably just have to ask @NottyCode to slim down that Architectures: list to match the underlying ibmjava for now. 😅

@dinogun
Copy link
Contributor Author

dinogun commented Jan 22, 2018

We do have a task to get ibmjava to compile with musl, but it'll be a while to get this to work. In the meanwhile it would be good to slim down the Arch list for open-liberty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants