diff --git a/.travis.yml b/.travis.yml index 560c2a270..a730c572b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,36 +4,34 @@ services: docker env: - VERSION=3.7 VARIANT=stretch - VERSION=3.7 VARIANT=stretch/slim + - VERSION=3.7 VARIANT=alpine3.9 - VERSION=3.7 VARIANT=alpine3.8 - - VERSION=3.7 VARIANT=alpine3.7 - VERSION=3.6 VARIANT=stretch - VERSION=3.6 VARIANT=stretch/slim - VERSION=3.6 VARIANT=jessie - VERSION=3.6 VARIANT=jessie/slim + - VERSION=3.6 VARIANT=alpine3.9 - VERSION=3.6 VARIANT=alpine3.8 - - VERSION=3.6 VARIANT=alpine3.7 - - VERSION=3.6 VARIANT=alpine3.6 - VERSION=3.5 VARIANT=stretch - VERSION=3.5 VARIANT=stretch/slim - VERSION=3.5 VARIANT=jessie - VERSION=3.5 VARIANT=jessie/slim + - VERSION=3.5 VARIANT=alpine3.9 - VERSION=3.5 VARIANT=alpine3.8 - - VERSION=3.5 VARIANT=alpine3.7 - VERSION=3.4 VARIANT=stretch - VERSION=3.4 VARIANT=stretch/slim - VERSION=3.4 VARIANT=jessie - VERSION=3.4 VARIANT=jessie/slim - VERSION=3.4 VARIANT=wheezy + - VERSION=3.4 VARIANT=alpine3.9 - VERSION=3.4 VARIANT=alpine3.8 - - VERSION=3.4 VARIANT=alpine3.7 - VERSION=2.7 VARIANT=stretch - VERSION=2.7 VARIANT=stretch/slim - VERSION=2.7 VARIANT=jessie - VERSION=2.7 VARIANT=jessie/slim - VERSION=2.7 VARIANT=wheezy + - VERSION=2.7 VARIANT=alpine3.9 - VERSION=2.7 VARIANT=alpine3.8 - - VERSION=2.7 VARIANT=alpine3.7 - - VERSION=2.7 VARIANT=alpine3.6 install: - git clone https://github.com/docker-library/official-images.git ~/official-images diff --git a/2.7/alpine3.6/Dockerfile b/2.7/alpine3.6/Dockerfile deleted file mode 100644 index 46f34f0fa..000000000 --- a/2.7/alpine3.6/Dockerfile +++ /dev/null @@ -1,123 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.6 - -# ensure local python is preferred over distribution python -ENV PATH /usr/local/bin:$PATH - -# http://bugs.python.org/issue19846 -# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. -ENV LANG C.UTF-8 -# https://github.com/docker-library/python/issues/147 -ENV PYTHONIOENCODING UTF-8 - -# install ca-certificates so that HTTPS works consistently -# other runtime dependencies for Python are installed later -RUN apk add --no-cache ca-certificates - -ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF -ENV PYTHON_VERSION 2.7.15 - -RUN set -ex \ - && apk add --no-cache --virtual .fetch-deps \ - gnupg \ - libressl \ - tar \ - xz \ - \ - && wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \ - && wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \ - && export GNUPGHOME="$(mktemp -d)" \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ - && gpg --batch --verify python.tar.xz.asc python.tar.xz \ - && { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \ - && rm -rf "$GNUPGHOME" python.tar.xz.asc \ - && mkdir -p /usr/src/python \ - && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ - && rm python.tar.xz \ - \ - && apk add --no-cache --virtual .build-deps \ - bzip2-dev \ - coreutils \ - dpkg-dev dpkg \ - expat-dev \ - findutils \ - gcc \ - gdbm-dev \ - libc-dev \ - libffi-dev \ - libressl \ - libressl-dev \ - linux-headers \ - make \ - ncurses-dev \ - pax-utils \ - readline-dev \ - sqlite-dev \ - tcl-dev \ - tk \ - tk-dev \ - zlib-dev \ -# add build deps before removing fetch deps in case there's overlap - && apk del .fetch-deps \ - \ - && cd /usr/src/python \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && ./configure \ - --build="$gnuArch" \ - --enable-shared \ - --enable-unicode=ucs4 \ - --with-system-expat \ - --with-system-ffi \ - && make -j "$(nproc)" \ -# set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() -# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 - EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000" \ - && make install \ - \ - && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - | xargs -rt apk add --no-cache --virtual .python-rundeps \ - && apk del .build-deps \ - \ - && find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' + \ - && rm -rf /usr/src/python \ - \ - && python2 --version - -# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" -ENV PYTHON_PIP_VERSION 19.0.1 - -RUN set -ex; \ - \ - apk add --no-cache --virtual .fetch-deps libressl; trap 'apk del .fetch-deps' EXIT; \ - \ - wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \ - \ - python get-pip.py \ - --disable-pip-version-check \ - --no-cache-dir \ - "pip==$PYTHON_PIP_VERSION" \ - ; \ - pip --version; \ - \ - find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' +; \ - rm -f get-pip.py - -CMD ["python2"] diff --git a/2.7/alpine3.8/Dockerfile b/2.7/alpine3.8/Dockerfile index 6ac97f254..4a8b2239c 100644 --- a/2.7/alpine3.8/Dockerfile +++ b/2.7/alpine3.8/Dockerfile @@ -50,11 +50,11 @@ RUN set -ex \ libc-dev \ libffi-dev \ libnsl-dev \ - libressl-dev \ libtirpc-dev \ linux-headers \ make \ ncurses-dev \ + libressl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/2.7/alpine3.7/Dockerfile b/2.7/alpine3.9/Dockerfile similarity index 99% rename from 2.7/alpine3.7/Dockerfile rename to 2.7/alpine3.9/Dockerfile index 0a5b17b5f..fa76b9573 100644 --- a/2.7/alpine3.7/Dockerfile +++ b/2.7/alpine3.9/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.7 +FROM alpine:3.9 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -50,11 +50,11 @@ RUN set -ex \ libc-dev \ libffi-dev \ libnsl-dev \ - libressl-dev \ libtirpc-dev \ linux-headers \ make \ ncurses-dev \ + openssl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/3.4/alpine3.8/Dockerfile b/3.4/alpine3.8/Dockerfile index ce260a54d..cb1e184b8 100644 --- a/3.4/alpine3.8/Dockerfile +++ b/3.4/alpine3.8/Dockerfile @@ -47,10 +47,10 @@ RUN set -ex \ gdbm-dev \ libc-dev \ libffi-dev \ - libressl-dev \ linux-headers \ make \ ncurses-dev \ + libressl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/3.4/alpine3.7/Dockerfile b/3.4/alpine3.9/Dockerfile similarity index 99% rename from 3.4/alpine3.7/Dockerfile rename to 3.4/alpine3.9/Dockerfile index e8ca6853f..710b2bb84 100644 --- a/3.4/alpine3.7/Dockerfile +++ b/3.4/alpine3.9/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.7 +FROM alpine:3.9 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -47,10 +47,10 @@ RUN set -ex \ gdbm-dev \ libc-dev \ libffi-dev \ - libressl-dev \ linux-headers \ make \ ncurses-dev \ + libressl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/3.5/alpine3.8/Dockerfile b/3.5/alpine3.8/Dockerfile index 2ab76a31e..b3fe35970 100644 --- a/3.5/alpine3.8/Dockerfile +++ b/3.5/alpine3.8/Dockerfile @@ -47,10 +47,10 @@ RUN set -ex \ gdbm-dev \ libc-dev \ libffi-dev \ - openssl-dev \ linux-headers \ make \ ncurses-dev \ + openssl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/3.5/alpine3.7/Dockerfile b/3.5/alpine3.9/Dockerfile similarity index 99% rename from 3.5/alpine3.7/Dockerfile rename to 3.5/alpine3.9/Dockerfile index 99f6a0976..f8d9f56a6 100644 --- a/3.5/alpine3.7/Dockerfile +++ b/3.5/alpine3.9/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.7 +FROM alpine:3.9 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -47,10 +47,10 @@ RUN set -ex \ gdbm-dev \ libc-dev \ libffi-dev \ - libressl-dev \ linux-headers \ make \ ncurses-dev \ + openssl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/3.6/alpine3.6/Dockerfile b/3.6/alpine3.6/Dockerfile deleted file mode 100644 index 14a6a3900..000000000 --- a/3.6/alpine3.6/Dockerfile +++ /dev/null @@ -1,130 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM alpine:3.6 - -# ensure local python is preferred over distribution python -ENV PATH /usr/local/bin:$PATH - -# http://bugs.python.org/issue19846 -# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. -ENV LANG C.UTF-8 - -# install ca-certificates so that HTTPS works consistently -# other runtime dependencies for Python are installed later -RUN apk add --no-cache ca-certificates - -ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D -ENV PYTHON_VERSION 3.6.8 - -RUN set -ex \ - && apk add --no-cache --virtual .fetch-deps \ - gnupg \ - libressl \ - tar \ - xz \ - \ - && wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \ - && wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \ - && export GNUPGHOME="$(mktemp -d)" \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ - && gpg --batch --verify python.tar.xz.asc python.tar.xz \ - && { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \ - && rm -rf "$GNUPGHOME" python.tar.xz.asc \ - && mkdir -p /usr/src/python \ - && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ - && rm python.tar.xz \ - \ - && apk add --no-cache --virtual .build-deps \ - bzip2-dev \ - coreutils \ - dpkg-dev dpkg \ - expat-dev \ - findutils \ - gcc \ - gdbm-dev \ - libc-dev \ - libffi-dev \ - libressl \ - libressl-dev \ - linux-headers \ - make \ - ncurses-dev \ - pax-utils \ - readline-dev \ - sqlite-dev \ - tcl-dev \ - tk \ - tk-dev \ - xz-dev \ - zlib-dev \ -# add build deps before removing fetch deps in case there's overlap - && apk del .fetch-deps \ - \ - && cd /usr/src/python \ - && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ - && ./configure \ - --build="$gnuArch" \ - --enable-loadable-sqlite-extensions \ - --enable-shared \ - --with-system-expat \ - --with-system-ffi \ - --without-ensurepip \ - && make -j "$(nproc)" \ -# set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() -# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 - EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000" \ - && make install \ - \ - && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - | xargs -rt apk add --no-cache --virtual .python-rundeps \ - && apk del .build-deps \ - \ - && find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' + \ - && rm -rf /usr/src/python \ - \ - && python3 --version - -# make some useful symlinks that are expected to exist -RUN cd /usr/local/bin \ - && ln -s idle3 idle \ - && ln -s pydoc3 pydoc \ - && ln -s python3 python \ - && ln -s python3-config python-config - -# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" -ENV PYTHON_PIP_VERSION 19.0.1 - -RUN set -ex; \ - \ - apk add --no-cache --virtual .fetch-deps libressl; trap 'apk del .fetch-deps' EXIT; \ - \ - wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \ - \ - python get-pip.py \ - --disable-pip-version-check \ - --no-cache-dir \ - "pip==$PYTHON_PIP_VERSION" \ - ; \ - pip --version; \ - \ - find /usr/local -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' +; \ - rm -f get-pip.py - -CMD ["python3"] diff --git a/3.6/alpine3.8/Dockerfile b/3.6/alpine3.8/Dockerfile index 4d9bdb5bf..48cd91d86 100644 --- a/3.6/alpine3.8/Dockerfile +++ b/3.6/alpine3.8/Dockerfile @@ -48,11 +48,11 @@ RUN set -ex \ libc-dev \ libffi-dev \ libnsl-dev \ - libressl-dev \ libtirpc-dev \ linux-headers \ make \ ncurses-dev \ + libressl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/3.6/alpine3.7/Dockerfile b/3.6/alpine3.9/Dockerfile similarity index 99% rename from 3.6/alpine3.7/Dockerfile rename to 3.6/alpine3.9/Dockerfile index 03eadf000..7a16e75a4 100644 --- a/3.6/alpine3.7/Dockerfile +++ b/3.6/alpine3.9/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.7 +FROM alpine:3.9 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -48,11 +48,11 @@ RUN set -ex \ libc-dev \ libffi-dev \ libnsl-dev \ - libressl-dev \ libtirpc-dev \ linux-headers \ make \ ncurses-dev \ + openssl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/3.7/alpine3.8/Dockerfile b/3.7/alpine3.8/Dockerfile index a631c7405..a9c7c7202 100644 --- a/3.7/alpine3.8/Dockerfile +++ b/3.7/alpine3.8/Dockerfile @@ -48,11 +48,11 @@ RUN set -ex \ libc-dev \ libffi-dev \ libnsl-dev \ - libressl-dev \ libtirpc-dev \ linux-headers \ make \ ncurses-dev \ + libressl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/3.7/alpine3.7/Dockerfile b/3.7/alpine3.9/Dockerfile similarity index 99% rename from 3.7/alpine3.7/Dockerfile rename to 3.7/alpine3.9/Dockerfile index 46b982a87..de3f400a9 100644 --- a/3.7/alpine3.7/Dockerfile +++ b/3.7/alpine3.9/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM alpine:3.7 +FROM alpine:3.9 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH @@ -48,11 +48,11 @@ RUN set -ex \ libc-dev \ libffi-dev \ libnsl-dev \ - openssl-dev \ libtirpc-dev \ linux-headers \ make \ ncurses-dev \ + openssl-dev \ pax-utils \ readline-dev \ sqlite-dev \ diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 9f2a84eb6..35d25ab06 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -17,7 +17,6 @@ ENV PYTHON_VERSION %%PLACEHOLDER%% RUN set -ex \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ - libressl \ tar \ xz \ \ @@ -43,12 +42,11 @@ RUN set -ex \ libc-dev \ libffi-dev \ libnsl-dev \ - libressl \ - libressl-dev \ libtirpc-dev \ linux-headers \ make \ ncurses-dev \ + openssl-dev \ pax-utils \ readline-dev \ sqlite-dev \ @@ -104,8 +102,6 @@ RUN cd /usr/local/bin \ ENV PYTHON_PIP_VERSION %%PLACEHOLDER%% RUN set -ex; \ - \ - apk add --no-cache --virtual .fetch-deps libressl; trap 'apk del .fetch-deps' EXIT; \ \ wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \ \ diff --git a/Dockerfile-caveman-alpine.template b/Dockerfile-caveman-alpine.template index 475255d87..8af172f5e 100644 --- a/Dockerfile-caveman-alpine.template +++ b/Dockerfile-caveman-alpine.template @@ -19,7 +19,6 @@ ENV PYTHON_VERSION %%PLACEHOLDER%% RUN set -ex \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ - libressl \ tar \ xz \ \ @@ -45,12 +44,11 @@ RUN set -ex \ libc-dev \ libffi-dev \ libnsl-dev \ - libressl \ - libressl-dev \ libtirpc-dev \ linux-headers \ make \ ncurses-dev \ + openssl-dev \ pax-utils \ readline-dev \ sqlite-dev \ @@ -96,8 +94,6 @@ RUN set -ex \ ENV PYTHON_PIP_VERSION %%PLACEHOLDER%% RUN set -ex; \ - \ - apk add --no-cache --virtual .fetch-deps libressl; trap 'apk del .fetch-deps' EXIT; \ \ wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \ \ diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index dda286792..0b2a9164b 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -8,7 +8,7 @@ declare -A aliases=( ) defaultDebianSuite='stretch' -defaultAlpineVersion='3.8' +defaultAlpineVersion='3.9' self="$(basename "$BASH_SOURCE")" cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" @@ -77,7 +77,7 @@ for version in "${versions[@]}"; do for v in \ {stretch,jessie,wheezy}{,/slim} \ - alpine{3.8,3.7,3.6} \ + alpine{3.9,3.8} \ windows/windowsservercore-{ltsc2016,1709} \ windows/nanoserver-{sac2016,1709} \ ; do diff --git a/update.sh b/update.sh index ec9dfffba..dc26529a7 100755 --- a/update.sh +++ b/update.sh @@ -112,7 +112,7 @@ for version in "${versions[@]}"; do echo "$version: $fullVersion" for v in \ - alpine{3.6,3.7,3.8} \ + alpine{3.8,3.9} \ {wheezy,jessie,stretch}{/slim,} \ windows/nanoserver-{1709,sac2016} \ windows/windowsservercore-{1709,ltsc2016} \ @@ -152,32 +152,30 @@ for version in "${versions[@]}"; do wheezy) sed -ri -e 's/dpkg-architecture --query /dpkg-architecture -q/g' "$dir/Dockerfile" ;; esac - if [[ "$v" == alpine* ]] && [ "$v" != 'alpine3.6' ]; then - # https://github.com/docker-library/python/pull/307 - # on Alpine 3.6 it's necessary to install libressl to get working HTTPS with wget (and ca-certificates for Python's runtime), but later versions don't require this (support for both is baked into the base) - # https://github.com/docker-library/python/issues/324 - # while Alpine 3.7+ includes CA certs in the base (/etc/ssl/cert.pem) and this is sufficient for working HTTPS in wget and Python, some software (notably, any Golang code) expects CA certs at /etc/ssl/certs/ - # this means it is still necessary to install ca-certificates in all Alpine images for consistently working HTTPS - sed -ri -e '/(libressl|openssl)([ ;]|$)/d' "$dir/Dockerfile" - - # remove any double-empty (or double-empty-continuation) lines the above created - uniq "$dir/Dockerfile" > "$dir/Dockerfile.new" - mv "$dir/Dockerfile.new" "$dir/Dockerfile" + # Alpine < 3.9 used libressl instead of openssl + if [ "$v" = 'alpine3.8' ]; then + sed -ri -e 's/openssl/libressl/g' "$dir/Dockerfile" fi case "$version/$v" in # https://bugs.python.org/issue32598 (Python 3.7.0b1+) # TL;DR: Python 3.7+ uses OpenSSL functionality which LibreSSL 2.6.x in Alpine 3.7 doesn't implement # Python 3.5 on Alpine 3.8 needs OpenSSL too - 3.7*/alpine3.7 | 3.5*/alpine3.8) + 3.5*/alpine3.8) sed -ri -e 's/libressl-dev/openssl-dev/g' "$dir/Dockerfile" ;;& # (3.5*/alpine* needs to match the next block too) # Libraries to build the nis module only available in Alpine 3.7+. # Also require this patch https://bugs.python.org/issue32521 only available in Python 2.7, 3.6+. - 3.[4-5]*/alpine* | */alpine3.6) + 3.[4-5]*/alpine*) sed -ri -e '/libnsl-dev/d' -e '/libtirpc-dev/d' "$dir/Dockerfile" - ;;& # (3.4*/alpine* and 3.5*/alpine* need to match the next block too) + ;;& # (3.4*/alpine* and 3.5*/alpine* need to match the next blocks too) + + # Alpine 3.9's OpenSSL 1.1.1 is too new for Python 3.4 + # no OpenSSL 1.0.x package available, so have to switch back to LibreSSL + 3.4/alpine3.9) + sed -ri -e 's/openssl-dev/libressl-dev/g' "$dir/Dockerfile" + ;;& # (need to match next block too) # https://bugs.python.org/issue11063, https://bugs.python.org/issue20519 (Python 3.7.0+) # A new native _uuid module improves uuid import time and avoids using ctypes.