From f29d8d2181f8450ee1a5f08f82c21f66ebfde2cb Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 30 Jan 2019 14:48:46 -0800 Subject: [PATCH] Update to Alpine 3.9 (dropping Alpine 3.7) This skips Ruby 2.3 since it doesn't support the OpenSSL version in Alpine 3.9, but it will be EOL soon anyhow (so it'll just stay on Alpine 3.7/3.8). --- .travis.yml | 6 +++--- 2.3/alpine3.7/Dockerfile | 4 ++-- 2.3/alpine3.8/Dockerfile | 4 ++-- 2.4/alpine3.8/Dockerfile | 4 ++-- 2.4/{alpine3.7 => alpine3.9}/Dockerfile | 6 +++--- 2.5/alpine3.8/Dockerfile | 4 ++-- 2.5/{alpine3.7 => alpine3.9}/Dockerfile | 6 +++--- 2.6/alpine3.8/Dockerfile | 4 ++-- 2.6/{alpine3.7 => alpine3.9}/Dockerfile | 6 +++--- Dockerfile-alpine.template | 4 ++-- generate-stackbrew-library.sh | 6 +++--- update.sh | 9 ++++++++- 12 files changed, 35 insertions(+), 28 deletions(-) rename 2.4/{alpine3.7 => alpine3.9}/Dockerfile (98%) rename 2.5/{alpine3.7 => alpine3.9}/Dockerfile (98%) rename 2.6/{alpine3.7 => alpine3.9}/Dockerfile (98%) diff --git a/.travis.yml b/.travis.yml index d927f535f8..cb1efe5697 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,18 +4,18 @@ services: docker env: - VERSION=2.6 VARIANT=stretch - VERSION=2.6 VARIANT=stretch/slim + - VERSION=2.6 VARIANT=alpine3.9 - VERSION=2.6 VARIANT=alpine3.8 - - VERSION=2.6 VARIANT=alpine3.7 - VERSION=2.5 VARIANT=stretch - VERSION=2.5 VARIANT=stretch/slim + - VERSION=2.5 VARIANT=alpine3.9 - VERSION=2.5 VARIANT=alpine3.8 - - VERSION=2.5 VARIANT=alpine3.7 - VERSION=2.4 VARIANT=stretch - VERSION=2.4 VARIANT=stretch/slim - VERSION=2.4 VARIANT=jessie - VERSION=2.4 VARIANT=jessie/slim + - VERSION=2.4 VARIANT=alpine3.9 - VERSION=2.4 VARIANT=alpine3.8 - - VERSION=2.4 VARIANT=alpine3.7 - VERSION=2.3 VARIANT=stretch - VERSION=2.3 VARIANT=stretch/slim - VERSION=2.3 VARIANT=jessie diff --git a/2.3/alpine3.7/Dockerfile b/2.3/alpine3.7/Dockerfile index 04fd51e76f..f4ea5e884e 100644 --- a/2.3/alpine3.7/Dockerfile +++ b/2.3/alpine3.7/Dockerfile @@ -30,13 +30,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + libressl \ + libressl-dev \ procps \ readline-dev \ ruby \ diff --git a/2.3/alpine3.8/Dockerfile b/2.3/alpine3.8/Dockerfile index 202caa1ffd..ebf1b7ca0e 100644 --- a/2.3/alpine3.8/Dockerfile +++ b/2.3/alpine3.8/Dockerfile @@ -30,13 +30,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + libressl \ + libressl-dev \ procps \ readline-dev \ ruby \ diff --git a/2.4/alpine3.8/Dockerfile b/2.4/alpine3.8/Dockerfile index b45e328aa2..fdba4725db 100644 --- a/2.4/alpine3.8/Dockerfile +++ b/2.4/alpine3.8/Dockerfile @@ -30,13 +30,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + libressl \ + libressl-dev \ procps \ readline-dev \ ruby \ diff --git a/2.4/alpine3.7/Dockerfile b/2.4/alpine3.9/Dockerfile similarity index 98% rename from 2.4/alpine3.7/Dockerfile rename to 2.4/alpine3.9/Dockerfile index d2fb67ce13..92c39fc29b 100644 --- a/2.4/alpine3.7/Dockerfile +++ b/2.4/alpine3.9/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.7 +FROM alpine:3.9 # skip installing gem documentation RUN mkdir -p /usr/local/etc \ @@ -30,13 +30,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + openssl \ + openssl-dev \ procps \ readline-dev \ ruby \ diff --git a/2.5/alpine3.8/Dockerfile b/2.5/alpine3.8/Dockerfile index 0ce40e5586..152c831972 100644 --- a/2.5/alpine3.8/Dockerfile +++ b/2.5/alpine3.8/Dockerfile @@ -30,13 +30,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + libressl \ + libressl-dev \ procps \ readline-dev \ ruby \ diff --git a/2.5/alpine3.7/Dockerfile b/2.5/alpine3.9/Dockerfile similarity index 98% rename from 2.5/alpine3.7/Dockerfile rename to 2.5/alpine3.9/Dockerfile index 9a8771d916..283f77b996 100644 --- a/2.5/alpine3.7/Dockerfile +++ b/2.5/alpine3.9/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.7 +FROM alpine:3.9 # skip installing gem documentation RUN mkdir -p /usr/local/etc \ @@ -30,13 +30,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + openssl \ + openssl-dev \ procps \ readline-dev \ ruby \ diff --git a/2.6/alpine3.8/Dockerfile b/2.6/alpine3.8/Dockerfile index 2fe3d4dd0e..c81f291ff6 100644 --- a/2.6/alpine3.8/Dockerfile +++ b/2.6/alpine3.8/Dockerfile @@ -29,13 +29,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + libressl \ + libressl-dev \ procps \ readline-dev \ ruby \ diff --git a/2.6/alpine3.7/Dockerfile b/2.6/alpine3.9/Dockerfile similarity index 98% rename from 2.6/alpine3.7/Dockerfile rename to 2.6/alpine3.9/Dockerfile index a044df6611..ab7dfbae80 100644 --- a/2.6/alpine3.7/Dockerfile +++ b/2.6/alpine3.9/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.7 +FROM alpine:3.9 # skip installing gem documentation RUN mkdir -p /usr/local/etc \ @@ -29,13 +29,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + openssl \ + openssl-dev \ procps \ readline-dev \ ruby \ diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 2f891e6d91..5b28ebf81c 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -30,13 +30,13 @@ RUN set -ex \ glib-dev \ libc-dev \ libffi-dev \ - libressl \ - libressl-dev \ libxml2-dev \ libxslt-dev \ linux-headers \ make \ ncurses-dev \ + openssl \ + openssl-dev \ procps \ readline-dev \ ruby \ diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index d036d0fbe7..d7ab11db74 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -7,9 +7,9 @@ declare -A aliases=( ) defaultDebianSuite='stretch' -defaultAlpineVersion='3.8' +defaultAlpineVersion='3.9' declare -A alpineVersion=( - #[2.5]='3.8' + [2.3]='3.8' ) self="$(basename "$BASH_SOURCE")" @@ -77,7 +77,7 @@ join() { for version in "${versions[@]}"; do for v in \ {stretch,jessie}{,/slim} \ - alpine{3.8,3.7,3.6} \ + alpine{3.9,3.8,3.7} \ ; do dir="$version/$v" variant="$(basename "$v")" diff --git a/update.sh b/update.sh index 3c404d05a0..4cdddfbe3a 100755 --- a/update.sh +++ b/update.sh @@ -70,7 +70,7 @@ for version in "${versions[@]}"; do echo "$version: $fullVersion; $shaVal" for v in \ - alpine{3.6,3.7,3.8} \ + alpine{3.7,3.8,3.9} \ {jessie,stretch}{/slim,} \ ; do dir="$version/$v" @@ -104,6 +104,13 @@ for version in "${versions[@]}"; do -e 's/^(FROM (debian|buildpack-deps|alpine)):.*/\1:'"$tag"'/' \ "$template" > "$dir/Dockerfile" + case "$variant" in + alpine3.8 | alpine3.7) + # Alpine 3.9+ uses OpenSSL, but 3.8/3.7 still uses LibreSSL + sed -ri -e 's/openssl/libressl/g' "$dir/Dockerfile" + ;; + esac + if [ -n "${newEnoughRubygems[$version]:-}" ]; then sed -ri -e '/RUBYGEMS_VERSION/d' "$dir/Dockerfile" fi