SHA256
1
0
forked from pool/python312

Accepting request 1090373 from home:dgarcia:branches:devel:languages:python:Factory

- Add 00398-fix-stack-overwrite-on-32-bit-in-perf-map-test-harness-gh-104811-104823.patch
  gh#python/cpython#104811
- Refresh all patches
- Update to 3.12.0b1:
  Full changelog can be found here
  https://docs.python.org/dev/whatsnew/changelog.html#python-3-12-0-beta-1

OBS-URL: https://build.opensuse.org/request/show/1090373
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=7
This commit is contained in:
Matej Cepl 2023-06-02 19:32:04 +00:00 committed by Git OBS Bridge
parent dffdb8ee8a
commit c8f2873f34
14 changed files with 161 additions and 78 deletions

View File

@ -0,0 +1,43 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Carl Meyer <carl@oddbird.net>
Date: Tue, 23 May 2023 16:04:31 -0600
Subject: [PATCH] 00398: fix stack overwrite on 32-bit in perf map test harness
(#104811)
---
Modules/_testinternalcapi.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
Index: Python-3.12.0b1/Modules/_testinternalcapi.c
===================================================================
--- Python-3.12.0b1.orig/Modules/_testinternalcapi.c
+++ Python-3.12.0b1/Modules/_testinternalcapi.c
@@ -762,19 +762,24 @@ clear_extension(PyObject *self, PyObject
static PyObject *
write_perf_map_entry(PyObject *self, PyObject *args)
{
+ PyObject *code_addr_v;
const void *code_addr;
unsigned int code_size;
const char *entry_name;
- if (!PyArg_ParseTuple(args, "KIs", &code_addr, &code_size, &entry_name))
+ if (!PyArg_ParseTuple(args, "OIs", &code_addr_v, &code_size, &entry_name))
return NULL;
+ code_addr = PyLong_AsVoidPtr(code_addr_v);
+ if (code_addr == NULL) {
+ return NULL;
+ }
int ret = PyUnstable_WritePerfMapEntry(code_addr, code_size, entry_name);
- if (ret == -1) {
- PyErr_SetString(PyExc_OSError, "Failed to write performance map entry");
+ if (ret < 0) {
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
- return Py_BuildValue("i", ret);
+ return PyLong_FromLong(ret);
}
static PyObject *

View File

@ -29,10 +29,10 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
Lib/test/test_sysconfig.py | 17 +++++++++++--
3 files changed, 71 insertions(+), 4 deletions(-)
diff --git a/Lib/site.py b/Lib/site.py
index 7faf1c6f6a..e2ace71d18 100644
--- a/Lib/site.py
+++ b/Lib/site.py
Index: Python-3.12.0b1/Lib/site.py
===================================================================
--- Python-3.12.0b1.orig/Lib/site.py
+++ Python-3.12.0b1/Lib/site.py
@@ -377,8 +377,15 @@ def getsitepackages(prefixes=None):
return sitepackages
@ -50,11 +50,11 @@ index 7faf1c6f6a..e2ace71d18 100644
for sitedir in getsitepackages(prefixes):
if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths)
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index c61100a6da..30143e577e 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -104,6 +104,11 @@
Index: Python-3.12.0b1/Lib/sysconfig.py
===================================================================
--- Python-3.12.0b1.orig/Lib/sysconfig.py
+++ Python-3.12.0b1/Lib/sysconfig.py
@@ -104,6 +104,11 @@ if os.name == 'nt':
else:
_INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
@ -66,7 +66,7 @@ index c61100a6da..30143e577e 100644
# NOTE: site.py has copy of this function.
# Sync it when modify this function.
@@ -163,6 +168,19 @@ def joinuser(*args):
@@ -163,6 +168,19 @@ if _HAS_USER_BASE:
},
}
@ -86,7 +86,7 @@ index c61100a6da..30143e577e 100644
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
'scripts', 'data')
@@ -263,11 +281,40 @@ def _extend_dict(target_dict, other_dict):
@@ -263,11 +281,40 @@ def _extend_dict(target_dict, other_dict
target_dict[key] = value
@ -128,11 +128,11 @@ index c61100a6da..30143e577e 100644
if os.name == 'nt':
# On Windows we want to substitute 'lib' for schemes rather
# than the native value (without modifying vars, in case it
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index b6dbf3d52c..4f06a7673c 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -110,8 +110,19 @@ def test_get_path(self):
Index: Python-3.12.0b1/Lib/test/test_sysconfig.py
===================================================================
--- Python-3.12.0b1.orig/Lib/test/test_sysconfig.py
+++ Python-3.12.0b1/Lib/test/test_sysconfig.py
@@ -110,8 +110,19 @@ class TestSysConfig(unittest.TestCase):
for scheme in _INSTALL_SCHEMES:
for name in _INSTALL_SCHEMES[scheme]:
expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars)
@ -153,7 +153,7 @@ index b6dbf3d52c..4f06a7673c 100644
os.path.normpath(expected),
)
@@ -335,7 +346,7 @@ def test_get_config_h_filename(self):
@@ -335,7 +346,7 @@ class TestSysConfig(unittest.TestCase):
self.assertTrue(os.path.isfile(config_h), config_h)
def test_get_scheme_names(self):
@ -162,7 +162,7 @@ index b6dbf3d52c..4f06a7673c 100644
if HAS_USER_BASE:
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
@@ -347,6 +358,8 @@ def test_symlink(self): # Issue 7880
@@ -347,6 +358,8 @@ class TestSysConfig(unittest.TestCase):
cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a19ae4dc5afebdff5e1312346f160062a11e0dbd5f9e68a6a981ea37b21608e1
size 19819836

View File

@ -1,18 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQKTBAABCgB9FiEEcWlgX2LHUTVtBUomqCHmgOX6YwUFAmQsR/hfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcx
Njk2MDVGNjJDNzUxMzU2RDA1NEEyNkE4MjFFNjgwRTVGQTYzMDUACgkQqCHmgOX6
YwW+fA/+Ota2j5kTT4RPeM6qB7/bNkmmtV8cnmufj+roHaYJFlupVqsDrj9+t4A+
GPv+Xakt3GC8gG2t2KRwhq+zOcHF1lAx0aWbMAxY0I8X+c8bYr6fB717R15t2hnR
uC/DAcUcyEFI95+EIq7x16LMMpg9/egKUbutkwlYNM3/roxdlwuhYo3MINzfZpcU
eOZzva5NPQtm/6UXPBofL7QDcPFHRtm1COHAhGczdJi+A/Oha3FATdMDftHP2PsI
8Rc63xmDE1NtJ6s6PRTBElfoBRfftTBhrr71H43hYJu0BMNhJ78DF/YdvZWuvjtK
pP5eT3pYWi9QU/uY0tB/r6N3mhwm+E1P3jkGuzt0ThgNOE0UWuRS7YN8XNs/KMmV
KzelktHDwdCGQ0IqlLyTHyxWp/z1+oqHm/2ivsfa7rn/l7Pw29KFvEwbQ5cbgLck
u2P5AtonysXiiEB1mmOK6hDHDVtz/LFWCGfyS059JpY6j/OQtJsa+uVv70pwWX0H
bdvwnfWUtZ0TSre9MzwYV1I2qOmVPHx5tGyMSLV0tQ13xrR/jf358Wqtxkie3Qow
R1w0AJ1Ct+DJEPLC8SFmlUNu9U8Z/Yj7BnY7JiFMEc9Z60DLwuGHyuEvUQ1kwKvY
yKpcBvHY1JWpXmV09oyZGVF9XVBEd4JGodtYLjmiQasy+LBMMUI=
=glVk
-----END PGP SIGNATURE-----

3
Python-3.12.0b1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ba76ca64acd745babdfb8467820964df98858ee6a9577bf1d93447257be581e
size 20053428

View File

@ -0,0 +1,18 @@
-----BEGIN PGP SIGNATURE-----
iQKTBAABCgB9FiEEcWlgX2LHUTVtBUomqCHmgOX6YwUFAmRrW0VfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcx
Njk2MDVGNjJDNzUxMzU2RDA1NEEyNkE4MjFFNjgwRTVGQTYzMDUACgkQqCHmgOX6
YwUPOg/9GRDnAfe68z7VrKn8owGDL+YQe5Wfj9eDlAo1nG4ncozx2oDmq2k/VFXG
sKSMzatc+K08awmd48w0lCX+GV0EwlOWcTzmFiXliw0UNQ0lfG+Dj8QidGO/CcRQ
U2JUqpyohwJnONjcxB2aIfa0VXKrNY9cAvJGiqwxq+sn4fDrOOKEANOgxisSD2ia
MlU1rYIwDoqC+shLQyv6Dq8WkPsKLYEtHaymT6i7oWcq2+1SZexNkRPdVvC0BGbz
XVCNRq3NsSDxSJLYfmw5METwJ/ZEHPQ3G8VqktLZ61A5foq6Zk08xBYgA3qVstrU
Nrd33qxMZNPlaZFNAlg07FTqlHd056zL/XeYVEu+/J51xiY0aP+XtpEJHsJLcxMP
nBSySwO11SOaMW+1lM6/ylkGmo2N62VrYwfT05t3t5PP5Cz71G5D+lLchcnvbGEu
edeABX5GNcwMvoJL+Dkk4d8kuDiA3UEyytoefko06Qri1wThAdONXRxE9dG0AoNg
VzeD1v7ld2cJ0Of9/ArdJFjNo7LBa9kpE0/Rmn18YbRJZSI/pbRmLvHkqVmpKBTU
rk5sK+wFb5VoXEY3MziClmydQW3UybYk/Eybq0ea+9cpkCWKemVSHCC5t9TX/X35
d4rc2SRAkdgP7a/2V/ZK10lXmq6bCGvdXce8Qd3g14Bq9mBk5cI=
=3HQL
-----END PGP SIGNATURE-----

View File

@ -13,8 +13,10 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
5 files changed, 34 insertions(+), 9 deletions(-)
create mode 100644 Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
--- a/Doc/library/ensurepip.rst
+++ b/Doc/library/ensurepip.rst
Index: Python-3.12.0b1/Doc/library/ensurepip.rst
===================================================================
--- Python-3.12.0b1.orig/Doc/library/ensurepip.rst
+++ Python-3.12.0b1/Doc/library/ensurepip.rst
@@ -59,8 +59,9 @@ is at least as recent as the one availab
By default, ``pip`` is installed into the current virtual environment
(if one is active) or into the system site packages (if there is no
@ -53,9 +55,11 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
.. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap
.. note::
--- a/Lib/ensurepip/__init__.py
+++ b/Lib/ensurepip/__init__.py
@@ -122,27 +122,27 @@ def _disable_pip_configuration_settings(
Index: Python-3.12.0b1/Lib/ensurepip/__init__.py
===================================================================
--- Python-3.12.0b1.orig/Lib/ensurepip/__init__.py
+++ Python-3.12.0b1/Lib/ensurepip/__init__.py
@@ -120,27 +120,27 @@ def _disable_pip_configuration_settings(
os.environ['PIP_CONFIG_FILE'] = os.devnull
@ -88,7 +92,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
Note that calling this function will alter both sys.path and os.environ.
"""
@@ -192,6 +192,8 @@ def _bootstrap(*, root=None, upgrade=Fal
@@ -190,6 +190,8 @@ def _bootstrap(*, root=None, upgrade=Fal
args = ["install", "--no-cache-dir", "--no-index", "--find-links", tmpdir]
if root:
args += ["--root", root]
@ -97,7 +101,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
if upgrade:
args += ["--upgrade"]
if user:
@@ -267,6 +269,11 @@ def _main(argv=None):
@@ -265,6 +267,11 @@ def _main(argv=None):
help="Install everything relative to this alternate root directory.",
)
parser.add_argument(
@ -109,7 +113,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
"--altinstall",
action="store_true",
default=False,
@@ -285,6 +292,7 @@ def _main(argv=None):
@@ -283,6 +290,7 @@ def _main(argv=None):
return _bootstrap(
root=args.root,
@ -117,9 +121,11 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
upgrade=args.upgrade,
user=args.user,
verbosity=args.verbosity,
--- a/Lib/test/test_ensurepip.py
+++ b/Lib/test/test_ensurepip.py
@@ -112,6 +112,17 @@ class TestBootstrap(EnsurepipMixin, unit
Index: Python-3.12.0b1/Lib/test/test_ensurepip.py
===================================================================
--- Python-3.12.0b1.orig/Lib/test/test_ensurepip.py
+++ Python-3.12.0b1/Lib/test/test_ensurepip.py
@@ -105,6 +105,17 @@ class TestBootstrap(EnsurepipMixin, unit
unittest.mock.ANY,
)
@ -129,7 +135,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
+ [
+ "install", "--no-cache-dir", "--no-index", "--find-links",
+ unittest.mock.ANY, "--prefix", "/foo/bar/",
+ "setuptools", "pip",
+ "pip",
+ ],
+ unittest.mock.ANY,
+ )
@ -137,9 +143,11 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
def test_bootstrapping_with_user(self):
ensurepip.bootstrap(user=True)
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1832,7 +1832,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoni
Index: Python-3.12.0b1/Makefile.pre.in
===================================================================
--- Python-3.12.0b1.orig/Makefile.pre.in
+++ Python-3.12.0b1/Makefile.pre.in
@@ -1908,7 +1908,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoni
install|*) ensurepip="" ;; \
esac; \
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
@ -147,8 +155,8 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
+ $$ensurepip --root=$(DESTDIR)/ --prefix=$(prefix) ; \
fi
altinstall: commoninstall
@@ -1842,7 +1842,7 @@ altinstall: commoninstall
.PHONY: altinstall
@@ -1919,7 +1919,7 @@ altinstall: commoninstall
install|*) ensurepip="--altinstall" ;; \
esac; \
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
@ -156,8 +164,10 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
+ $$ensurepip --root=$(DESTDIR)/ --prefix=$(prefix) ; \
fi
commoninstall: check-clean-src @FRAMEWORKALTINSTALLFIRST@ \
.PHONY: commoninstall
Index: Python-3.12.0b1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
===================================================================
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
+++ Python-3.12.0b1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
@@ -0,0 +1 @@
+A directory prefix can now be specified when using :mod:`ensurepip`.

View File

@ -3,9 +3,11 @@
Misc/NEWS | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
--- a/Doc/using/configure.rst
+++ b/Doc/using/configure.rst
@@ -576,13 +576,11 @@ macOS Options
Index: Python-3.12.0b1/Doc/using/configure.rst
===================================================================
--- Python-3.12.0b1.orig/Doc/using/configure.rst
+++ Python-3.12.0b1/Doc/using/configure.rst
@@ -599,13 +599,11 @@ macOS Options
See ``Mac/README.rst``.
@ -19,9 +21,11 @@
.. cmdoption:: --enable-framework=INSTALLDIR
Create a Python.framework rather than a traditional Unix install. Optional
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -9560,7 +9560,7 @@ C API
Index: Python-3.12.0b1/Misc/NEWS
===================================================================
--- Python-3.12.0b1.orig/Misc/NEWS
+++ Python-3.12.0b1/Misc/NEWS
@@ -10780,7 +10780,7 @@ C API
- bpo-40939: Removed documentation for the removed ``PyParser_*`` C API.
- bpo-43795: The list in :ref:`stable-abi-list` now shows the public name

View File

@ -2,9 +2,11 @@
Makefile.pre.in | 7 +++++++
1 file changed, 7 insertions(+)
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1274,11 +1274,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
Index: Python-3.12.0b1/Makefile.pre.in
===================================================================
--- Python-3.12.0b1.orig/Makefile.pre.in
+++ Python-3.12.0b1/Makefile.pre.in
@@ -1332,11 +1332,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
$(DTRACE_OBJS) \
$(srcdir)/Modules/getbuildinfo.c
$(CC) -c $(PY_CORE_CFLAGS) \

View File

@ -1,5 +1,7 @@
--- a/Lib/site.py
+++ b/Lib/site.py
Index: Python-3.12.0b1/Lib/site.py
===================================================================
--- Python-3.12.0b1.orig/Lib/site.py
+++ Python-3.12.0b1/Lib/site.py
@@ -76,7 +76,7 @@ import _sitebuiltins
import io

View File

@ -2,9 +2,11 @@
Lib/test/test_posix.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -428,7 +428,7 @@ class PosixTester(unittest.TestCase):
Index: Python-3.12.0b1/Lib/test/test_posix.py
===================================================================
--- Python-3.12.0b1.orig/Lib/test/test_posix.py
+++ Python-3.12.0b1/Lib/test/test_posix.py
@@ -431,7 +431,7 @@ class PosixTester(unittest.TestCase):
def test_posix_fadvise(self):
fd = os.open(os_helper.TESTFN, os.O_RDONLY)
try:

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Thu Jun 1 11:42:58 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
- Add 00398-fix-stack-overwrite-on-32-bit-in-perf-map-test-harness-gh-104811-104823.patch
gh#python/cpython#104811
-------------------------------------------------------------------
Wed May 31 08:54:44 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
- Refresh all patches
- Update to 3.12.0b1:
Full changelog can be found here
https://docs.python.org/dev/whatsnew/changelog.html#python-3-12-0-beta-1
-------------------------------------------------------------------
Sun Apr 30 18:11:57 UTC 2023 - Matej Cepl <mcepl@suse.com>

View File

@ -105,7 +105,7 @@
%define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so
%bcond_without profileopt
Name: %{python_pkg_name}%{psuffix}
Version: 3.12.0a7
Version: 3.12.0b1
Release: 0
Summary: Python 3 Interpreter
License: Python-2.0
@ -162,6 +162,10 @@ Patch34: skip-test_pyobject_freed_is_freed.patch
# PATCH-FIX-SLE fix_configure_rst.patch bpo#43774 mcepl@suse.com
# remove duplicate link targets and make documentation with old Sphinx in SLE
Patch35: fix_configure_rst.patch
# PATCH-FIX-UPSTREAM 00398-fix-stack-overwrite-on-32-bit-in-perf-map-test-harness-gh-104811-104823.patch -- gh#python/cpython#104811
# fix stack overwrite on 32-bit in perf map test harness
Patch36: 00398-fix-stack-overwrite-on-32-bit-in-perf-map-test-harness-gh-104811-104823.patch
BuildRequires: autoconf-archive
BuildRequires: automake
BuildRequires: fdupes
@ -430,6 +434,7 @@ other applications.
%patch34 -p1
%endif
%patch35 -p1
%patch36 -p1
# drop Autoconf version requirement
sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac
@ -629,7 +634,7 @@ for library in \
_posixsubprocess _queue _random resource select _ssl _socket spwd \
_statistics _struct syslog termios _testbuffer _testimportmultiple \
_testmultiphase unicodedata zlib _ctypes_test _testinternalcapi _testcapi \
_typing _testclinic xxlimited xxlimited_35 \
_testclinic xxlimited xxlimited_35 \
_xxtestfuzz _xxsubinterpreters _elementtree pyexpat _md5 _sha1 \
_sha2 _blake2 _sha3 _uuid _zoneinfo \
_testsinglephase _xxinterpchannels xxsubtype
@ -954,7 +959,6 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%{dynlib _struct}
%{dynlib syslog}
%{dynlib termios}
%{dynlib _typing}
%{dynlib unicodedata}
%{dynlib _uuid}
%{dynlib xxlimited}

View File

@ -2,9 +2,11 @@
Lib/test/test_subprocess.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -278,7 +278,8 @@ class ProcessTestCase(BaseTestCase):
Index: Python-3.12.0b1/Lib/test/test_subprocess.py
===================================================================
--- Python-3.12.0b1.orig/Lib/test/test_subprocess.py
+++ Python-3.12.0b1/Lib/test/test_subprocess.py
@@ -279,7 +279,8 @@ class ProcessTestCase(BaseTestCase):
"time.sleep(3600)"],
# Some heavily loaded buildbots (sparc Debian 3.x) require
# this much time to start and print.