ADD http://aia.pki.co.sap.com/aia/SAP%20Global%20Root%20CA.crt \
/etc/ssl/certs/SAP_Global_Root_CA.crt
-ARG NODE_VERSION=16.18.1
+ARG NODE_VERSION=16.19.0
RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
&& case "${dpkgArch##*-}" in \
# smoke test
&& yarn --version
-ARG SAPMACHINE_VERSION=11.0.17
+ARG SAPMACHINE_VERSION=11.0.18
+
+ENV JAVA_HOME /opt/jdk
RUN sapmachine_install() { \
+ SAPMACHINE_MAJOR_VERSION=$(echo ${SAPMACHINE_VERSION} | cut -d. -f1); \
ARCH=; \
dpkgArch="$(dpkg --print-architecture)"; \
case "${dpkgArch##*-}" in \
chmod 644 /etc/apt/trusted.gpg.d/sapmachine.gpg; \
echo "deb http://dist.sapmachine.io/debian/${ARCH}/ ./" | tee /etc/apt/sources.list.d/sapmachine.list; \
apt-get update; \
- apt-get install -y sapmachine-$(echo ${SAPMACHINE_VERSION} | cut -d. -f1)-jdk=${SAPMACHINE_VERSION} --no-install-recommends; \
+ apt-get install -y sapmachine-${SAPMACHINE_MAJOR_VERSION}-jdk=${SAPMACHINE_VERSION} --no-install-recommends; \
rm -rf "$GNUPGHOME" /var/lib/apt/lists/*; \
apt-get remove --purge --autoremove -y ca-certificates gnupg dirmngr; \
+ ln -s /usr/lib/jvm/sapmachine-${SAPMACHINE_MAJOR_VERSION} ${JAVA_HOME}; \
}; \
sapjvm_install() { \
ARCH=; \
rm -rf /var/lib/apt/lists/*; \
curl -fsSLO --compressed -b 'eula_3_1_agreed=tools.hana.ondemand.com/developer-license-3_1.txt' https://tools.hana.ondemand.com/additional/sapjvm-${SAPMACHINE_VERSION}-linux-${ARCH}.zip; \
echo "583dedfeee0c119839a610ddc8c6768d0c044429 sapjvm-${SAPMACHINE_VERSION}-linux-${ARCH}.zip" | sha1sum -c -; \
- bsdtar xvf sapjvm-${SAPMACHINE_VERSION}-linux-${ARCH}.zip -C /usr/local --strip-components=1; \
+ bsdtar -xvf sapjvm-${SAPMACHINE_VERSION}-linux-${ARCH}.zip -C /usr/local --strip-components=1 --no-same-owner; \
rm -f sapjvm-${SAPMACHINE_VERSION}-linux-${ARCH}.zip; \
apt-get remove --purge --auto-remove -y ca-certificates curl libarchive-tools; \
+ ln -s /usr/local ${JAVA_HOME}; \
} \
&& set -ex \
&& if [ $(echo ${SAPMACHINE_VERSION} | cut -d. -f1) -le 8 ]; then \
sapmachine_install; \
fi \
# smoke test
- && java -version;
+ && java -version
-ARG MAVEN_VERSION=3.8.6
+ARG MAVEN_VERSION=3.9.0
ARG BASE_URL=https://downloads.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries
ENV MAVEN_HOME /usr/share/maven
&& curl -fsSLO --compressed ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in \
- 6A814B1F869C2BBEAB7CB7271A2A1C94BDE89688 \
+ 29BEA2A645F2D6CED7FB12E02B172E3E156466E8 \
; do \
gpg --batch --keyserver hkps://pgp.surf.nl --recv-keys "$key" || \
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" ; \
# smoke test
&& mvn --version
-ARG MBT_VERSION=1.2.20
+ARG MBT_VERSION=1.2.23
RUN set -ex \
&& npm install -g --registry=https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm --unsafe-perm mbt@${MBT_VERSION} \
# smoke test
&& python3 --version
+# Allow global npm packages install without sudo
+RUN set -ex \
+ && mkdir ${USER_HOME_DIR}/.npm-global \
+ && mkdir ${USER_HOME_DIR}/.npm-global/lib \
+ && chown -R ${USER}:${USER} ${USER_HOME_DIR}
+ENV NPM_CONFIG_PREFIX ${USER_HOME_DIR}/.npm-global
+
WORKDIR /project
USER ${USER}