-
Notifications
You must be signed in to change notification settings - Fork 1.1k
add python-3.6 #123
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
add python-3.6 #123
Conversation
Slightly easier to read diff (to help with review): diff --git a/.travis.yml b/.travis.yml
index 1746dbb..24b2e11 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,6 +2,9 @@ language: bash
services: docker
env:
+ - VERSION=3.6 VARIANT=
+ - VERSION=3.6 VARIANT=slim
+ - VERSION=3.6 VARIANT=alpine
- VERSION=3.5 VARIANT=
- VERSION=3.5 VARIANT=slim
- VERSION=3.5 VARIANT=alpine
diff --git a/3.4/Dockerfile b/3.6/Dockerfile
similarity index 85%
copy from 3.4/Dockerfile
copy to 3.6/Dockerfile
index 4f5d65d..d4193d2 100644
--- a/3.4/Dockerfile
+++ b/3.6/Dockerfile
@@ -7,10 +7,7 @@ RUN apt-get purge -y python.*
# > 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
-
-ENV PYTHON_VERSION 3.4.5
+ENV PYTHON_VERSION 3.6.0a2
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
ENV PYTHON_PIP_VERSION 8.1.2
@@ -19,7 +16,7 @@ RUN set -ex \
&& 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 \
&& export GNUPGHOME="$(mktemp -d)" \
- && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
+ && curl -fSL https://www.python.org/static/files/pubkeys.txt | gpg --import \
&& gpg --batch --verify python.tar.xz.asc python.tar.xz \
&& rm -r "$GNUPGHOME" python.tar.xz.asc \
&& mkdir -p /usr/src/python \
@@ -43,7 +40,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 \
+ && ln -s easy_install-3.6 easy_install \
&& ln -s idle3 idle \
&& ln -s pydoc3 pydoc \
&& ln -s python3 python \
diff --git a/3.5/alpine/Dockerfile b/3.6/alpine/Dockerfile
similarity index 88%
copy from 3.5/alpine/Dockerfile
copy to 3.6/alpine/Dockerfile
index 41b9fe2..8b4097d 100644
--- a/3.5/alpine/Dockerfile
+++ b/3.6/alpine/Dockerfile
@@ -4,10 +4,7 @@ FROM alpine:3.4
# > 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
-
-ENV PYTHON_VERSION 3.5.2
+ENV PYTHON_VERSION 3.6.0a2
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
ENV PYTHON_PIP_VERSION 8.1.2
@@ -17,7 +14,7 @@ RUN set -ex \
&& 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 \
&& export GNUPGHOME="$(mktemp -d)" \
- && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
+ && curl -fSL https://www.python.org/static/files/pubkeys.txt | gpg --import \
&& gpg --batch --verify python.tar.xz.asc python.tar.xz \
&& rm -r "$GNUPGHOME" python.tar.xz.asc \
&& mkdir -p /usr/src \
@@ -64,7 +61,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 \
+ && ln -s easy_install-3.6 easy_install \
&& ln -s idle3 idle \
&& ln -s pydoc3 pydoc \
&& ln -s python3 python \
diff --git a/3.3/onbuild/Dockerfile b/3.6/onbuild/Dockerfile
similarity index 91%
copy from 3.3/onbuild/Dockerfile
copy to 3.6/onbuild/Dockerfile
index b200ef8..865aaa8 100644
--- a/3.3/onbuild/Dockerfile
+++ b/3.6/onbuild/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.3
+FROM python:3.6
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
diff --git a/3.5/slim/Dockerfile b/3.6/slim/Dockerfile
similarity index 88%
copy from 3.5/slim/Dockerfile
copy to 3.6/slim/Dockerfile
index 539a16d..7490abd 100644
--- a/3.5/slim/Dockerfile
+++ b/3.6/slim/Dockerfile
@@ -13,10 +13,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
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
+ENV PYTHON_VERSION 3.6.0a2
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
ENV PYTHON_PIP_VERSION 8.1.2
@@ -40,7 +37,7 @@ RUN set -ex \
&& 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 \
&& export GNUPGHOME="$(mktemp -d)" \
- && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
+ && curl -fSL https://www.python.org/static/files/pubkeys.txt | gpg --import \
&& gpg --batch --verify python.tar.xz.asc python.tar.xz \
&& rm -r "$GNUPGHOME" python.tar.xz.asc \
&& mkdir -p /usr/src/python \
@@ -65,7 +62,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 \
+ && ln -s easy_install-3.6 easy_install \
&& ln -s idle3 idle \
&& ln -s pydoc3 pydoc \
&& ln -s python3 python \ |
According to PEP 494 (the official "Python 3.6" PEP), "Ned Deily" is the release manager for Python 3.6, so Larry's key should be replaced by Ned's instead: # gpg: key AA65421D: public key "Ned Deily (Python release signing key) <nad@python.org>" imported
ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D |
@tianon , thanks. I did not know to check the PEP to find out which release manager's key to use. |
Thanks, no worries! Updated diff: (looks like we need it put into diff --git a/.travis.yml b/.travis.yml
index 1746dbb..24b2e11 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,6 +2,9 @@ language: bash
services: docker
env:
+ - VERSION=3.6 VARIANT=
+ - VERSION=3.6 VARIANT=slim
+ - VERSION=3.6 VARIANT=alpine
- VERSION=3.5 VARIANT=
- VERSION=3.5 VARIANT=slim
- VERSION=3.5 VARIANT=alpine
diff --git a/3.4/Dockerfile b/3.6/Dockerfile
similarity index 88%
copy from 3.4/Dockerfile
copy to 3.6/Dockerfile
index 4f5d65d..2a57be9 100644
--- a/3.4/Dockerfile
+++ b/3.6/Dockerfile
@@ -7,10 +7,10 @@ RUN apt-get purge -y python.*
# > 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
+# gpg: key AA65421D: public key "Ned Deily (Python release signing key) <nad@acm.org>" imported
+ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
-ENV PYTHON_VERSION 3.4.5
+ENV PYTHON_VERSION 3.6.0a2
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
ENV PYTHON_PIP_VERSION 8.1.2
@@ -43,7 +43,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 \
+ && ln -s easy_install-3.6 easy_install \
&& ln -s idle3 idle \
&& ln -s pydoc3 pydoc \
&& ln -s python3 python \
diff --git a/3.4/alpine/Dockerfile b/3.6/alpine/Dockerfile
similarity index 91%
copy from 3.4/alpine/Dockerfile
copy to 3.6/alpine/Dockerfile
index 8736bd7..2f157f7 100644
--- a/3.4/alpine/Dockerfile
+++ b/3.6/alpine/Dockerfile
@@ -4,10 +4,10 @@ FROM alpine:3.4
# > 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
+# gpg: key AA65421D: public key "Ned Deily (Python release signing key) <nad@acm.org>" imported
+ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
-ENV PYTHON_VERSION 3.4.5
+ENV PYTHON_VERSION 3.6.0a2
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
ENV PYTHON_PIP_VERSION 8.1.2
@@ -64,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.4 easy_install \
+ && ln -s easy_install-3.6 easy_install \
&& ln -s idle3 idle \
&& ln -s pydoc3 pydoc \
&& ln -s python3 python \
diff --git a/3.3/onbuild/Dockerfile b/3.6/onbuild/Dockerfile
similarity index 91%
copy from 3.3/onbuild/Dockerfile
copy to 3.6/onbuild/Dockerfile
index b200ef8..865aaa8 100644
--- a/3.3/onbuild/Dockerfile
+++ b/3.6/onbuild/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.3
+FROM python:3.6
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
diff --git a/3.5/slim/Dockerfile b/3.6/slim/Dockerfile
similarity index 88%
copy from 3.5/slim/Dockerfile
copy to 3.6/slim/Dockerfile
index 539a16d..7490abd 100644
--- a/3.5/slim/Dockerfile
+++ b/3.6/slim/Dockerfile
@@ -13,10 +13,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
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
+ENV PYTHON_VERSION 3.6.0a2
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
ENV PYTHON_PIP_VERSION 8.1.2
@@ -40,7 +37,7 @@ RUN set -ex \
&& 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 \
&& export GNUPGHOME="$(mktemp -d)" \
- && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
+ && curl -fSL https://www.python.org/static/files/pubkeys.txt | gpg --import \
&& gpg --batch --verify python.tar.xz.asc python.tar.xz \
&& rm -r "$GNUPGHOME" python.tar.xz.asc \
&& mkdir -p /usr/src/python \
@@ -65,7 +62,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 \
+ && ln -s easy_install-3.6 easy_install \
&& ln -s idle3 idle \
&& ln -s pydoc3 pydoc \
&& ln -s python3 python \ |
Doh! Good catch. Fixed. |
LGTM 👍 |
LGTM |
- `docker`: 1.12.0-rc3 - `httpd`: 2.4.23 - `mariadb`: revert back to 10.1.14 (MariaDB/mariadb-docker#67) - `python`: 3.6.0a2 (docker-library/python#123) - `rails`: 5.0.0 (docker-library/rails#44)
- `docker`: 1.12.0-rc3 - `httpd`: 2.4.23 - `mariadb`: revert back to 10.1.14 (MariaDB/mariadb-docker#67) - `python`: 3.6.0a2 (docker-library/python#123) - `rails`: 5.0.0 (docker-library/rails#44)
The PGP key that is used in other Dockerfiles did not verify the signature of the 3.6 package, so I changed the import for this one to download the list of keys from python.org.