From bc889262ddb8a156020cc0df70a6eed88c609c99 Mon Sep 17 00:00:00 2001 From: Viktor Rimark Date: Thu, 27 Jan 2022 10:26:15 +0100 Subject: [PATCH] Dynamically load Setuptools and Pip versions from ensurepip The lookup table contained older versions of setuptools than what was configured in ensurepip for the given version. By dynamically loading the versions, it is guaranteed to keep in sync. --- 3.10/alpine3.14/Dockerfile | 2 +- 3.10/alpine3.15/Dockerfile | 2 +- 3.10/bullseye/Dockerfile | 2 +- 3.10/buster/Dockerfile | 2 +- 3.10/slim-bullseye/Dockerfile | 2 +- 3.10/slim-buster/Dockerfile | 2 +- .../windows/windowsservercore-1809/Dockerfile | 2 +- .../windowsservercore-ltsc2022/Dockerfile | 2 +- 3.11-rc/alpine3.14/Dockerfile | 2 +- 3.11-rc/alpine3.15/Dockerfile | 2 +- 3.11-rc/bullseye/Dockerfile | 2 +- 3.11-rc/buster/Dockerfile | 2 +- 3.11-rc/slim-bullseye/Dockerfile | 2 +- 3.11-rc/slim-buster/Dockerfile | 2 +- .../windows/windowsservercore-1809/Dockerfile | 2 +- .../windowsservercore-ltsc2022/Dockerfile | 2 +- 3.9/alpine3.14/Dockerfile | 2 +- 3.9/alpine3.15/Dockerfile | 2 +- 3.9/bullseye/Dockerfile | 2 +- 3.9/buster/Dockerfile | 2 +- 3.9/slim-bullseye/Dockerfile | 2 +- 3.9/slim-buster/Dockerfile | 2 +- 3.9/windows/windowsservercore-1809/Dockerfile | 2 +- .../windowsservercore-ltsc2022/Dockerfile | 2 +- versions.json | 6 +- versions.sh | 72 ++++++++----------- 26 files changed, 57 insertions(+), 69 deletions(-) diff --git a/3.10/alpine3.14/Dockerfile b/3.10/alpine3.14/Dockerfile index 0e5f4136f..75b6e2088 100644 --- a/3.10/alpine3.14/Dockerfile +++ b/3.10/alpine3.14/Dockerfile @@ -121,7 +121,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.10/alpine3.15/Dockerfile b/3.10/alpine3.15/Dockerfile index 3df075ac0..ec9a3d953 100644 --- a/3.10/alpine3.15/Dockerfile +++ b/3.10/alpine3.15/Dockerfile @@ -121,7 +121,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.10/bullseye/Dockerfile b/3.10/bullseye/Dockerfile index 3ac33ca8e..49daa053c 100644 --- a/3.10/bullseye/Dockerfile +++ b/3.10/bullseye/Dockerfile @@ -83,7 +83,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.10/buster/Dockerfile b/3.10/buster/Dockerfile index 913a287b4..52e8d3471 100644 --- a/3.10/buster/Dockerfile +++ b/3.10/buster/Dockerfile @@ -83,7 +83,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.10/slim-bullseye/Dockerfile b/3.10/slim-bullseye/Dockerfile index 7650645a2..a7e1656e1 100644 --- a/3.10/slim-bullseye/Dockerfile +++ b/3.10/slim-bullseye/Dockerfile @@ -121,7 +121,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.10/slim-buster/Dockerfile b/3.10/slim-buster/Dockerfile index 9e389d8e2..668719b37 100644 --- a/3.10/slim-buster/Dockerfile +++ b/3.10/slim-buster/Dockerfile @@ -121,7 +121,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.10/windows/windowsservercore-1809/Dockerfile b/3.10/windows/windowsservercore-1809/Dockerfile index 65f228865..b1013ec75 100644 --- a/3.10/windows/windowsservercore-1809/Dockerfile +++ b/3.10/windows/windowsservercore-1809/Dockerfile @@ -53,7 +53,7 @@ RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($en # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.10/windows/windowsservercore-ltsc2022/Dockerfile b/3.10/windows/windowsservercore-ltsc2022/Dockerfile index e9c2ee141..0c62bf4f9 100644 --- a/3.10/windows/windowsservercore-ltsc2022/Dockerfile +++ b/3.10/windows/windowsservercore-ltsc2022/Dockerfile @@ -53,7 +53,7 @@ RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($en # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.11-rc/alpine3.14/Dockerfile b/3.11-rc/alpine3.14/Dockerfile index bd2b64b02..98e087221 100644 --- a/3.11-rc/alpine3.14/Dockerfile +++ b/3.11-rc/alpine3.14/Dockerfile @@ -121,7 +121,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.11-rc/alpine3.15/Dockerfile b/3.11-rc/alpine3.15/Dockerfile index 232212acc..029768d86 100644 --- a/3.11-rc/alpine3.15/Dockerfile +++ b/3.11-rc/alpine3.15/Dockerfile @@ -121,7 +121,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.11-rc/bullseye/Dockerfile b/3.11-rc/bullseye/Dockerfile index 39a0c9f5f..d31738b1d 100644 --- a/3.11-rc/bullseye/Dockerfile +++ b/3.11-rc/bullseye/Dockerfile @@ -83,7 +83,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.11-rc/buster/Dockerfile b/3.11-rc/buster/Dockerfile index 838fcf960..e29d39a48 100644 --- a/3.11-rc/buster/Dockerfile +++ b/3.11-rc/buster/Dockerfile @@ -83,7 +83,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.11-rc/slim-bullseye/Dockerfile b/3.11-rc/slim-bullseye/Dockerfile index 0f3847282..46fe04303 100644 --- a/3.11-rc/slim-bullseye/Dockerfile +++ b/3.11-rc/slim-bullseye/Dockerfile @@ -121,7 +121,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.11-rc/slim-buster/Dockerfile b/3.11-rc/slim-buster/Dockerfile index f12570d3f..6bd24dbc9 100644 --- a/3.11-rc/slim-buster/Dockerfile +++ b/3.11-rc/slim-buster/Dockerfile @@ -121,7 +121,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.11-rc/windows/windowsservercore-1809/Dockerfile b/3.11-rc/windows/windowsservercore-1809/Dockerfile index b9c6acbf7..41be28a20 100644 --- a/3.11-rc/windows/windowsservercore-1809/Dockerfile +++ b/3.11-rc/windows/windowsservercore-1809/Dockerfile @@ -53,7 +53,7 @@ RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($en # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.11-rc/windows/windowsservercore-ltsc2022/Dockerfile b/3.11-rc/windows/windowsservercore-ltsc2022/Dockerfile index 6d86132d5..1a32ee32b 100644 --- a/3.11-rc/windows/windowsservercore-ltsc2022/Dockerfile +++ b/3.11-rc/windows/windowsservercore-ltsc2022/Dockerfile @@ -53,7 +53,7 @@ RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($en # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.9/alpine3.14/Dockerfile b/3.9/alpine3.14/Dockerfile index 32e3f2240..cadc1726e 100644 --- a/3.9/alpine3.14/Dockerfile +++ b/3.9/alpine3.14/Dockerfile @@ -120,7 +120,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.9/alpine3.15/Dockerfile b/3.9/alpine3.15/Dockerfile index 0d09e03ae..3e046302b 100644 --- a/3.9/alpine3.15/Dockerfile +++ b/3.9/alpine3.15/Dockerfile @@ -120,7 +120,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.9/bullseye/Dockerfile b/3.9/bullseye/Dockerfile index 2a32a3c61..3eee41b70 100644 --- a/3.9/bullseye/Dockerfile +++ b/3.9/bullseye/Dockerfile @@ -82,7 +82,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.9/buster/Dockerfile b/3.9/buster/Dockerfile index 51a1187d4..bc2c5b3db 100644 --- a/3.9/buster/Dockerfile +++ b/3.9/buster/Dockerfile @@ -82,7 +82,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.9/slim-bullseye/Dockerfile b/3.9/slim-bullseye/Dockerfile index af3b3e104..d6e929eff 100644 --- a/3.9/slim-bullseye/Dockerfile +++ b/3.9/slim-bullseye/Dockerfile @@ -120,7 +120,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.9/slim-buster/Dockerfile b/3.9/slim-buster/Dockerfile index 5a84c066e..5f216b9e0 100644 --- a/3.9/slim-buster/Dockerfile +++ b/3.9/slim-buster/Dockerfile @@ -120,7 +120,7 @@ RUN set -eux; \ # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.9/windows/windowsservercore-1809/Dockerfile b/3.9/windows/windowsservercore-1809/Dockerfile index 2bc53863f..91c074717 100644 --- a/3.9/windows/windowsservercore-1809/Dockerfile +++ b/3.9/windows/windowsservercore-1809/Dockerfile @@ -53,7 +53,7 @@ RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($en # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/3.9/windows/windowsservercore-ltsc2022/Dockerfile b/3.9/windows/windowsservercore-ltsc2022/Dockerfile index 3c66745fa..d3a719f7c 100644 --- a/3.9/windows/windowsservercore-ltsc2022/Dockerfile +++ b/3.9/windows/windowsservercore-ltsc2022/Dockerfile @@ -53,7 +53,7 @@ RUN $url = ('https://www.python.org/ftp/python/{0}/python-{1}-amd64.exe' -f ($en # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" ENV PYTHON_PIP_VERSION 21.2.4 # https://github.com/docker-library/python/issues/365 -ENV PYTHON_SETUPTOOLS_VERSION 57.5.0 +ENV PYTHON_SETUPTOOLS_VERSION 58.1.0 # https://github.com/pypa/get-pip ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3cb8888cc2869620f57d5d2da64da38f516078c7/public/get-pip.py ENV PYTHON_GET_PIP_SHA256 c518250e91a70d7b20cceb15272209a4ded2a0c263ae5776f129e0d9b5674309 diff --git a/versions.json b/versions.json index 0f5f94212..403298e46 100644 --- a/versions.json +++ b/versions.json @@ -6,7 +6,7 @@ "version": "21.2.4" }, "setuptools": { - "version": "57.5.0" + "version": "58.1.0" }, "variants": [ "bullseye", @@ -27,7 +27,7 @@ "version": "21.2.4" }, "setuptools": { - "version": "57.5.0" + "version": "58.1.0" }, "variants": [ "bullseye", @@ -86,7 +86,7 @@ "version": "21.2.4" }, "setuptools": { - "version": "57.5.0" + "version": "58.1.0" }, "variants": [ "bullseye", diff --git a/versions.sh b/versions.sh index a36371eb3..9ef57235c 100755 --- a/versions.sh +++ b/versions.sh @@ -2,26 +2,10 @@ set -Eeuo pipefail shopt -s nullglob -# TODO https://github.com/docker-library/python/pull/686 # https://github.com/docker-library/python/issues/365 -# https://pypi.org/project/pip/#history -declare -A pipVersions=( - [3.11]='21.2' # https://github.com/python/cpython/blob/v3.11.0a1/Lib/ensurepip/__init__.py -- "_PIP_VERSION" - [3.10]='21.2' # https://github.com/python/cpython/blob/3.10/Lib/ensurepip/__init__.py -- "_PIP_VERSION" - [3.9]='21.2' # https://github.com/python/cpython/blob/3.9/Lib/ensurepip/__init__.py -- "_PIP_VERSION" - [3.8]='21.2' # historical - [3.7]='21.2' # historical -) -# https://pypi.org/project/setuptools/#history -declare -A setuptoolsVersions=( - [3.11]='57' # https://github.com/python/cpython/blob/v3.11.0a1/Lib/ensurepip/__init__.py -- "_SETUPTOOLS_VERSION" - [3.10]='57' # https://github.com/python/cpython/blob/3.10/Lib/ensurepip/__init__.py -- "_SETUPTOOLS_VERSION" - [3.9]='57' # https://github.com/python/cpython/blob/3.9/Lib/ensurepip/__init__.py -- "_SETUPTOOLS_VERSION" - [3.8]='57' # historical - [3.7]='57' # historical -) -# https://pypi.org/project/wheel/#history -# TODO wheelVersions: https://github.com/docker-library/python/issues/365#issuecomment-914669320 +minimumPipVersion='21.2.4' +minimumSetuptoolsVersion='57.5.0' +# for historical reasons, these get pinned to either the version bundled with each Python version or these, whichever is higher cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" @@ -34,9 +18,6 @@ else fi versions=( "${versions[@]%/}" ) -pipJson="$(curl -fsSL 'https://pypi.org/pypi/pip/json')" -setuptoolsJson="$(curl -fsSL 'https://pypi.org/pypi/setuptools/json')" - getPipCommit="$(curl -fsSL 'https://github.com/pypa/get-pip/commits/main/public/get-pip.py.atom' | tac|tac | awk -F '[[:space:]]*[<>/]+' '$2 == "id" && $3 ~ /Commit/ { print $4; exit }')" getPipUrl="https://github.com/pypa/get-pip/raw/$getPipCommit/public/get-pip.py" getPipSha256="$(curl -fsSL "$getPipUrl" | sha256sum | cut -d' ' -f1)" @@ -139,31 +120,38 @@ for version in "${versions[@]}"; do exit 1 fi - pipVersion="${pipVersions[$rcVersion]}" + ensurepipVersions="$( + wget -qO- "https://github.com/python/cpython/raw/v$fullVersion/Lib/ensurepip/__init__.py" \ + | grep -E '^[^[:space:]]+_VERSION[[:space:]]*=' + )" + pipVersion="$(sed -nre 's/^_PIP_VERSION[[:space:]]*=[[:space:]]*"(.*?)".*/\1/p' <<<"$ensurepipVersions")" + setuptoolsVersion="$(sed -nre 's/^_SETUPTOOLS_VERSION[[:space:]]*=[[:space:]]*"(.*?)".*/\1/p' <<<"$ensurepipVersions")" + # make sure we got something + if [ -z "$pipVersion" ] || [ -z "$setuptoolsVersion" ]; then + echo >&2 "error: $version: missing either pip ($pipVersion) or setuptools ($setuptoolsVersion) version" + exit 1 + fi + # make sure what we got is valid versions + if ! wget -q -O /dev/null -o /dev/null --spider "https://pypi.org/pypi/pip/$pipVersion/json" || ! wget -q -O /dev/null -o /dev/null --spider "https://pypi.org/pypi/setuptools/$setuptoolsVersion/json"; then + echo >&2 "error: $version: either pip ($pipVersion) or setuptools ($setuptoolsVersion) version seems to be invalid?" + exit 1 + fi + pipVersion="$( - export pipVersion - jq <<<"$pipJson" -r ' - .releases - | [ - keys_unsorted[] - | select(. == env.pipVersion or startswith(env.pipVersion + ".")) - ] - | max_by(split(".") | map(tonumber)) - ' + { + echo "$pipVersion" + echo "$minimumPipVersion" + } | sort -rV | head -1 )" - setuptoolsVersion="${setuptoolsVersions[$rcVersion]}" setuptoolsVersion="$( - export setuptoolsVersion - jq <<<"$setuptoolsJson" -r ' - .releases - | [ - keys_unsorted[] - | select(. == env.setuptoolsVersion or startswith(env.setuptoolsVersion + ".")) - ] - | max_by(split(".") | map(tonumber)) - ' + { + echo "$setuptoolsVersion" + echo "$minimumSetuptoolsVersion" + } | sort -rV | head -1 )" + # TODO wheelVersion, somehow: https://github.com/docker-library/python/issues/365#issuecomment-914669320 + echo "$version: $fullVersion (pip $pipVersion, setuptools $setuptoolsVersion${hasWindows:+, windows})" export fullVersion pipVersion setuptoolsVersion hasWindows