aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatti Picus <matti.picus@gmail.com>2022-02-12 20:42:05 +0200
committerMatti Picus <matti.picus@gmail.com>2022-02-12 20:42:05 +0200
commit7b01884e92ba6879cc23a6572272a4eeef2f52e1 (patch)
tree315d2b5e5f70761e700b7d415b3b833fe7486cef
parentmerge default (diff)
parentmake sure OpenSSL<1.1.1m is still supported (issue 3671), backport test changes (diff)
downloadpypy-7b01884e92ba6879cc23a6572272a4eeef2f52e1.tar.gz
pypy-7b01884e92ba6879cc23a6572272a4eeef2f52e1.tar.bz2
pypy-7b01884e92ba6879cc23a6572272a4eeef2f52e1.zip
merge default
-rw-r--r--.hgtags4
-rw-r--r--lib_pypy/_cffi_ssl/_stdssl/__init__.py4
-rw-r--r--pypy/doc/release-v7.3.8.rst7
-rw-r--r--pypy/tool/release/check_versions.py11
-rw-r--r--pypy/tool/release/repackage.sh21
-rw-r--r--pypy/tool/release/versions.json159
6 files changed, 189 insertions, 17 deletions
diff --git a/.hgtags b/.hgtags
index aa442b9a7d..4c89793d5e 100644
--- a/.hgtags
+++ b/.hgtags
@@ -133,3 +133,7 @@ cc3911ab8fcd509143c64012cc7067d75ab4b6ac release-pypy3.7-v7.3.6
0e322cb44401d19c73b3c3862bcd86bf56ff69ae release-pypy3.7-v7.3.8rc1
67f1b98040bad2f1241e4e1ebde6051a505f628a release-pypy3.8-v7.3.8rc1
307e102d7222131fee14073e8856df773627186c release-pypy3.9-v7.3.8rc1
+a7534a4d50852c8405687fc62112401cf8b11485 release-pypy2.7-v7.3.8rc2
+11d3d95ae917dba9ba375c3ad4e831ed5d97fb6b release-pypy3.7-v7.3.8rc2
+e093771497da708d5a1bacad367a0d515fde610b release-pypy3.8-v7.3.8rc2
+59025807f35a8a6b2fa7c033836b5949001a6c2a release-pypy3.9-v7.3.8rc2
diff --git a/lib_pypy/_cffi_ssl/_stdssl/__init__.py b/lib_pypy/_cffi_ssl/_stdssl/__init__.py
index d2bb68adf1..1ee540c65f 100644
--- a/lib_pypy/_cffi_ssl/_stdssl/__init__.py
+++ b/lib_pypy/_cffi_ssl/_stdssl/__init__.py
@@ -336,8 +336,8 @@ class _SSLSocket(object):
# bpo43522 and OpenSSL < 1.1.1l: copy hostflags manually
if OPENSSL_VERSION_INFO < (1, 1, 1, 12): # 12 == 'l'
- params = lib.SSL_CTX_get0_param(ctx);
- lib.X509_VERIFY_PARAM_set_hostflags(params, ctx.hostflags);
+ params = lib.SSL_CTX_get0_param(ctx)
+ lib.X509_VERIFY_PARAM_set_hostflags(params, sslctx.hostflags);
self._app_data_handle = ffi.new_handle(self)
lib.SSL_set_app_data(ssl, ffi.cast("char*", self._app_data_handle))
diff --git a/pypy/doc/release-v7.3.8.rst b/pypy/doc/release-v7.3.8.rst
index 332eb8e99b..56a72494ef 100644
--- a/pypy/doc/release-v7.3.8.rst
+++ b/pypy/doc/release-v7.3.8.rst
@@ -32,7 +32,11 @@ wish to share. The release includes four different interpreters:
release of this interpreter, we relate to this as "beta" quality. We
welcome testing of this version, if you discover incompatibilities, please
report them so we can gain confidence in the version. There is still a known
- `speed regression`_ around ``**kwargs`` handling in 3.9.
+ `speed regression`_ around ``**kwargs`` handling in 3.9, and we slightly
+ modified the concurrent future's ``ProcessExcecutorPool`` to start all the
+ worker processes when the first task is recieved (like on Python3.8) to
+ avoid an apparent race condition when using ``fork`` and threads (issue
+ 3650_).
The interpreters are based on much the same codebase, thus the multiple
release. This is a micro release, all APIs are compatible with the other 7.3
@@ -291,6 +295,7 @@ Python 3.8 C-API
.. _3644: https://foss.heptapod.net/pypy/pypy/-/issues/3644
.. _3642: https://foss.heptapod.net/pypy/pypy/-/issues/3642
.. _3652: https://foss.heptapod.net/pypy/pypy/-/issues/3652
+.. _3650: https://foss.heptapod.net/pypy/pypy/-/issues/3650
.. _3656: https://foss.heptapod.net/pypy/pypy/-/issues/3656
.. _3661: https://foss.heptapod.net/pypy/pypy/-/issues/3661
.. _bpo35883: https://bugs.python.org/issue35883
diff --git a/pypy/tool/release/check_versions.py b/pypy/tool/release/check_versions.py
index 29f39433ea..7be8bd6fee 100644
--- a/pypy/tool/release/check_versions.py
+++ b/pypy/tool/release/check_versions.py
@@ -33,6 +33,9 @@ def assert_in(a, b):
pypy_versions = {
+ '7.3.8rc2': {'python_version': ['3.9.10', '3.8.12', '3.7.12', '2.7.18'],
+ 'date': '2022-02-11',
+ },
'7.3.8rc1': {'python_version': ['3.9.10', '3.8.12', '3.7.12', '2.7.18'],
'date': '2022-01-26',
},
@@ -118,6 +121,8 @@ arch_map={('aarch64', 'linux'): 'aarch64',
def check_versions(data, url, verbose=0):
for d in data:
+ if verbose > 0:
+ print(f"checking {d['pypy_version']} {d['python_version']}")
assert_in(d['pypy_version'], pypy_versions)
v = pypy_versions[d['pypy_version']]
assert_in(d['python_version'], v['python_version'])
@@ -139,7 +144,7 @@ def check_versions(data, url, verbose=0):
for f in d['files']:
download_url = f['download_url']
if verbose > 0:
- print(f'checking {download_url}')
+ print(f' checking {download_url}', end='')
if 'rc' not in d['pypy_version']:
assert_in(f['filename'], download_url)
assert_in(d['pypy_version'], download_url)
@@ -161,6 +166,10 @@ def check_versions(data, url, verbose=0):
except error.HTTPError as e:
raise ValueError(f"could not open {f['download_url']}") from None
assert_equal(r.getcode(), 200)
+ if verbose > 0:
+ print(f' ok')
+ if verbose > 0:
+ print(f"{d['pypy_version']} {d['python_version']} ok")
if __name__ == '__main__':
if len(sys.argv) > 1:
diff --git a/pypy/tool/release/repackage.sh b/pypy/tool/release/repackage.sh
index 7d6d9c3d7d..3bd34a0c9e 100644
--- a/pypy/tool/release/repackage.sh
+++ b/pypy/tool/release/repackage.sh
@@ -2,11 +2,11 @@
# Edit these appropriately before running this script
pmaj=3 # python main version: 2 or 3
-pmin=8 # python minor version
+pmin=9 # python minor version
maj=7
min=3
rev=8
-rc=rc1 # comment this line for actual release
+rc=rc2 # comment this line for actual release
function maybe_exit {
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
@@ -45,10 +45,17 @@ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
fi
fi
+if [ -v rc ]
+then
+ wanted="\"$maj.$min.$rev${rc/rc/-candidate}\""
+else
+ wanted="\"$maj.$min.$rev\""
+fi
+
function repackage_builds {
# Download latest builds from the buildmaster, rename the top
# level directory, and repackage ready to be uploaded
- for plat in linux linux64 osx64 # s390x aarch64 linux-armhf-raspbian linux-armel
+ for plat in linux linux64 osx64 s390x # aarch64 linux-armhf-raspbian linux-armel
do
echo downloading package for $plat
if wget -q --show-progress http://buildbot.pypy.org/nightly/$branchname/pypy-c-jit-latest-$plat.tar.bz2
@@ -77,10 +84,10 @@ function repackage_builds {
else
actual_ver=$(grep PYPY_VERSION pypy-c-jit-*-$plat/include/pypy$pmaj.$pmin/patchlevel.h |cut -f3 -d' ')
fi
- if [ $actual_ver != "\"$maj.$min.$rev\"" ]
+ if [ $actual_ver != $wanted ]
then
echo xxxxxxxxxxxxxxxxxxxxxx
- echo version mismatch, expected "\"$maj.$min.$rev\"", got $actual_ver for $plat
+ echo version mismatch, expected $wanted, got $actual_ver for $plat
echo xxxxxxxxxxxxxxxxxxxxxx
exit -1
rm -rf pypy-c-jit-*-$plat
@@ -110,10 +117,10 @@ function repackage_builds {
unzip -q pypy-c-jit-latest-$plat.zip
rm pypy-c-jit-latest-$plat.zip
actual_ver=$(grep PYPY_VERSION pypy-c-jit-*-$plat/include/patchlevel.h |cut -f3 -d' ')
- if [ $actual_ver != "\"$maj.$min.$rev\"" ]
+ if [ $actual_ver != $wanted ]
then
echo xxxxxxxxxxxxxxxxxxxxxx
- echo version mismatch, expected "\"$maj.$min.$rev\"", got $actual_ver for $plat
+ echo version mismatch, expected $wanted, got $actual_ver for $plat
echo xxxxxxxxxxxxxxxxxxxxxx
rm -rf pypy-c-jit-*-$plat
continue
diff --git a/pypy/tool/release/versions.json b/pypy/tool/release/versions.json
index b77e667561..23886f8bed 100644
--- a/pypy/tool/release/versions.json
+++ b/pypy/tool/release/versions.json
@@ -1,5 +1,158 @@
[
{
+ "pypy_version": "7.3.8rc2",
+ "python_version": "3.9.10",
+ "stable": false,
+ "latest_pypy": false,
+ "date": "2022-02-11",
+ "files": [
+ {
+ "filename": "pypy3.9-v7.3.8rc2-linux32.tar.bz2",
+ "arch": "i686",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.9-v7.3.8rc2-linux32.tar.bz2"
+ },
+ {
+ "filename": "pypy3.9-v7.3.8rc2-linux64.tar.bz2",
+ "arch": "x64",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.9-v7.3.8rc2-linux64.tar.bz2"
+ },
+ {
+ "filename": "pypy3.9-v7.3.8rc2-osx64.tar.bz2",
+ "arch": "x64",
+ "platform": "darwin",
+ "download_url": "https://downloads.python.org/pypy/pypy3.9-v7.3.8rc2-osx64.tar.bz2"
+ },
+ {
+ "filename": "pypy3.9-v7.3.8rc2-s390x.tar.bz2",
+ "arch": "s390x",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.9-v7.3.8rc2-s390x.tar.bz2"
+ },
+ {
+ "filename": "pypy3.9-v7.3.8rc2-win64.zip",
+ "arch": "x64",
+ "platform": "win64",
+ "download_url": "https://downloads.python.org/pypy/pypy3.9-v7.3.8rc2-win64.zip"
+ }
+ ]
+ }, {
+ "pypy_version": "7.3.8rc2",
+ "python_version": "3.8.12",
+ "stable": false,
+ "latest_pypy": false,
+ "date": "2022-02-11",
+ "files": [
+ {
+ "filename": "pypy3.8-v7.3.8rc2-linux32.tar.bz2",
+ "arch": "i686",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.8rc2-linux32.tar.bz2"
+ },
+ {
+ "filename": "pypy3.8-v7.3.8rc2-linux64.tar.bz2",
+ "arch": "x64",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.8rc2-linux64.tar.bz2"
+ },
+ {
+ "filename": "pypy3.8-v7.3.8rc2-osx64.tar.bz2",
+ "arch": "x64",
+ "platform": "darwin",
+ "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.8rc2-osx64.tar.bz2"
+ },
+ {
+ "filename": "pypy3.8-v7.3.8rc2-s390x.tar.bz2",
+ "arch": "s390x",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.8rc2-s390x.tar.bz2"
+ },
+ {
+ "filename": "pypy3.8-v7.3.8rc2-win64.zip",
+ "arch": "x64",
+ "platform": "win64",
+ "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.8rc2-win64.zip"
+ }
+ ]
+ },{
+ "pypy_version": "7.3.8rc2",
+ "python_version": "3.7.12",
+ "stable": false,
+ "latest_pypy": false,
+ "date": "2022-02-11",
+ "files": [
+ {
+ "filename": "pypy3.7-v7.3.8rc2-linux32.tar.bz2",
+ "arch": "i686",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.8rc2-linux32.tar.bz2"
+ },
+ {
+ "filename": "pypy3.7-v7.3.8rc2-linux64.tar.bz2",
+ "arch": "x64",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.8rc2-linux64.tar.bz2"
+ },
+ {
+ "filename": "pypy3.7-v7.3.8rc2-osx64.tar.bz2",
+ "arch": "x64",
+ "platform": "darwin",
+ "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.8rc2-osx64.tar.bz2"
+ },
+ {
+ "filename": "pypy3.7-v7.3.8rc2-s390x.tar.bz2",
+ "arch": "s390x",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.8rc2-s390x.tar.bz2"
+ },
+ {
+ "filename": "pypy3.7-v7.3.8rc2-win64.zip",
+ "arch": "x64",
+ "platform": "win64",
+ "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.8rc2-win64.zip"
+ }
+ ]
+ },{
+ "pypy_version": "7.3.8rc2",
+ "python_version": "2.7.18",
+ "stable": false,
+ "latest_pypy": false,
+ "date": "2022-02-11",
+ "files": [
+ {
+ "filename": "pypy2.7-v7.3.8rc2-linux32.tar.bz2",
+ "arch": "i686",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.8rc2-linux32.tar.bz2"
+ },
+ {
+ "filename": "pypy2.7-v7.3.8rc2-linux64.tar.bz2",
+ "arch": "x64",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.8rc2-linux64.tar.bz2"
+ },
+ {
+ "filename": "pypy2.7-v7.3.8rc2-osx64.tar.bz2",
+ "arch": "x64",
+ "platform": "darwin",
+ "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.8rc2-osx64.tar.bz2"
+ },
+ {
+ "filename": "pypy2.7-v7.3.8rc2-s390x.tar.bz2",
+ "arch": "s390x",
+ "platform": "linux",
+ "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.8rc2-s390x.tar.bz2"
+ },
+ {
+ "filename": "pypy2.7-v7.3.8rc2-win64.zip",
+ "arch": "x64",
+ "platform": "win64",
+ "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.8rc2-win64.zip"
+ }
+ ]
+ },
+ {
"pypy_version": "7.3.8rc1",
"python_version": "3.9.10",
"stable": false,
@@ -2014,12 +2167,6 @@
"latest_pypy": false,
"files": [
{
- "filename": "pypy-c-jit-latest-aarch64.tar.bz2",
- "arch": "aarch64",
- "platform": "linux",
- "download_url": "http://buildbot.pypy.org/nightly/py3.9/pypy-c-jit-latest-aarch64.tar.bz2"
- },
- {
"filename": "pypy-c-jit-latest-linux.tar.bz2",
"arch": "i686",
"platform": "linux",