- New development of new major version, update to 3.15.0~a1:

- Tools/Demos
    - gh-139330: SBOM generation tool didn’t cross-check
      the version and checksum values against the
      Modules/expat/refresh.sh script, leading to the values
      becoming out-of-date during routine updates.
    - gh-132006: XCframeworks now include privacy manifests to
      satisfy Apple App Store submission requirements.
    - gh-138171: A script for building an iOS XCframework was
      added. As part of this change, the top level iOS folder has
      been moved to be a subdirectory of the Apple folder.
    - gh-137873: The iOS test runner has been simplified,
      resolving some issues that have been observed using
      the runner in GitHub Actions and Azure Pipelines test
      environments.
    - gh-137484: Have Tools/wasm/wasi put the build Python into a
      directory named after the build triple instead of “build”.
    - gh-137025: The wasm_build.py script has been removed.
      Tools/wasm/emscripten and Tools/wasm/wasi should be used
      instead, as described in the Dev Guide.
    - gh-137248: Add a --logdir option to Tools/wasm/wasi for
      specifying where to write log files.
    - gh-137243: Have Tools/wasm/wasi detect a WASI SDK install
      in /opt when it was directly extracted from a release
      tarball.
    - gh-136251: Fixes and usability improvements for
      Tools/wasm/emscripten/web_example
    - gh-135968: Stubs for strip are now provided as part of an
      iOS install.
    - gh-135379: The cases generator no longer accepts type

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=109
This commit is contained in:
2025-10-24 21:59:31 +00:00
committed by Matěj Cepl
parent eb33aed2e2
commit dc71fadfa7
15 changed files with 1828 additions and 108 deletions

View File

@@ -4,11 +4,11 @@
Lib/test/test_xml_etree.py | 10 ++++++++++ Lib/test/test_xml_etree.py | 10 ++++++++++
3 files changed, 17 insertions(+) 3 files changed, 17 insertions(+)
Index: Python-3.14.0/Lib/test/test_pyexpat.py Index: Python-3.15.0a1/Lib/test/test_pyexpat.py
=================================================================== ===================================================================
--- Python-3.14.0.orig/Lib/test/test_pyexpat.py 2025-10-08 11:27:29.989583305 +0200 --- Python-3.15.0a1.orig/Lib/test/test_pyexpat.py 2025-10-24 23:53:24.356893960 +0200
+++ Python-3.14.0/Lib/test/test_pyexpat.py 2025-10-08 11:28:09.418914658 +0200 +++ Python-3.15.0a1/Lib/test/test_pyexpat.py 2025-10-24 23:53:50.136311340 +0200
@@ -827,6 +827,10 @@ @@ -843,6 +843,10 @@
self.assertEqual(started, ['doc']) self.assertEqual(started, ['doc'])
def test_reparse_deferral_disabled(self): def test_reparse_deferral_disabled(self):
@@ -19,10 +19,10 @@ Index: Python-3.14.0/Lib/test/test_pyexpat.py
started = [] started = []
def start_element(name, _): def start_element(name, _):
Index: Python-3.14.0/Lib/test/test_sax.py Index: Python-3.15.0a1/Lib/test/test_sax.py
=================================================================== ===================================================================
--- Python-3.14.0.orig/Lib/test/test_sax.py 2025-10-08 11:27:30.053760879 +0200 --- Python-3.15.0a1.orig/Lib/test/test_sax.py 2025-10-24 23:53:24.425039914 +0200
+++ Python-3.14.0/Lib/test/test_sax.py 2025-10-08 11:28:09.419532320 +0200 +++ Python-3.15.0a1/Lib/test/test_sax.py 2025-10-24 23:53:50.136951370 +0200
@@ -1241,6 +1241,9 @@ @@ -1241,6 +1241,9 @@
self.assertEqual(result.getvalue(), start + b"<doc></doc>") self.assertEqual(result.getvalue(), start + b"<doc></doc>")
@@ -33,10 +33,10 @@ Index: Python-3.14.0/Lib/test/test_sax.py
def test_flush_reparse_deferral_disabled(self): def test_flush_reparse_deferral_disabled(self):
result = BytesIO() result = BytesIO()
xmlgen = XMLGenerator(result) xmlgen = XMLGenerator(result)
Index: Python-3.14.0/Lib/test/test_xml_etree.py Index: Python-3.15.0a1/Lib/test/test_xml_etree.py
=================================================================== ===================================================================
--- Python-3.14.0.orig/Lib/test/test_xml_etree.py 2025-10-08 11:27:30.502943506 +0200 --- Python-3.15.0a1.orig/Lib/test/test_xml_etree.py 2025-10-24 23:53:24.855327755 +0200
+++ Python-3.14.0/Lib/test/test_xml_etree.py 2025-10-08 11:28:09.420206077 +0200 +++ Python-3.15.0a1/Lib/test/test_xml_etree.py 2025-10-24 23:53:50.137646227 +0200
@@ -138,6 +138,11 @@ @@ -138,6 +138,11 @@
return mock.patch.object(cls, "__eq__", autospec=True, wraps=eq) return mock.patch.object(cls, "__eq__", autospec=True, wraps=eq)
@@ -61,7 +61,7 @@ Index: Python-3.14.0/Lib/test/test_xml_etree.py
def test_simple_xml_chunk_5(self): def test_simple_xml_chunk_5(self):
self.test_simple_xml(chunk_size=5, flush=True) self.test_simple_xml(chunk_size=5, flush=True)
@@ -1774,6 +1781,9 @@ @@ -1776,6 +1783,9 @@
self.assert_event_tags(parser, [('end', 'doc')]) self.assert_event_tags(parser, [('end', 'doc')])

View File

@@ -28,10 +28,10 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
Lib/test/test_sysconfig.py | 17 +++++++++++++-- Lib/test/test_sysconfig.py | 17 +++++++++++++--
2 files changed, 63 insertions(+), 3 deletions(-) 2 files changed, 63 insertions(+), 3 deletions(-)
Index: Python-3.14.0/Lib/sysconfig/__init__.py Index: Python-3.15.0a1/Lib/sysconfig/__init__.py
=================================================================== ===================================================================
--- Python-3.14.0.orig/Lib/sysconfig/__init__.py 2025-10-08 11:27:28.335887277 +0200 --- Python-3.15.0a1.orig/Lib/sysconfig/__init__.py 2025-10-24 23:53:22.709921139 +0200
+++ Python-3.14.0/Lib/sysconfig/__init__.py 2025-10-08 11:28:00.652215416 +0200 +++ Python-3.15.0a1/Lib/sysconfig/__init__.py 2025-10-24 23:53:34.981019958 +0200
@@ -106,6 +106,11 @@ @@ -106,6 +106,11 @@
else: else:
_INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv'] _INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
@@ -64,7 +64,16 @@ Index: Python-3.14.0/Lib/sysconfig/__init__.py
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', _SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
'scripts', 'data') 'scripts', 'data')
@@ -259,11 +277,40 @@ def _extend_dict(target_dict, other_dict _PY_VERSION = sys.version.split()[0]
_PY_VERSION_SHORT = f'{sys.version_info[0]}.{sys.version_info[1]}'
_PY_VERSION_SHORT_NO_DOT = f'{sys.version_info[0]}{sys.version_info[1]}'
+_PREFIX = os.path.normpath(sys.prefix)
_BASE_PREFIX = os.path.normpath(sys.base_prefix)
+_EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
_BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
# Mutex guarding initialization of _CONFIG_VARS.
_CONFIG_VARS_LOCK = threading.RLock()
@@ -257,11 +277,40 @@
target_dict[key] = value target_dict[key] = value
@@ -106,11 +115,11 @@ Index: Python-3.14.0/Lib/sysconfig/__init__.py
if os.name == 'nt': if os.name == 'nt':
# On Windows we want to substitute 'lib' for schemes rather # On Windows we want to substitute 'lib' for schemes rather
# than the native value (without modifying vars, in case it # than the native value (without modifying vars, in case it
Index: Python-3.14.0/Lib/test/test_sysconfig.py Index: Python-3.15.0a1/Lib/test/test_sysconfig.py
=================================================================== ===================================================================
--- Python-3.14.0.orig/Lib/test/test_sysconfig.py 2025-10-08 11:27:30.181651013 +0200 --- Python-3.15.0a1.orig/Lib/test/test_sysconfig.py 2025-10-24 23:53:24.545975205 +0200
+++ Python-3.14.0/Lib/test/test_sysconfig.py 2025-10-08 11:28:00.653226898 +0200 +++ Python-3.15.0a1/Lib/test/test_sysconfig.py 2025-10-24 23:53:34.981457517 +0200
@@ -132,8 +132,19 @@ @@ -131,8 +131,19 @@
for scheme in _INSTALL_SCHEMES: for scheme in _INSTALL_SCHEMES:
for name in _INSTALL_SCHEMES[scheme]: for name in _INSTALL_SCHEMES[scheme]:
expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars) expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars)
@@ -131,7 +140,7 @@ Index: Python-3.14.0/Lib/test/test_sysconfig.py
os.path.normpath(expected), os.path.normpath(expected),
) )
@@ -395,7 +406,7 @@ @@ -394,7 +405,7 @@
self.assertTrue(os.path.isfile(config_h), config_h) self.assertTrue(os.path.isfile(config_h), config_h)
def test_get_scheme_names(self): def test_get_scheme_names(self):
@@ -140,7 +149,7 @@ Index: Python-3.14.0/Lib/test/test_sysconfig.py
if HAS_USER_BASE: if HAS_USER_BASE:
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user']) wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
self.assertEqual(get_scheme_names(), tuple(sorted(wanted))) self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
@@ -407,6 +418,8 @@ @@ -406,6 +417,8 @@
cmd = "-c", "import sysconfig; print(sysconfig.get_platform())" cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
self.assertEqual(py.call_real(*cmd), py.call_link(*cmd)) self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))

BIN
Python-3.14.0.tar.xz (Stored with Git LFS)

Binary file not shown.

File diff suppressed because one or more lines are too long

BIN
Python-3.15.0a1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
python314-base python315-base
python314 python315
libpython3_14-1_0 libpython3_15-1_0

View File

@@ -13,10 +13,10 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
5 files changed, 37 insertions(+), 9 deletions(-) 5 files changed, 37 insertions(+), 9 deletions(-)
create mode 100644 Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst create mode 100644 Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
Index: Python-3.14.0rc1/Doc/library/ensurepip.rst Index: Python-3.15.0a1/Doc/library/ensurepip.rst
=================================================================== ===================================================================
--- Python-3.14.0rc1.orig/Doc/library/ensurepip.rst 2025-07-22 18:42:44.000000000 +0200 --- Python-3.15.0a1.orig/Doc/library/ensurepip.rst 2025-10-14 12:46:08.000000000 +0200
+++ Python-3.14.0rc1/Doc/library/ensurepip.rst 2025-07-23 10:10:31.690342385 +0200 +++ Python-3.15.0a1/Doc/library/ensurepip.rst 2025-10-24 23:53:43.587408643 +0200
@@ -61,7 +61,11 @@ @@ -61,7 +61,11 @@
By default, ``pip`` is installed into the current virtual environment By default, ``pip`` is installed into the current virtual environment
(if one is active) or into the system site packages (if there is no (if one is active) or into the system site packages (if there is no
@@ -57,10 +57,10 @@ Index: Python-3.14.0rc1/Doc/library/ensurepip.rst
.. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap .. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap
.. note:: .. note::
Index: Python-3.14.0rc1/Lib/ensurepip/__init__.py Index: Python-3.15.0a1/Lib/ensurepip/__init__.py
=================================================================== ===================================================================
--- Python-3.14.0rc1.orig/Lib/ensurepip/__init__.py 2025-07-23 10:10:18.541751619 +0200 --- Python-3.15.0a1.orig/Lib/ensurepip/__init__.py 2025-10-24 23:53:22.118065622 +0200
+++ Python-3.14.0rc1/Lib/ensurepip/__init__.py 2025-07-23 10:10:31.690818287 +0200 +++ Python-3.15.0a1/Lib/ensurepip/__init__.py 2025-10-24 23:53:43.587899003 +0200
@@ -106,27 +106,27 @@ @@ -106,27 +106,27 @@
os.environ['PIP_CONFIG_FILE'] = os.devnull os.environ['PIP_CONFIG_FILE'] = os.devnull
@@ -94,7 +94,7 @@ Index: Python-3.14.0rc1/Lib/ensurepip/__init__.py
Note that calling this function will alter both sys.path and os.environ. Note that calling this function will alter both sys.path and os.environ.
""" """
@@ -162,6 +162,8 @@ @@ -171,6 +171,8 @@
args = ["install", "--no-cache-dir", "--no-index", "--find-links", tmpdir] args = ["install", "--no-cache-dir", "--no-index", "--find-links", tmpdir]
if root: if root:
args += ["--root", root] args += ["--root", root]
@@ -103,7 +103,7 @@ Index: Python-3.14.0rc1/Lib/ensurepip/__init__.py
if upgrade: if upgrade:
args += ["--upgrade"] args += ["--upgrade"]
if user: if user:
@@ -238,6 +240,11 @@ @@ -247,6 +249,11 @@
help="Install everything relative to this alternate root directory.", help="Install everything relative to this alternate root directory.",
) )
parser.add_argument( parser.add_argument(
@@ -115,7 +115,7 @@ Index: Python-3.14.0rc1/Lib/ensurepip/__init__.py
"--altinstall", "--altinstall",
action="store_true", action="store_true",
default=False, default=False,
@@ -256,6 +263,7 @@ @@ -265,6 +272,7 @@
return _bootstrap( return _bootstrap(
root=args.root, root=args.root,
@@ -123,11 +123,11 @@ Index: Python-3.14.0rc1/Lib/ensurepip/__init__.py
upgrade=args.upgrade, upgrade=args.upgrade,
user=args.user, user=args.user,
verbosity=args.verbosity, verbosity=args.verbosity,
Index: Python-3.14.0rc1/Lib/test/test_ensurepip.py Index: Python-3.15.0a1/Lib/test/test_ensurepip.py
=================================================================== ===================================================================
--- Python-3.14.0rc1.orig/Lib/test/test_ensurepip.py 2025-07-23 10:10:19.969641992 +0200 --- Python-3.15.0a1.orig/Lib/test/test_ensurepip.py 2025-10-24 23:53:23.546712597 +0200
+++ Python-3.14.0rc1/Lib/test/test_ensurepip.py 2025-07-23 10:10:31.691217643 +0200 +++ Python-3.15.0a1/Lib/test/test_ensurepip.py 2025-10-24 23:53:43.588286136 +0200
@@ -100,6 +100,17 @@ @@ -105,6 +105,17 @@
unittest.mock.ANY, unittest.mock.ANY,
) )
@@ -145,11 +145,11 @@ Index: Python-3.14.0rc1/Lib/test/test_ensurepip.py
def test_bootstrapping_with_user(self): def test_bootstrapping_with_user(self):
ensurepip.bootstrap(user=True) ensurepip.bootstrap(user=True)
Index: Python-3.14.0rc1/Makefile.pre.in Index: Python-3.15.0a1/Makefile.pre.in
=================================================================== ===================================================================
--- Python-3.14.0rc1.orig/Makefile.pre.in 2025-07-23 10:10:27.325708066 +0200 --- Python-3.15.0a1.orig/Makefile.pre.in 2025-10-24 23:53:39.419910772 +0200
+++ Python-3.14.0rc1/Makefile.pre.in 2025-07-23 10:10:31.691716104 +0200 +++ Python-3.15.0a1/Makefile.pre.in 2025-10-24 23:53:43.588889640 +0200
@@ -2371,7 +2371,7 @@ @@ -2378,7 +2378,7 @@
install|*) ensurepip="" ;; \ install|*) ensurepip="" ;; \
esac; \ esac; \
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
@@ -158,7 +158,7 @@ Index: Python-3.14.0rc1/Makefile.pre.in
fi fi
.PHONY: altinstall .PHONY: altinstall
@@ -2382,7 +2382,7 @@ @@ -2389,7 +2389,7 @@
install|*) ensurepip="--altinstall" ;; \ install|*) ensurepip="--altinstall" ;; \
esac; \ esac; \
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
@@ -167,9 +167,9 @@ Index: Python-3.14.0rc1/Makefile.pre.in
fi fi
.PHONY: commoninstall .PHONY: commoninstall
Index: Python-3.14.0rc1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst Index: Python-3.15.0a1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
=================================================================== ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ Python-3.14.0rc1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst 2025-07-23 10:10:31.692253536 +0200 +++ Python-3.15.0a1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst 2025-10-24 23:53:43.589498870 +0200
@@ -0,0 +1 @@ @@ -0,0 +1 @@
+A directory prefix can now be specified when using :mod:`ensurepip`. +A directory prefix can now be specified when using :mod:`ensurepip`.

View File

@@ -2,10 +2,10 @@
Lib/test/test_compile.py | 5 +++++ Lib/test/test_compile.py | 5 +++++
1 file changed, 5 insertions(+) 1 file changed, 5 insertions(+)
Index: Python-3.14.0b3/Lib/test/test_compile.py Index: Python-3.15.0a1/Lib/test/test_compile.py
=================================================================== ===================================================================
--- Python-3.14.0b3.orig/Lib/test/test_compile.py 2025-06-22 00:32:01.975698954 +0200 --- Python-3.15.0a1.orig/Lib/test/test_compile.py 2025-10-24 23:53:23.250923195 +0200
+++ Python-3.14.0b3/Lib/test/test_compile.py 2025-06-22 00:32:07.740981155 +0200 +++ Python-3.15.0a1/Lib/test/test_compile.py 2025-10-24 23:53:52.578315707 +0200
@@ -24,6 +24,9 @@ @@ -24,6 +24,9 @@
from test.support.bytecode_helper import instructions_with_positions from test.support.bytecode_helper import instructions_with_positions
from test.support.os_helper import FakePath from test.support.os_helper import FakePath
@@ -23,8 +23,8 @@ Index: Python-3.14.0b3/Lib/test/test_compile.py
+ @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586") + @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586")
@support.skip_emscripten_stack_overflow() @support.skip_emscripten_stack_overflow()
def test_extended_arg(self): def test_extended_arg(self):
repeat = int(get_c_recursion_limit() * 0.9) repeat = 100
@@ -710,6 +714,7 @@ class TestSpecifics(unittest.TestCase): @@ -724,6 +728,7 @@
@support.cpython_only @support.cpython_only
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI") @unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")

View File

@@ -1,30 +0,0 @@
From 4bb41b28d5bac09bccd636d8c5fefe1a462f63a7 Mon Sep 17 00:00:00 2001
From: Alm <alon.menczer@gmail.com>
Date: Mon, 25 Aug 2025 08:56:38 +0300
Subject: [PATCH 1/4] Exclude .pyc files from the computed digest in the jit
stencils
---
Tools/jit/_targets.py | 3 +++
1 file changed, 3 insertions(+)
Index: Python-3.14.0rc2/Tools/jit/_targets.py
===================================================================
--- Python-3.14.0rc2.orig/Tools/jit/_targets.py
+++ Python-3.14.0rc2/Tools/jit/_targets.py
@@ -69,6 +69,9 @@ class _Target(typing.Generic[_S, _R]):
hasher.update(PYTHON_EXECUTOR_CASES_C_H.read_bytes())
hasher.update((self.pyconfig_dir / "pyconfig.h").read_bytes())
for dirpath, _, filenames in sorted(os.walk(TOOLS_JIT)):
+ # Exclude cache files from digest computation to ensure reproducible builds.
+ if dirpath.endswith("__pycache__"):
+ continue
for filename in filenames:
hasher.update(pathlib.Path(dirpath, filename).read_bytes())
return hasher.hexdigest()
Index: Python-3.14.0rc2/Misc/NEWS.d/next/Build/2025-08-27-09-52-45.gh-issue-138061.fMVS9w.rst
===================================================================
--- /dev/null
+++ Python-3.14.0rc2/Misc/NEWS.d/next/Build/2025-08-27-09-52-45.gh-issue-138061.fMVS9w.rst
@@ -0,0 +1 @@
+Ensure reproducible builds by making JIT stencil header generation deterministic.

View File

@@ -7,12 +7,12 @@ Subject: [PATCH 1/2] gh-139257: Support docutils >= 0.22
Doc/tools/extensions/pyspecific.py | 12 +++++++++++- Doc/tools/extensions/pyspecific.py | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-) 1 file changed, 11 insertions(+), 1 deletion(-)
Index: Python-3.14.0rc3/Doc/tools/extensions/pyspecific.py Index: Python-3.15.0a1/Doc/tools/extensions/pyspecific.py
=================================================================== ===================================================================
--- Python-3.14.0rc3.orig/Doc/tools/extensions/pyspecific.py 2025-09-18 10:45:38.000000000 +0200 --- Python-3.15.0a1.orig/Doc/tools/extensions/pyspecific.py 2025-10-14 12:46:08.000000000 +0200
+++ Python-3.14.0rc3/Doc/tools/extensions/pyspecific.py 2025-09-30 18:13:24.014518239 +0200 +++ Python-3.15.0a1/Doc/tools/extensions/pyspecific.py 2025-10-24 23:55:02.700550007 +0200
@@ -25,11 +25,21 @@ @@ -25,11 +25,21 @@
SOURCE_URI = 'https://github.com/python/cpython/tree/3.14/%s' SOURCE_URI = 'https://github.com/python/cpython/tree/main/%s'
# monkey-patch reST parser to disable alphabetic and roman enumerated lists # monkey-patch reST parser to disable alphabetic and roman enumerated lists
+def _disable_alphabetic_and_roman(text): +def _disable_alphabetic_and_roman(text):

View File

@@ -2,11 +2,11 @@
Makefile.pre.in | 5 +++++ Makefile.pre.in | 5 +++++
1 file changed, 5 insertions(+) 1 file changed, 5 insertions(+)
Index: Python-3.14.0rc1/Makefile.pre.in Index: Python-3.15.0a1/Makefile.pre.in
=================================================================== ===================================================================
--- Python-3.14.0rc1.orig/Makefile.pre.in 2025-07-22 18:42:44.000000000 +0200 --- Python-3.15.0a1.orig/Makefile.pre.in 2025-10-14 12:46:08.000000000 +0200
+++ Python-3.14.0rc1/Makefile.pre.in 2025-07-23 10:10:27.325708066 +0200 +++ Python-3.15.0a1/Makefile.pre.in 2025-10-24 23:53:39.419910772 +0200
@@ -1910,6 +1910,11 @@ @@ -1917,6 +1917,11 @@
-DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \ -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
-o $@ $(srcdir)/Modules/getbuildinfo.c -o $@ $(srcdir)/Modules/getbuildinfo.c

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
# #
# spec file for package python314 # spec file for package python315
# #
# Copyright (c) 2025 SUSE LLC and contributors # Copyright (c) 2025 SUSE LLC and contributors
# #
@@ -86,10 +86,10 @@
%bcond_with externally_managed %bcond_with externally_managed
%endif %endif
%define python_pkg_name python314 %define python_pkg_name python315
%if %{without GIL} %if %{without GIL}
%define python_pkg_name python314-nogil %define python_pkg_name python315-nogil
%define base_pkg_name python314 %define base_pkg_name python315
%endif %endif
%if "%{python_pkg_name}" == "%{primary_python}" %if "%{python_pkg_name}" == "%{primary_python}"
@@ -116,7 +116,7 @@
# based on the current source tarball # based on the current source tarball
%define python_version_abitag %(c=%{python_version}; echo ${c//./}) %define python_version_abitag %(c=%{python_version}; echo ${c//./})
# FIXME %%define python_version_soname %%(c=%%{python_version}; echo ${c//./_}) # FIXME %%define python_version_soname %%(c=%%{python_version}; echo ${c//./_})
%define python_version_soname 3_14 %define python_version_soname 3_15
# %%if 0%%(test -n "%%{tar_suffix}" && echo 1) # %%if 0%%(test -n "%%{tar_suffix}" && echo 1)
# %%define _version %%(echo "%%{_version}~%%{tar_suffix}") # %%define _version %%(echo "%%{_version}~%%{tar_suffix}")
# %%define tarversion %%{version} # %%define tarversion %%{version}
@@ -124,9 +124,9 @@
# %%define tarversion %%{version} # %%define tarversion %%{version}
# %%endif # %%endif
# We don't process beta signs well # We don't process beta signs well
%define folderversion 3.14.0 %define folderversion 3.15.0
%define sitedir %{_libdir}/python%{python_version} %define sitedir %{_libdir}/python%{python_version}
# three possible ABI kinds: m - pymalloc, d - debug build; see PEP 3149 # three possible ABI kinds: m - pymalloc, d - debug build; see PEP 3159
%define abi_kind %{nil} %define abi_kind %{nil}
%if %{without GIL} %if %{without GIL}
%define abi_kind t %define abi_kind t
@@ -134,7 +134,7 @@
%endif %endif
# python ABI version - used in some file names # python ABI version - used in some file names
%define python_abi %{python_version}%{abi_kind} %define python_abi %{python_version}%{abi_kind}
# soname ABI tag defined in PEP 3149 # soname ABI tag defined in PEP 3159
%define abi_tag %{python_version_abitag}%{abi_kind} %define abi_tag %{python_version_abitag}%{abi_kind}
# version part of "libpython" package # version part of "libpython" package
%define so_major 1 %define so_major 1
@@ -162,8 +162,8 @@
# _md5.cpython-38m-x86_64-linux-gnu.so # _md5.cpython-38m-x86_64-linux-gnu.so
%define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so
Name: %{python_pkg_name}%{psuffix} Name: %{python_pkg_name}%{psuffix}
Version: 3.14.0 Version: 3.15.0~a1
%define tarversion %{version} %define tarversion 3.15.0a1
%define tarname Python-%{tarversion} %define tarname Python-%{tarversion}
Release: 0 Release: 0
Summary: Python 3 Interpreter Summary: Python 3 Interpreter
@@ -187,7 +187,7 @@ Source20: idle3.appdata.xml
# 3. mkdir Vendor && mv usr/include/* Vendor/ # 3. mkdir Vendor && mv usr/include/* Vendor/
# 4. tar cJf bluez-devel-vendor.tar.xz Vendor/ # 4. tar cJf bluez-devel-vendor.tar.xz Vendor/
Source21: bluez-devel-vendor.tar.xz Source21: bluez-devel-vendor.tar.xz
Source98: python314-rpmlintrc Source98: python315-rpmlintrc
# The following files are not used in the build. # The following files are not used in the build.
# They are listed here to work around missing functionality in rpmbuild, # They are listed here to work around missing functionality in rpmbuild,
# which would otherwise exclude them from distributed src.rpm files. # which would otherwise exclude them from distributed src.rpm files.
@@ -222,11 +222,9 @@ Patch40: fix-test-recursion-limit-15.6.patch
# PATCH-FIX-UPSTREAM bsc1243155-sphinx-non-determinism.patch bsc#1243155 mcepl@suse.com # PATCH-FIX-UPSTREAM bsc1243155-sphinx-non-determinism.patch bsc#1243155 mcepl@suse.com
# Doc: Generate ids for audit_events using docname # Doc: Generate ids for audit_events using docname
Patch41: bsc1243155-sphinx-non-determinism.patch Patch41: bsc1243155-sphinx-non-determinism.patch
# PATCH-FIX-UPSTREAM gh138131-exclude-pycache-from-digest.patch bsc#1244680 daniel.garcia@suse.com
Patch44: gh138131-exclude-pycache-from-digest.patch
# PATCH-FIX-OPENSUSE gh139257-Support-docutils-0.22.patch gh#python/cpython#139257 daniel.garcia@suse.com # PATCH-FIX-OPENSUSE gh139257-Support-docutils-0.22.patch gh#python/cpython#139257 daniel.garcia@suse.com
Patch45: gh139257-Support-docutils-0.22.patch Patch42: gh139257-Support-docutils-0.22.patch
#### Python 3.14 DEVELOPMENT PATCHES #### Python 3.15 DEVELOPMENT PATCHES
BuildRequires: autoconf-archive BuildRequires: autoconf-archive
BuildRequires: automake BuildRequires: automake
BuildRequires: fdupes BuildRequires: fdupes
@@ -666,7 +664,7 @@ EXCLUDE="$EXCLUDE test_uuid"
# bsc#1195140 and bpo#37169 - test_capi is failing on openSUSE, and not sure why # bsc#1195140 and bpo#37169 - test_capi is failing on openSUSE, and not sure why
EXCLUDE="$EXCLUDE test_capi" EXCLUDE="$EXCLUDE test_capi"
# Failing tests on python 3.14 # Failing tests on python 3.15
EXCLUDE="$EXCLUDE test_regrtest test_sysconfig" EXCLUDE="$EXCLUDE test_regrtest test_sysconfig"
# Limit virtual memory to avoid spurious failures # Limit virtual memory to avoid spurious failures
@@ -762,7 +760,7 @@ install -d -m 755 %{buildroot}%{_sysconfdir}/idle%{python_abi}
# keep just idle3.X # keep just idle3.X
rm %{buildroot}%{_bindir}/idle3 rm %{buildroot}%{_bindir}/idle3
# mve idle binary to idle3.14t to avoid conflict # mve idle binary to idle3.15t to avoid conflict
%if %{without GIL} %if %{without GIL}
mv %{buildroot}%{_bindir}/idle%{python_version} %{buildroot}%{_bindir}/idle%{python_abi} mv %{buildroot}%{_bindir}/idle%{python_version} %{buildroot}%{_bindir}/idle%{python_abi}
%endif %endif