From 42286a6d407e44b56d8aca968f91a2e9214a35b2 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 8 Feb 2021 17:38:50 -0800 Subject: [PATCH] Apply thread-related crypt patches in 3.x versions --- 2.7/slim-buster/Dockerfile | 1 + 3.6/buster/Dockerfile | 9 +++++++++ 3.6/slim-buster/Dockerfile | 10 ++++++++++ 3.7/buster/Dockerfile | 9 +++++++++ 3.7/slim-buster/Dockerfile | 10 ++++++++++ Dockerfile-linux.template | 12 ++++++++++++ 6 files changed, 51 insertions(+) diff --git a/2.7/slim-buster/Dockerfile b/2.7/slim-buster/Dockerfile index f17df02..a893b96 100644 --- a/2.7/slim-buster/Dockerfile +++ b/2.7/slim-buster/Dockerfile @@ -43,6 +43,7 @@ RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ bzip2 \ + patch \ wget \ # sometimes "pypy" itself is linked against libexpat1 / libncurses5, sometimes they're ".so" files in "/opt/pypy/lib_pypy" libexpat1 \ diff --git a/3.6/buster/Dockerfile b/3.6/buster/Dockerfile index 4076c69..9753baf 100644 --- a/3.6/buster/Dockerfile +++ b/3.6/buster/Dockerfile @@ -63,6 +63,15 @@ RUN set -eux; \ find /opt/pypy/lib-python -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ rm pypy.tar.bz2; \ \ +# https://github.com/docker-library/pypy/issues/49 + wget -O import.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/16faa2be85839e6ab4fb8ee09298a4d934aab81f.patch'; \ + echo '2d4bcc434077685a4ff26c1c1f28109ff67ef7e68f1f831ce0f2d9ddd6a194d0 *import.patch' | sha256sum --check --strict -; \ + wget -O crypt-utf8.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/c63da169246ed972fe90e1c289fc2378236fa852.patch'; \ + echo 'ab1529948c49fd29fb76b3c20ec7d3d9c50603aa0c549a8a31339eb940e0f4d3 *crypt-utf8.patch' | sha256sum --check --strict -; \ + patch --input="$PWD/import.patch" --directory=/opt/pypy --strip=1; \ + patch --input="$PWD/crypt-utf8.patch" --directory=/opt/pypy --strip=1; \ + rm import.patch crypt-utf8.patch; \ + \ ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; \ \ # smoke test diff --git a/3.6/slim-buster/Dockerfile b/3.6/slim-buster/Dockerfile index 2d41537..f60298b 100644 --- a/3.6/slim-buster/Dockerfile +++ b/3.6/slim-buster/Dockerfile @@ -47,6 +47,7 @@ RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ bzip2 \ + patch \ wget \ # sometimes "pypy3" itself is linked against libexpat1 / libncurses5, sometimes they're ".so" files in "/opt/pypy/lib_pypy" libexpat1 \ @@ -61,6 +62,15 @@ RUN set -eux; \ find /opt/pypy/lib-python -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ rm pypy.tar.bz2; \ \ +# https://github.com/docker-library/pypy/issues/49 + wget -O import.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/16faa2be85839e6ab4fb8ee09298a4d934aab81f.patch'; \ + echo '2d4bcc434077685a4ff26c1c1f28109ff67ef7e68f1f831ce0f2d9ddd6a194d0 *import.patch' | sha256sum --check --strict -; \ + wget -O crypt-utf8.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/c63da169246ed972fe90e1c289fc2378236fa852.patch'; \ + echo 'ab1529948c49fd29fb76b3c20ec7d3d9c50603aa0c549a8a31339eb940e0f4d3 *crypt-utf8.patch' | sha256sum --check --strict -; \ + patch --input="$PWD/import.patch" --directory=/opt/pypy --strip=1; \ + patch --input="$PWD/crypt-utf8.patch" --directory=/opt/pypy --strip=1; \ + rm import.patch crypt-utf8.patch; \ + \ ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; \ \ # smoke test diff --git a/3.7/buster/Dockerfile b/3.7/buster/Dockerfile index f7946a2..6d5452e 100644 --- a/3.7/buster/Dockerfile +++ b/3.7/buster/Dockerfile @@ -63,6 +63,15 @@ RUN set -eux; \ find /opt/pypy/lib-python -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ rm pypy.tar.bz2; \ \ +# https://github.com/docker-library/pypy/issues/49 + wget -O import.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/16faa2be85839e6ab4fb8ee09298a4d934aab81f.patch'; \ + echo '2d4bcc434077685a4ff26c1c1f28109ff67ef7e68f1f831ce0f2d9ddd6a194d0 *import.patch' | sha256sum --check --strict -; \ + wget -O crypt-utf8.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/c63da169246ed972fe90e1c289fc2378236fa852.patch'; \ + echo 'ab1529948c49fd29fb76b3c20ec7d3d9c50603aa0c549a8a31339eb940e0f4d3 *crypt-utf8.patch' | sha256sum --check --strict -; \ + patch --input="$PWD/import.patch" --directory=/opt/pypy --strip=1; \ + patch --input="$PWD/crypt-utf8.patch" --directory=/opt/pypy --strip=1; \ + rm import.patch crypt-utf8.patch; \ + \ ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; \ \ # smoke test diff --git a/3.7/slim-buster/Dockerfile b/3.7/slim-buster/Dockerfile index 7e9d167..a355bea 100644 --- a/3.7/slim-buster/Dockerfile +++ b/3.7/slim-buster/Dockerfile @@ -47,6 +47,7 @@ RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ bzip2 \ + patch \ wget \ # sometimes "pypy3" itself is linked against libexpat1 / libncurses5, sometimes they're ".so" files in "/opt/pypy/lib_pypy" libexpat1 \ @@ -61,6 +62,15 @@ RUN set -eux; \ find /opt/pypy/lib-python -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ rm pypy.tar.bz2; \ \ +# https://github.com/docker-library/pypy/issues/49 + wget -O import.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/16faa2be85839e6ab4fb8ee09298a4d934aab81f.patch'; \ + echo '2d4bcc434077685a4ff26c1c1f28109ff67ef7e68f1f831ce0f2d9ddd6a194d0 *import.patch' | sha256sum --check --strict -; \ + wget -O crypt-utf8.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/c63da169246ed972fe90e1c289fc2378236fa852.patch'; \ + echo 'ab1529948c49fd29fb76b3c20ec7d3d9c50603aa0c549a8a31339eb940e0f4d3 *crypt-utf8.patch' | sha256sum --check --strict -; \ + patch --input="$PWD/import.patch" --directory=/opt/pypy --strip=1; \ + patch --input="$PWD/crypt-utf8.patch" --directory=/opt/pypy --strip=1; \ + rm import.patch crypt-utf8.patch; \ + \ ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; \ \ # smoke test diff --git a/Dockerfile-linux.template b/Dockerfile-linux.template index 6a86a28..e96dbe2 100644 --- a/Dockerfile-linux.template +++ b/Dockerfile-linux.template @@ -67,6 +67,7 @@ RUN set -eux; \ apt-get install -y --no-install-recommends \ {{ if is_slim then ( -}} bzip2 \ + patch \ wget \ {{ ) else "" end -}} # sometimes "{{ cmd }}" itself is linked against libexpat1 / libncurses5, sometimes they're ".so" files in "/opt/pypy/lib_pypy" @@ -82,6 +83,17 @@ RUN set -eux; \ find /opt/pypy/lib-python -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ rm pypy.tar.bz2; \ \ +{{ if is_3 then ( -}} +# https://github.com/docker-library/pypy/issues/49 + wget -O import.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/16faa2be85839e6ab4fb8ee09298a4d934aab81f.patch'; \ + echo '2d4bcc434077685a4ff26c1c1f28109ff67ef7e68f1f831ce0f2d9ddd6a194d0 *import.patch' | sha256sum --check --strict -; \ + wget -O crypt-utf8.patch 'https://foss.heptapod.net/pypy/pypy/-/commit/c63da169246ed972fe90e1c289fc2378236fa852.patch'; \ + echo 'ab1529948c49fd29fb76b3c20ec7d3d9c50603aa0c549a8a31339eb940e0f4d3 *crypt-utf8.patch' | sha256sum --check --strict -; \ + patch --input="$PWD/import.patch" --directory=/opt/pypy --strip=1; \ + patch --input="$PWD/crypt-utf8.patch" --directory=/opt/pypy --strip=1; \ + rm import.patch crypt-utf8.patch; \ + \ +{{ ) else "" end -}} ln -sv {{ "/opt/pypy/bin/" + cmd | @sh }} /usr/local/bin/; \ \ # smoke test