From 93c5e098567620200e5a374622a86b4aff153506 Mon Sep 17 00:00:00 2001 From: Laurent Goderre Date: Thu, 1 Aug 2019 12:10:21 -0400 Subject: [PATCH] Fetch the checksum for the pre-built alpine binary at image update time. --- 10/alpine/Dockerfile | 8 ++++---- 12/alpine/Dockerfile | 8 ++++---- 13/alpine/Dockerfile | 8 ++++---- 8/alpine/Dockerfile | 8 ++++---- Dockerfile-alpine.template | 8 ++++---- update.sh | 6 ++++++ 6 files changed, 26 insertions(+), 20 deletions(-) diff --git a/10/alpine/Dockerfile b/10/alpine/Dockerfile index 41cd5cc3..123238ea 100644 --- a/10/alpine/Dockerfile +++ b/10/alpine/Dockerfile @@ -1,7 +1,5 @@ FROM alpine:3.9 -ARG CHECKSUM= - ENV NODE_VERSION 10.17.0 RUN addgroup -g 1000 node \ @@ -12,8 +10,10 @@ RUN addgroup -g 1000 node \ curl \ && ARCH= && alpineArch="$(arch)" \ && case "${alpineArch##*-}" in \ - x86_64) ARCH='x64';; \ - i386) ARCH='x86';; \ + x86_64) \ + ARCH='x64' \ + CHECKSUM="f893a03c5b51e0c540e32cd52773221a2f9b6d575e7fe79ffe9e878483c703ff" \ + ;; \ *) ;; \ esac \ && if [ -n "${CHECKSUM}" ]; then \ diff --git a/12/alpine/Dockerfile b/12/alpine/Dockerfile index 9a6856b6..ae0bce7e 100644 --- a/12/alpine/Dockerfile +++ b/12/alpine/Dockerfile @@ -1,7 +1,5 @@ FROM alpine:3.9 -ARG CHECKSUM= - ENV NODE_VERSION 12.13.0 RUN addgroup -g 1000 node \ @@ -12,8 +10,10 @@ RUN addgroup -g 1000 node \ curl \ && ARCH= && alpineArch="$(arch)" \ && case "${alpineArch##*-}" in \ - x86_64) ARCH='x64';; \ - i386) ARCH='x86';; \ + x86_64) \ + ARCH='x64' \ + CHECKSUM="f1c73636c4d345c4aefd65cc959f793d7bb795200d43e19e418d7811670b03dd" \ + ;; \ *) ;; \ esac \ && if [ -n "${CHECKSUM}" ]; then \ diff --git a/13/alpine/Dockerfile b/13/alpine/Dockerfile index 492f3d3f..a264b07f 100644 --- a/13/alpine/Dockerfile +++ b/13/alpine/Dockerfile @@ -1,7 +1,5 @@ FROM alpine:3.10 -ARG CHECKSUM= - ENV NODE_VERSION 13.0.1 RUN addgroup -g 1000 node \ @@ -12,8 +10,10 @@ RUN addgroup -g 1000 node \ curl \ && ARCH= && alpineArch="$(arch)" \ && case "${alpineArch##*-}" in \ - x86_64) ARCH='x64';; \ - i386) ARCH='x86';; \ + x86_64) \ + ARCH='x64' \ + CHECKSUM="5f40392e14e81a566c06f4abcbe735575f2d7045709211eb7245ef8f67896bee" \ + ;; \ *) ;; \ esac \ && if [ -n "${CHECKSUM}" ]; then \ diff --git a/8/alpine/Dockerfile b/8/alpine/Dockerfile index 340dc359..1822ac37 100644 --- a/8/alpine/Dockerfile +++ b/8/alpine/Dockerfile @@ -1,7 +1,5 @@ FROM alpine:3.9 -ARG CHECKSUM= - ENV NODE_VERSION 8.16.2 RUN addgroup -g 1000 node \ @@ -12,8 +10,10 @@ RUN addgroup -g 1000 node \ curl \ && ARCH= && alpineArch="$(arch)" \ && case "${alpineArch##*-}" in \ - x86_64) ARCH='x64';; \ - i386) ARCH='x86';; \ + x86_64) \ + ARCH='x64' \ + CHECKSUM="39276723f03e4adaa9f2eeded8653ca6b74d3df23ac70a3455a28c51f0cf0001" \ + ;; \ *) ;; \ esac \ && if [ -n "${CHECKSUM}" ]; then \ diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index bd9d994e..b7ea58a6 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -1,7 +1,5 @@ FROM alpine:0.0 -ARG CHECKSUM= - ENV NODE_VERSION 0.0.0 RUN addgroup -g 1000 node \ @@ -12,8 +10,10 @@ RUN addgroup -g 1000 node \ curl \ && ARCH= && alpineArch="$(arch)" \ && case "${alpineArch##*-}" in \ - x86_64) ARCH='x64';; \ - i386) ARCH='x86';; \ + x86_64) \ + ARCH='x64' \ + CHECKSUM=CHECKSUM_x64 \ + ;; \ *) ;; \ esac \ && if [ -n "${CHECKSUM}" ]; then \ diff --git a/update.sh b/update.sh index c10f685e..6805b96c 100755 --- a/update.sh +++ b/update.sh @@ -166,8 +166,14 @@ function update_node_version() { if [ "${SKIP}" = true ]; then # Get the currently used Alpine version alpine_version=$(grep "FROM" "${dockerfile}" | cut -d':' -f2) + checksum=$(grep -o "CHECKSUM=\".*\"" "${dockerfile}" | cut -d'=' -f2) + else + checksum="\"$( + curl -sSL --compressed "https://unofficial-builds.nodejs.org/download/release/v${nodeVersion}/SHASUMS256.txt" | grep "node-v${nodeVersion}-linux-x64-musl.tar.xz" | cut -d' ' -f1 + )\"" fi sed -Ei -e "s/(alpine:)0.0/\\1${alpine_version}/" "${dockerfile}-tmp" + sed -Ei -e "s/CHECKSUM=CHECKSUM_x64/CHECKSUM=${checksum}/" "${dockerfile}-tmp" elif is_debian "${variant}"; then sed -Ei -e "s/(buildpack-deps:)name/\\1${variant}/" "${dockerfile}-tmp" elif is_debian_slim "${variant}"; then