Skip to content

Update docker-library images #2035

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

Merged
merged 1 commit into from
Aug 9, 2016

Conversation

tianon
Copy link
Member

@tianon tianon commented Aug 9, 2016

- `elasticsearch`: 5.0.0-alpha5 (docker-library/elasticsearch#113)
- `piwik`: swap from merge commit to commit with substance (direct output of `generate-stackbrew-library.sh`)
- `python`: templates (docker-library/python#139), fix `import dbm` (docker-library/python#140)
@tianon tianon force-pushed the update-docker-library branch from fff720f to cc8d2d1 Compare August 9, 2016 19:18
@tianon tianon removed the library/php label Aug 9, 2016
@tianon
Copy link
Member Author

tianon commented Aug 9, 2016

Removed php -- it'll be updated sometime later:

diff --git a/elasticsearch_5/Dockerfile b/elasticsearch_5/Dockerfile
index a779c58..184dfae 100644
--- a/elasticsearch_5/Dockerfile
+++ b/elasticsearch_5/Dockerfile
@@ -16,7 +16,7 @@ RUN set -x \
 # https://packages.elasticsearch.org/GPG-KEY-elasticsearch
 RUN apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 46095ACC8548582C1A2699A9D27D666CD88E42B4

-ENV ELASTICSEARCH_VERSION 5.0.0-alpha4
+ENV ELASTICSEARCH_VERSION 5.0.0-alpha5
 ENV ELASTICSEARCH_REPO_BASE http://packages.elasticsearch.org/elasticsearch/5.x/debian

 RUN echo "deb $ELASTICSEARCH_REPO_BASE stable main" > /etc/apt/sources.list.d/elasticsearch.list
diff --git a/python_2-alpine/Dockerfile b/python_2-alpine/Dockerfile
index d540e39..302efee 100644
--- a/python_2-alpine/Dockerfile
+++ b/python_2-alpine/Dockerfile
@@ -1,21 +1,31 @@
 FROM alpine:3.4

+# 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

-# gpg: key 18ADD4FF: public key "Benjamin Peterson <benjamin@python.org>" imported
-ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF
+# install ca-certificates so that HTTPS works consistently
+# the other runtime dependencies for Python are installed later
+RUN apk add --no-cache ca-certificates

+ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF
 ENV PYTHON_VERSION 2.7.12

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
 ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
-   && apk add --no-cache --virtual .fetch-deps curl gnupg tar xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apk add --no-cache --virtual .fetch-deps \
+       gnupg \
+       openssl \
+       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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -27,10 +37,12 @@ RUN set -ex \
    && apk add --no-cache --virtual .build-deps  \
        bzip2-dev \
        gcc \
+       gdbm-dev \
        libc-dev \
        linux-headers \
        make \
        ncurses-dev \
+       openssl \
        openssl-dev \
        pax-utils \
        readline-dev \
@@ -39,15 +51,22 @@ RUN set -ex \
        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 \
    && ./configure \
        --enable-shared \
        --enable-unicode=ucs4 \
    && make -j$(getconf _NPROCESSORS_ONLN) \
    && make install \
-   && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python2 \
-   && pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python2 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   && pip install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -62,7 +81,7 @@ RUN set -ex \
            | sort -u \
    )" \
    && apk add --virtual .python-rundeps $runDeps \
-   && apk del .build-deps .fetch-deps \
+   && apk del .build-deps \
    && rm -rf /usr/src/python ~/.cache

 CMD ["python2"]
diff --git a/python_2-slim/Dockerfile b/python_2-slim/Dockerfile
index ee7b1cd..11a3922 100644
--- a/python_2-slim/Dockerfile
+++ b/python_2-slim/Dockerfile
@@ -1,21 +1,20 @@
 FROM debian:jessie

-# ensure local python is used over debian python
+# 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

+# runtime dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
        ca-certificates \
        libsqlite3-0 \
        libssl1.0.0 \
    && rm -rf /var/lib/apt/lists/*

-# gpg: key 18ADD4FF: public key "Benjamin Peterson <benjamin@python.org>" imported
 ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF
-
 ENV PYTHON_VERSION 2.7.12

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -23,10 +22,10 @@ ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
    && buildDeps=' \
-       curl \
        gcc \
        libbz2-dev \
        libc6-dev \
+       libdb-dev \
        libncurses-dev \
        libreadline-dev \
        libsqlite3-dev \
@@ -34,12 +33,14 @@ RUN set -ex \
        make \
        tcl-dev \
        tk-dev \
+       wget \
        xz-utils \
        zlib1g-dev \
    ' \
    && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -55,9 +56,13 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python2 \
-   && pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python2 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   && pip install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
diff --git a/python_2-wheezy/Dockerfile b/python_2-wheezy/Dockerfile
index e68c736..ac5182b 100644
--- a/python_2-wheezy/Dockerfile
+++ b/python_2-wheezy/Dockerfile
@@ -1,15 +1,19 @@
 FROM buildpack-deps:wheezy

-# ensure local python is used over debian python
+# 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

-# gpg: key 18ADD4FF: public key "Benjamin Peterson <benjamin@python.org>" imported
-ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF
+# runtime dependencies
+RUN apt-get update && apt-get install -y --no-install-recommends \
+       tcl \
+       tk \
+   && rm -rf /var/lib/apt/lists/*

+ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF
 ENV PYTHON_VERSION 2.7.12

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -20,13 +24,10 @@ RUN set -ex \
        tcl-dev \
        tk-dev \
    ' \
-   && runDeps=' \
-       tcl \
-       tk \
-   ' \
-   && apt-get update && apt-get install -y $runDeps $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -42,9 +43,13 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python2 \
-   && pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python2 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   && pip install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
diff --git a/python_2/Dockerfile b/python_2/Dockerfile
index ea1dc08..2ca772a 100644
--- a/python_2/Dockerfile
+++ b/python_2/Dockerfile
@@ -1,15 +1,19 @@
 FROM buildpack-deps:jessie

-# ensure local python is used over debian python
+# 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

-# gpg: key 18ADD4FF: public key "Benjamin Peterson <benjamin@python.org>" imported
-ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF
+# runtime dependencies
+RUN apt-get update && apt-get install -y --no-install-recommends \
+       tcl \
+       tk \
+   && rm -rf /var/lib/apt/lists/*

+ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF
 ENV PYTHON_VERSION 2.7.12

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -20,13 +24,10 @@ RUN set -ex \
        tcl-dev \
        tk-dev \
    ' \
-   && runDeps=' \
-       tcl \
-       tk \
-   ' \
-   && apt-get update && apt-get install -y $runDeps $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -42,9 +43,13 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python2 \
-   && pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python2 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   && pip install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
diff --git a/python_3.3-alpine/Dockerfile b/python_3.3-alpine/Dockerfile
index bb1f601..b04660e 100644
--- a/python_3.3-alpine/Dockerfile
+++ b/python_3.3-alpine/Dockerfile
@@ -1,21 +1,37 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM alpine:3.4

+# 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

-# gpg: key 36580288: public key "Georg Brandl (Python release signing key) <georg@python.org>" imported
-ENV GPG_KEY 26DEA9D4613391EF3E25C9FF0A5B101836580288
+# install ca-certificates so that HTTPS works consistently
+# the other runtime dependencies for Python are installed later
+RUN apk add --no-cache ca-certificates

+ENV GPG_KEY 26DEA9D4613391EF3E25C9FF0A5B101836580288
 ENV PYTHON_VERSION 3.3.6

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
 ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
-   && apk add --no-cache --virtual .fetch-deps curl gnupg tar xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apk add --no-cache --virtual .fetch-deps \
+       gnupg \
+       openssl \
+       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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -31,6 +47,7 @@ RUN set -ex \
        linux-headers \
        make \
        ncurses-dev \
+       openssl \
        openssl-dev \
        pax-utils \
        readline-dev \
@@ -40,15 +57,25 @@ RUN set -ex \
        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 \
    && ./configure \
        --enable-loadable-sqlite-extensions \
        --enable-shared \
    && make -j$(getconf _NPROCESSORS_ONLN) \
    && make install \
-   && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python3 \
-   && pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -63,11 +90,12 @@ RUN set -ex \
            | sort -u \
    )" \
    && apk add --virtual .python-rundeps $runDeps \
-   && apk del .build-deps .fetch-deps \
+   && apk del .build-deps \
    && rm -rf /usr/src/python ~/.cache

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.3-onbuild/Dockerfile b/python_3.3-onbuild/Dockerfile
index b200ef8..bc96d2f 100644
--- a/python_3.3-onbuild/Dockerfile
+++ b/python_3.3-onbuild/Dockerfile
@@ -1,3 +1,9 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM python:3.3

 RUN mkdir -p /usr/src/app
diff --git a/python_3.3-slim/Dockerfile b/python_3.3-slim/Dockerfile
index 030cff5..a12e09c 100644
--- a/python_3.3-slim/Dockerfile
+++ b/python_3.3-slim/Dockerfile
@@ -1,21 +1,26 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM debian:jessie

-# ensure local python is used over debian python
+# 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

+# runtime dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
        ca-certificates \
        libsqlite3-0 \
        libssl1.0.0 \
    && rm -rf /var/lib/apt/lists/*

-# gpg: key 36580288: public key "Georg Brandl (Python release signing key) <georg@python.org>" imported
 ENV GPG_KEY 26DEA9D4613391EF3E25C9FF0A5B101836580288
-
 ENV PYTHON_VERSION 3.3.6

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -23,7 +28,6 @@ ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
    && buildDeps=' \
-       curl \
        gcc \
        libbz2-dev \
        libc6-dev \
@@ -35,12 +39,14 @@ RUN set -ex \
        make \
        tcl-dev \
        tk-dev \
+       wget \
        xz-utils \
        zlib1g-dev \
    ' \
    && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -56,9 +62,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python3 \
-   && pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -70,6 +83,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.3-wheezy/Dockerfile b/python_3.3-wheezy/Dockerfile
index 0f1787e..ef0c415 100644
--- a/python_3.3-wheezy/Dockerfile
+++ b/python_3.3-wheezy/Dockerfile
@@ -1,15 +1,25 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM buildpack-deps:wheezy

-# ensure local python is used over debian python
+# 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

-# gpg: key 36580288: public key "Georg Brandl (Python release signing key) <georg@python.org>" imported
-ENV GPG_KEY 26DEA9D4613391EF3E25C9FF0A5B101836580288
+# runtime dependencies
+RUN apt-get update && apt-get install -y --no-install-recommends \
+       tcl \
+       tk \
+   && rm -rf /var/lib/apt/lists/*

+ENV GPG_KEY 26DEA9D4613391EF3E25C9FF0A5B101836580288
 ENV PYTHON_VERSION 3.3.6

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -20,13 +30,10 @@ RUN set -ex \
        tcl-dev \
        tk-dev \
    ' \
-   && runDeps=' \
-       tcl \
-       tk \
-   ' \
-   && apt-get update && apt-get install -y $runDeps $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -42,9 +49,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python3 \
-   && pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -56,6 +70,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.3/Dockerfile b/python_3.3/Dockerfile
index 0ca77a6..c978436 100644
--- a/python_3.3/Dockerfile
+++ b/python_3.3/Dockerfile
@@ -1,15 +1,25 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM buildpack-deps:jessie

-# ensure local python is used over debian python
+# 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

-# gpg: key 36580288: public key "Georg Brandl (Python release signing key) <georg@python.org>" imported
-ENV GPG_KEY 26DEA9D4613391EF3E25C9FF0A5B101836580288
+# runtime dependencies
+RUN apt-get update && apt-get install -y --no-install-recommends \
+       tcl \
+       tk \
+   && rm -rf /var/lib/apt/lists/*

+ENV GPG_KEY 26DEA9D4613391EF3E25C9FF0A5B101836580288
 ENV PYTHON_VERSION 3.3.6

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -20,13 +30,10 @@ RUN set -ex \
        tcl-dev \
        tk-dev \
    ' \
-   && runDeps=' \
-       tcl \
-       tk \
-   ' \
-   && apt-get update && apt-get install -y $runDeps $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -42,9 +49,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python3 \
-   && pip install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -56,6 +70,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.4-alpine/Dockerfile b/python_3.4-alpine/Dockerfile
index 6ca15c6..19dc70c 100644
--- a/python_3.4-alpine/Dockerfile
+++ b/python_3.4-alpine/Dockerfile
@@ -1,21 +1,37 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM alpine:3.4

+# 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

-# gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
-ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
+# install ca-certificates so that HTTPS works consistently
+# the other runtime dependencies for Python are installed later
+RUN apk add --no-cache ca-certificates

+ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
 ENV PYTHON_VERSION 3.4.5

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
 ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
-   && apk add --no-cache --virtual .fetch-deps curl gnupg tar xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apk add --no-cache --virtual .fetch-deps \
+       gnupg \
+       openssl \
+       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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -23,7 +39,6 @@ RUN set -ex \
    && mkdir -p /usr/src/python \
    && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \
    && rm python.tar.xz \
-   && apk del .fetch-deps \
    \
    && apk add --no-cache --virtual .build-deps  \
        bzip2-dev \
@@ -32,6 +47,7 @@ RUN set -ex \
        linux-headers \
        make \
        ncurses-dev \
+       openssl \
        openssl-dev \
        pax-utils \
        readline-dev \
@@ -41,14 +57,25 @@ RUN set -ex \
        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 \
    && ./configure \
        --enable-loadable-sqlite-extensions \
        --enable-shared \
    && make -j$(getconf _NPROCESSORS_ONLN) \
    && make install \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -68,7 +95,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.4 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.4-onbuild/Dockerfile b/python_3.4-onbuild/Dockerfile
index f0d0172..892c9c3 100644
--- a/python_3.4-onbuild/Dockerfile
+++ b/python_3.4-onbuild/Dockerfile
@@ -1,3 +1,9 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM python:3.4

 RUN mkdir -p /usr/src/app
diff --git a/python_3.4-slim/Dockerfile b/python_3.4-slim/Dockerfile
index 17adf61..89699fd 100644
--- a/python_3.4-slim/Dockerfile
+++ b/python_3.4-slim/Dockerfile
@@ -1,21 +1,26 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM debian:jessie

-# ensure local python is used over debian python
+# 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

+# runtime dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
        ca-certificates \
        libsqlite3-0 \
        libssl1.0.0 \
    && rm -rf /var/lib/apt/lists/*

-# gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
 ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
-
 ENV PYTHON_VERSION 3.4.5

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -23,7 +28,6 @@ ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
    && buildDeps=' \
-       curl \
        gcc \
        libbz2-dev \
        libc6-dev \
@@ -35,12 +39,14 @@ RUN set -ex \
        make \
        tcl-dev \
        tk-dev \
+       wget \
        xz-utils \
        zlib1g-dev \
    ' \
    && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -56,8 +62,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -69,7 +83,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.4 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.4-wheezy/Dockerfile b/python_3.4-wheezy/Dockerfile
index 9d52bc8..72eb6bd 100644
--- a/python_3.4-wheezy/Dockerfile
+++ b/python_3.4-wheezy/Dockerfile
@@ -1,15 +1,25 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM buildpack-deps:wheezy

-# ensure local python is used over debian python
+# 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

-# gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
-ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
+# runtime dependencies
+RUN apt-get update && apt-get install -y --no-install-recommends \
+       tcl \
+       tk \
+   && rm -rf /var/lib/apt/lists/*

+ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
 ENV PYTHON_VERSION 3.4.5

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -20,13 +30,10 @@ RUN set -ex \
        tcl-dev \
        tk-dev \
    ' \
-   && runDeps=' \
-       tcl \
-       tk \
-   ' \
-   && apt-get update && apt-get install -y $runDeps $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -42,8 +49,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -55,7 +70,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.4 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.4/Dockerfile b/python_3.4/Dockerfile
index e66500d..c42717b 100644
--- a/python_3.4/Dockerfile
+++ b/python_3.4/Dockerfile
@@ -1,15 +1,25 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM buildpack-deps:jessie

-# ensure local python is used over debian python
+# 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

-# gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
-ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
+# runtime dependencies
+RUN apt-get update && apt-get install -y --no-install-recommends \
+       tcl \
+       tk \
+   && rm -rf /var/lib/apt/lists/*

+ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
 ENV PYTHON_VERSION 3.4.5

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -20,13 +30,10 @@ RUN set -ex \
        tcl-dev \
        tk-dev \
    ' \
-   && runDeps=' \
-       tcl \
-       tk \
-   ' \
-   && apt-get update && apt-get install -y $runDeps $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -42,8 +49,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -55,7 +70,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.4 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.6-alpine/Dockerfile b/python_3.6-alpine/Dockerfile
index f61c26c..96bedb9 100644
--- a/python_3.6-alpine/Dockerfile
+++ b/python_3.6-alpine/Dockerfile
@@ -1,21 +1,31 @@
 FROM alpine:3.4

+# 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

-# gpg: key AA65421D: public key "Ned Deily (Python release signing key) <nad@acm.org>" imported
-ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
+# install ca-certificates so that HTTPS works consistently
+# the other runtime dependencies for Python are installed later
+RUN apk add --no-cache ca-certificates

+ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
 ENV PYTHON_VERSION 3.6.0a3

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
 ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
-   && apk add --no-cache --virtual .fetch-deps curl gnupg tar xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apk add --no-cache --virtual .fetch-deps \
+       gnupg \
+       openssl \
+       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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -23,7 +33,6 @@ RUN set -ex \
    && mkdir -p /usr/src/python \
    && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \
    && rm python.tar.xz \
-   && apk del .fetch-deps \
    \
    && apk add --no-cache --virtual .build-deps  \
        bzip2-dev \
@@ -32,6 +41,7 @@ RUN set -ex \
        linux-headers \
        make \
        ncurses-dev \
+       openssl \
        openssl-dev \
        pax-utils \
        readline-dev \
@@ -41,14 +51,25 @@ RUN set -ex \
        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 \
    && ./configure \
        --enable-loadable-sqlite-extensions \
        --enable-shared \
    && make -j$(getconf _NPROCESSORS_ONLN) \
    && make install \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -68,7 +89,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.6 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.6-slim/Dockerfile b/python_3.6-slim/Dockerfile
index 5ceb89d..75dbc91 100644
--- a/python_3.6-slim/Dockerfile
+++ b/python_3.6-slim/Dockerfile
@@ -1,21 +1,20 @@
 FROM debian:jessie

-# ensure local python is used over debian python
+# 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

+# runtime dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
        ca-certificates \
        libsqlite3-0 \
        libssl1.0.0 \
    && rm -rf /var/lib/apt/lists/*

-# gpg: key AA65421D: public key "Ned Deily (Python release signing key) <nad@acm.org>" imported
 ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
-
 ENV PYTHON_VERSION 3.6.0a3

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -23,7 +22,6 @@ ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
    && buildDeps=' \
-       curl \
        gcc \
        libbz2-dev \
        libc6-dev \
@@ -35,12 +33,14 @@ RUN set -ex \
        make \
        tcl-dev \
        tk-dev \
+       wget \
        xz-utils \
        zlib1g-dev \
    ' \
    && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -56,8 +56,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -69,7 +77,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.6 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_3.6/Dockerfile b/python_3.6/Dockerfile
index 7652dc6..fff6d77 100644
--- a/python_3.6/Dockerfile
+++ b/python_3.6/Dockerfile
@@ -1,15 +1,19 @@
 FROM buildpack-deps:jessie

-# ensure local python is used over debian python
+# 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

-# gpg: key AA65421D: public key "Ned Deily (Python release signing key) <nad@acm.org>" imported
-ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
+# runtime dependencies
+RUN apt-get update && apt-get install -y --no-install-recommends \
+       tcl \
+       tk \
+   && rm -rf /var/lib/apt/lists/*

+ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
 ENV PYTHON_VERSION 3.6.0a3

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -20,13 +24,10 @@ RUN set -ex \
        tcl-dev \
        tk-dev \
    ' \
-   && runDeps=' \
-       tcl \
-       tk \
-   ' \
-   && apt-get update && apt-get install -y $runDeps $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -42,8 +43,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -55,7 +64,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.6 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_alpine/Dockerfile b/python_alpine/Dockerfile
index 355ee1d..d368cbb 100644
--- a/python_alpine/Dockerfile
+++ b/python_alpine/Dockerfile
@@ -1,21 +1,37 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM alpine:3.4

+# 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

-# gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
-ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
+# install ca-certificates so that HTTPS works consistently
+# the other runtime dependencies for Python are installed later
+RUN apk add --no-cache ca-certificates

+ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
 ENV PYTHON_VERSION 3.5.2

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
 ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
-   && apk add --no-cache --virtual .fetch-deps curl gnupg tar xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apk add --no-cache --virtual .fetch-deps \
+       gnupg \
+       openssl \
+       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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -23,7 +39,6 @@ RUN set -ex \
    && mkdir -p /usr/src/python \
    && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \
    && rm python.tar.xz \
-   && apk del .fetch-deps \
    \
    && apk add --no-cache --virtual .build-deps  \
        bzip2-dev \
@@ -32,6 +47,7 @@ RUN set -ex \
        linux-headers \
        make \
        ncurses-dev \
+       openssl \
        openssl-dev \
        pax-utils \
        readline-dev \
@@ -41,14 +57,25 @@ RUN set -ex \
        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 \
    && ./configure \
        --enable-loadable-sqlite-extensions \
        --enable-shared \
    && make -j$(getconf _NPROCESSORS_ONLN) \
    && make install \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -68,7 +95,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.5 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_latest/Dockerfile b/python_latest/Dockerfile
index a52b158..b9aa4ce 100644
--- a/python_latest/Dockerfile
+++ b/python_latest/Dockerfile
@@ -1,15 +1,25 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM buildpack-deps:jessie

-# ensure local python is used over debian python
+# 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

-# gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
-ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
+# runtime dependencies
+RUN apt-get update && apt-get install -y --no-install-recommends \
+       tcl \
+       tk \
+   && rm -rf /var/lib/apt/lists/*

+ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
 ENV PYTHON_VERSION 3.5.2

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -20,13 +30,10 @@ RUN set -ex \
        tcl-dev \
        tk-dev \
    ' \
-   && runDeps=' \
-       tcl \
-       tk \
-   ' \
-   && apt-get update && apt-get install -y $runDeps $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -42,8 +49,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -55,7 +70,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.5 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
diff --git a/python_onbuild/Dockerfile b/python_onbuild/Dockerfile
index 536d848..45b1f2a 100644
--- a/python_onbuild/Dockerfile
+++ b/python_onbuild/Dockerfile
@@ -1,3 +1,9 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM python:3.5

 RUN mkdir -p /usr/src/app
diff --git a/python_slim/Dockerfile b/python_slim/Dockerfile
index 4a5ed56..d981a6a 100644
--- a/python_slim/Dockerfile
+++ b/python_slim/Dockerfile
@@ -1,21 +1,26 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+
 FROM debian:jessie

-# ensure local python is used over debian python
+# 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

+# runtime dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
        ca-certificates \
        libsqlite3-0 \
        libssl1.0.0 \
    && rm -rf /var/lib/apt/lists/*

-# gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
 ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D
-
 ENV PYTHON_VERSION 3.5.2

 # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
@@ -23,7 +28,6 @@ ENV PYTHON_PIP_VERSION 8.1.2

 RUN set -ex \
    && buildDeps=' \
-       curl \
        gcc \
        libbz2-dev \
        libc6-dev \
@@ -35,12 +39,14 @@ RUN set -ex \
        make \
        tcl-dev \
        tk-dev \
+       wget \
        xz-utils \
        zlib1g-dev \
    ' \
    && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
-   && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
+   \
+   && 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 --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
@@ -56,8 +62,16 @@ RUN set -ex \
    && make -j$(nproc) \
    && make install \
    && ldconfig \
-   && pip3 install --no-cache-dir --upgrade pip==$PYTHON_PIP_VERSION \
-   && [ "$(pip list | awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
+# explicit path to "pip3" to ensure distribution-provided "pip3" cannot interfere
+   && if [ ! -e /usr/local/bin/pip3 ]; then : \
+       && wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \
+       && python3 /tmp/get-pip.py "pip==$PYTHON_PIP_VERSION" \
+       && rm /tmp/get-pip.py \
+   ; fi \
+   && pip3 install --no-cache-dir --upgrade "pip==$PYTHON_PIP_VERSION" \
+   && [ "$(pip list |tac|tac| awk -F '[ ()]+' '$1 == "pip" { print $2; exit }')" = "$PYTHON_PIP_VERSION" ] \
+   \
    && find /usr/local -depth \
        \( \
            \( -type d -a -name test -o -name tests \) \
@@ -69,7 +83,7 @@ RUN set -ex \

 # make some useful symlinks that are expected to exist
 RUN cd /usr/local/bin \
-   && ln -s easy_install-3.5 easy_install \
+   && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \

@tianon
Copy link
Member Author

tianon commented Aug 9, 2016

warning: insecure protocol git:// detected: git://github.com/piwik/docker-piwik.git
Build test of #2035; cc8d2d1 (elasticsearch, piwik, python):

$ bashbrew build elasticsearch:1.5.2
Using bashbrew/cache:49c472f0e5106ad5976193fa8c302834c2558e7dc55b098d5f195ef23159cc6f (elasticsearch:1.5.2)
Tagging elasticsearch:1.5.2
Tagging elasticsearch:1.5

$ test/run.sh elasticsearch:1.5.2
testing elasticsearch:1.5.2
    'utc' [1/5]...passed
    'cve-2014--shellshock' [2/5]...passed
    'no-hard-coded-passwords' [3/5]...passed
    'override-cmd' [4/5]...passed
    'elasticsearch-basics' [5/5]......passed


$ bashbrew build elasticsearch:1.6.2
Using bashbrew/cache:70c723593d9c16e5ff6f7f5d3b1c5519e3a5fd6a1e6db21fbdc9220db5fb7991 (elasticsearch:1.6.2)
Tagging elasticsearch:1.6.2
Tagging elasticsearch:1.6

$ test/run.sh elasticsearch:1.6.2
testing elasticsearch:1.6.2
    'utc' [1/5]...passed
    'cve-2014--shellshock' [2/5]...passed
    'no-hard-coded-passwords' [3/5]...passed
    'override-cmd' [4/5]...passed
    'elasticsearch-basics' [5/5]......passed


$ bashbrew build elasticsearch:1.7.5
Using bashbrew/cache:46b575ad975891c5c4538cbd51c07d20c2bc0c60f68281be58cc02b4eabf4d48 (elasticsearch:1.7.5)
Tagging elasticsearch:1.7.5
Tagging elasticsearch:1.7
Tagging elasticsearch:1

$ test/run.sh elasticsearch:1.7.5
testing elasticsearch:1.7.5
    'utc' [1/5]...passed
    'cve-2014--shellshock' [2/5]...passed
    'no-hard-coded-passwords' [3/5]...passed
    'override-cmd' [4/5]...passed
    'elasticsearch-basics' [5/5]......passed


$ bashbrew build elasticsearch:2.0.2
Using bashbrew/cache:d4fe0841d3ce7c060bd6b40ee238d233903713451671732aed13d3ebe2f275e1 (elasticsearch:2.0.2)
Tagging elasticsearch:2.0.2
Tagging elasticsearch:2.0

$ test/run.sh elasticsearch:2.0.2
testing elasticsearch:2.0.2
    'utc' [1/5]...passed
    'cve-2014--shellshock' [2/5]...passed
    'no-hard-coded-passwords' [3/5]...passed
    'override-cmd' [4/5]...passed
    'elasticsearch-basics' [5/5].....passed


$ bashbrew build elasticsearch:2.1.2
Using bashbrew/cache:59466d023ee4a6fff491134ad05b4e9e1c3c741db7c5b4c413385ed41ff41165 (elasticsearch:2.1.2)
Tagging elasticsearch:2.1.2
Tagging elasticsearch:2.1

$ test/run.sh elasticsearch:2.1.2
testing elasticsearch:2.1.2
    'utc' [1/5]...passed
    'cve-2014--shellshock' [2/5]...passed
    'no-hard-coded-passwords' [3/5]...passed
    'override-cmd' [4/5]...passed
    'elasticsearch-basics' [5/5].....passed


$ bashbrew build elasticsearch:2.2.2
Using bashbrew/cache:d8a7ff698a4b6e3d065dc92dc4df5897ee861eae3aa21f6e5a1c4fa4fcbfa544 (elasticsearch:2.2.2)
Tagging elasticsearch:2.2.2
Tagging elasticsearch:2.2

$ test/run.sh elasticsearch:2.2.2
testing elasticsearch:2.2.2
    'utc' [1/5]...passed
    'cve-2014--shellshock' [2/5]...passed
    'no-hard-coded-passwords' [3/5]...passed
    'override-cmd' [4/5]...passed
    'elasticsearch-basics' [5/5].....passed


$ bashbrew build elasticsearch:2.3.5
Using bashbrew/cache:718497ed9fa35c45f28d4875a64bca8c5ec8be33fa8c6f44ecaaf867abed0e71 (elasticsearch:2.3.5)
Tagging elasticsearch:2.3.5
Tagging elasticsearch:2.3
Tagging elasticsearch:2
Tagging elasticsearch:latest

$ test/run.sh elasticsearch:2.3.5
testing elasticsearch:2.3.5
    'utc' [1/5]...passed
    'cve-2014--shellshock' [2/5]...passed
    'no-hard-coded-passwords' [3/5]...passed
    'override-cmd' [4/5]...passed
    'elasticsearch-basics' [5/5].....passed


$ bashbrew build elasticsearch:5.0.0-alpha5
Using bashbrew/cache:cbeea790f5681d57cd217ac2eb0943a20f6abc7a9b91cf1d003a6f31565b88c5 (elasticsearch:5.0.0-alpha5)
Tagging elasticsearch:5.0.0-alpha5
Tagging elasticsearch:5.0.0
Tagging elasticsearch:5.0
Tagging elasticsearch:5

$ test/run.sh elasticsearch:5.0.0-alpha5
testing elasticsearch:5.0.0-alpha5
    'utc' [1/5]...passed
    'cve-2014--shellshock' [2/5]...passed
    'no-hard-coded-passwords' [3/5]...passed
    'override-cmd' [4/5]...passed
    'elasticsearch-basics' [5/5]....docker: Error response from daemon: Cannot link to a non running container: /dreamy_paultag AS /loving_paultag/es.
failed
$ bashbrew build piwik:2.16.2
Building bashbrew/cache:65f6f67698006888dae8f6baf2b6b6ca39b260f4d9e0a270853b20f043dd6a60 (piwik:2.16.2)
Tagging piwik:2.16.2
Tagging piwik:2.16
Tagging piwik:2
Tagging piwik:latest

$ test/run.sh piwik:2.16.2
testing piwik:2.16.2
    'utc' [1/4]...passed
    'cve-2014--shellshock' [2/4]...passed
    'no-hard-coded-passwords' [3/4]...passed
    'override-cmd' [4/4]...passed
$ bashbrew build python:2.7.12
Building bashbrew/cache:97d8df0f426ab2284e487ebb788ba1e322ab490f5a60c787d56bf7cc99a522ed (python:2.7.12)
Tagging python:2.7.12
Tagging python:2.7
Tagging python:2

$ test/run.sh python:2.7.12
testing python:2.7.12
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:2.7.12-slim
Building bashbrew/cache:9ab28a65310a25de18a897d22191fd6460202e76a675e09da73ec8fa9c7e4cd7 (python:2.7.12-slim)
Tagging python:2.7.12-slim
Tagging python:2.7-slim
Tagging python:2-slim

$ test/run.sh python:2.7.12-slim
testing python:2.7.12-slim
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:2.7.12-alpine
Building bashbrew/cache:a9b2ce160e820bff5a77fdd7f1001378166be8b02fe48dd0ba8cf683180392dd (python:2.7.12-alpine)
Tagging python:2.7.12-alpine
Tagging python:2.7-alpine
Tagging python:2-alpine

$ test/run.sh python:2.7.12-alpine
testing python:2.7.12-alpine
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:2.7.12-wheezy
Building bashbrew/cache:c0b9757eca5f1f2ec88f698ce73fcbbebee7f344d734602dc925d205fbda802b (python:2.7.12-wheezy)
Tagging python:2.7.12-wheezy
Tagging python:2.7-wheezy
Tagging python:2-wheezy

$ test/run.sh python:2.7.12-wheezy
testing python:2.7.12-wheezy
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:2.7.12-onbuild
Building bashbrew/cache:8578c3941f21a0381bc9ef455cfef2c244a73678aa0f480a41b3643c8adcd44a (python:2.7.12-onbuild)
Tagging python:2.7.12-onbuild
Tagging python:2.7-onbuild
Tagging python:2-onbuild

$ test/run.sh python:2.7.12-onbuild
testing python:2.7.12-onbuild
    'override-cmd' [1/1]...passed


$ bashbrew build python:3.3.6
Building bashbrew/cache:51a8ef75eb161975d7e19641a134e055b7445fbf34305bcabe38c918e7b697e2 (python:3.3.6)
Tagging python:3.3.6
Tagging python:3.3

$ test/run.sh python:3.3.6
testing python:3.3.6
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.3.6-slim
Building bashbrew/cache:9b6775f30a1f9fd04a814d6f5c1d4769389c2d02a567cc7f02beadeb4faaad57 (python:3.3.6-slim)
Tagging python:3.3.6-slim
Tagging python:3.3-slim

$ test/run.sh python:3.3.6-slim
testing python:3.3.6-slim
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.3.6-alpine
Building bashbrew/cache:c80afe8b3a7bd5a3b7748864ffea94eef7e448aba4557bda71020e7bb3dec75e (python:3.3.6-alpine)
Tagging python:3.3.6-alpine
Tagging python:3.3-alpine

$ test/run.sh python:3.3.6-alpine
testing python:3.3.6-alpine
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.3.6-wheezy
Building bashbrew/cache:cb5bbe65b3bdb75757dacf09748697305fe7654f6c810594dd200755223d3d6a (python:3.3.6-wheezy)
Tagging python:3.3.6-wheezy
Tagging python:3.3-wheezy

$ test/run.sh python:3.3.6-wheezy
testing python:3.3.6-wheezy
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.3.6-onbuild
Building bashbrew/cache:b2e40ad7a6578ba53e6c84ac40fbd116ab17cda32f0e4e0efa280263a6f1cc56 (python:3.3.6-onbuild)
Tagging python:3.3.6-onbuild
Tagging python:3.3-onbuild

$ test/run.sh python:3.3.6-onbuild
testing python:3.3.6-onbuild
    'override-cmd' [1/1]...passed


$ bashbrew build python:3.4.5
Building bashbrew/cache:91deed2cc5c9a9106a8ab4a476c2a592f20a9847e914c593c9f214d832869463 (python:3.4.5)
Tagging python:3.4.5
Tagging python:3.4

$ test/run.sh python:3.4.5
testing python:3.4.5
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.4.5-slim
Building bashbrew/cache:a72296e452618b10432c6d8823658c49392988e7e3089096a31205117607228c (python:3.4.5-slim)
Tagging python:3.4.5-slim
Tagging python:3.4-slim

$ test/run.sh python:3.4.5-slim
testing python:3.4.5-slim
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.4.5-alpine
Building bashbrew/cache:09133995ddef5cef9ff26e1e7d794284535a0c3895aae6e927c30bc653a4037b (python:3.4.5-alpine)
Tagging python:3.4.5-alpine
Tagging python:3.4-alpine

$ test/run.sh python:3.4.5-alpine
testing python:3.4.5-alpine
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.4.5-wheezy
Building bashbrew/cache:cd14369fd12e6a959e7471e7a3aede335e6c3a179692447325f32ed0e2812dbc (python:3.4.5-wheezy)
Tagging python:3.4.5-wheezy
Tagging python:3.4-wheezy

$ test/run.sh python:3.4.5-wheezy
testing python:3.4.5-wheezy
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.4.5-onbuild
Building bashbrew/cache:1e52d00b415c54120391c4f38e2e29d327e242c81551c87cce1831790083b65a (python:3.4.5-onbuild)
Tagging python:3.4.5-onbuild
Tagging python:3.4-onbuild

$ test/run.sh python:3.4.5-onbuild
testing python:3.4.5-onbuild
    'override-cmd' [1/1]...passed


$ bashbrew build python:3.5.2
Building bashbrew/cache:67aa5305f44d0547eaec2371e8ba7a473ecdbd4198405dd4c4982b0c0b00bf6d (python:3.5.2)
Tagging python:3.5.2
Tagging python:3.5
Tagging python:3
Tagging python:latest

$ test/run.sh python:3.5.2
testing python:3.5.2
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.5.2-slim
Building bashbrew/cache:6852680edf00dd044e8f2a36922ddb4ddc5ea518904aa9a4ead20412bbc5ae33 (python:3.5.2-slim)
Tagging python:3.5.2-slim
Tagging python:3.5-slim
Tagging python:3-slim
Tagging python:slim

$ test/run.sh python:3.5.2-slim
testing python:3.5.2-slim
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.5.2-alpine
Building bashbrew/cache:b45a31bbdd12c031fce503fca764797d5437e7f598ce13f1d1e7e4c521e0209b (python:3.5.2-alpine)
Tagging python:3.5.2-alpine
Tagging python:3.5-alpine
Tagging python:3-alpine
Tagging python:alpine

$ test/run.sh python:3.5.2-alpine
testing python:3.5.2-alpine
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.5.2-onbuild
Building bashbrew/cache:24f85ba8c66eab921f6f2995831af3a398d207d716a995d58f7582d6e24681cc (python:3.5.2-onbuild)
Tagging python:3.5.2-onbuild
Tagging python:3.5-onbuild
Tagging python:3-onbuild
Tagging python:onbuild

$ test/run.sh python:3.5.2-onbuild
testing python:3.5.2-onbuild
    'override-cmd' [1/1]...passed


$ bashbrew build python:3.6.0a3
Building bashbrew/cache:96d19199067c5ea23fae0fbc5cb278e4fdd24e307213ebaa1d5e6dfac67ad020 (python:3.6.0a3)
Tagging python:3.6.0a3
Tagging python:3.6

$ test/run.sh python:3.6.0a3
testing python:3.6.0a3
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.6.0a3-slim
Building bashbrew/cache:3c8e0465540e9aefac276fa1586eab8210a2b2753855a338d3c29b9681324c95 (python:3.6.0a3-slim)
Tagging python:3.6.0a3-slim
Tagging python:3.6-slim

$ test/run.sh python:3.6.0a3-slim
testing python:3.6.0a3-slim
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.6.0a3-alpine
Building bashbrew/cache:78844c8d119c1e9199d09b976cf96985a920fee098a489d879ea06a9a2b9530c (python:3.6.0a3-alpine)
Tagging python:3.6.0a3-alpine
Tagging python:3.6-alpine

$ test/run.sh python:3.6.0a3-alpine
testing python:3.6.0a3-alpine
    'utc' [1/8]...passed
    'cve-2014--shellshock' [2/8]...passed
    'no-hard-coded-passwords' [3/8]...passed
    'override-cmd' [4/8]...passed
    'python-hy' [5/8]...passed
    'python-imports' [6/8]...passed
    'python-pip-requests-ssl' [7/8]...passed
    'python-sqlite3' [8/8]...passed


$ bashbrew build python:3.6.0a3-onbuild
Building bashbrew/cache:301096cdcc64c38afd53fe29d8d7d556bccdf5fadbda48c42035260ba39b9d19 (python:3.6.0a3-onbuild)
Tagging python:3.6.0a3-onbuild
Tagging python:3.6-onbuild

$ test/run.sh python:3.6.0a3-onbuild
testing python:3.6.0a3-onbuild
    'override-cmd' [1/1]...passed

The following images failed at least one test: elasticsearch:5.0.0-alpha5

@yosifkit
Copy link
Member

yosifkit commented Aug 9, 2016

LGTM

@yosifkit yosifkit merged commit a63469b into docker-library:master Aug 9, 2016
@yosifkit yosifkit deleted the update-docker-library branch August 9, 2016 20:07
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.

3 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy