forked from pool/python314
- Update to the second development version of 3.14.0a2.
- Tools/Demos
- gh-126807: Fix extraction warnings in pygettext.py caused
by mistaking function definitions for function calls.
- gh-126167: The iOS testbed was modified so that it can be
used by third-party projects for testing purposes.
- Tests
- gh-126909: Fix test_os extended attribute tests to work on
filesystems with 1 KiB xattr size limit.
- gh-125730: Change make test to not run GUI tests by
default. Use make ci to run tests with GUI tests instead.
- gh-124295: Add translation tests to the argparse module.
- Security
- gh-126623: Upgrade libexpat to 2.6.4
- Library
- gh-85957: Add missing MIME types for images with RFCs: emf,
fits, g3fax, jp2, jpm, jpx, t38, tiff-fx and wmf. Patch by
Hugo van Kemenade.
- gh-126920: Fix the prefix and exec_prefix keys from
sysconfig.get_config_vars() incorrectly having the same
value as sys.base_prefix and sys.base_exec_prefix,
respectively, inside virtual environments. They now
accurately reflect sys.prefix and sys.exec_prefix.
- gh-67877: Fix memory leaks when regular expression matching
terminates abruptly, either because of a signal or because
memory allocation fails.
- gh-125063: marshal now supports slice objects. The marshal
format version was increased to 5.
- gh-126789: Fixed the values of sysconfig.get_config_vars(),
sysconfig.get_paths(), and their siblings when the site
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=23
This commit is contained in:
@@ -24,15 +24,13 @@ Co-authored-by: Miro Hrončok <miro@hroncok.cz>
|
||||
Co-authored-by: Michal Cyprian <m.cyprian@gmail.com>
|
||||
Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
|
||||
---
|
||||
Lib/sysconfig/__init__.py | 51 ++++++++++++++++++++++++++++++++++++++++++++-
|
||||
Lib/sysconfig/__init__.py | 49 ++++++++++++++++++++++++++++++++++++++++++++-
|
||||
Lib/test/test_sysconfig.py | 17 +++++++++++++--
|
||||
2 files changed, 65 insertions(+), 3 deletions(-)
|
||||
2 files changed, 63 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: Python-3.14.0/Lib/sysconfig/__init__.py
|
||||
===================================================================
|
||||
--- Python-3.14.0.orig/Lib/sysconfig/__init__.py 2025-10-08 11:27:28.335887277 +0200
|
||||
+++ Python-3.14.0/Lib/sysconfig/__init__.py 2025-10-08 11:28:00.652215416 +0200
|
||||
@@ -106,6 +106,11 @@
|
||||
--- a/Lib/sysconfig/__init__.py
|
||||
+++ b/Lib/sysconfig/__init__.py
|
||||
@@ -106,6 +106,11 @@ if os.name == 'nt':
|
||||
else:
|
||||
_INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
|
||||
|
||||
@@ -64,16 +62,7 @@ Index: Python-3.14.0/Lib/sysconfig/__init__.py
|
||||
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
|
||||
'scripts', 'data')
|
||||
|
||||
_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()
|
||||
@@ -268,11 +288,40 @@
|
||||
@@ -259,11 +277,40 @@ def _extend_dict(target_dict, other_dict
|
||||
target_dict[key] = value
|
||||
|
||||
|
||||
@@ -115,11 +104,9 @@ Index: Python-3.14.0/Lib/sysconfig/__init__.py
|
||||
if os.name == 'nt':
|
||||
# On Windows we want to substitute 'lib' for schemes rather
|
||||
# than the native value (without modifying vars, in case it
|
||||
Index: Python-3.14.0/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.14.0/Lib/test/test_sysconfig.py 2025-10-08 11:28:00.653226898 +0200
|
||||
@@ -132,8 +132,19 @@
|
||||
--- a/Lib/test/test_sysconfig.py
|
||||
+++ b/Lib/test/test_sysconfig.py
|
||||
@@ -130,8 +130,19 @@ class TestSysConfig(unittest.TestCase):
|
||||
for scheme in _INSTALL_SCHEMES:
|
||||
for name in _INSTALL_SCHEMES[scheme]:
|
||||
expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars)
|
||||
@@ -140,7 +127,7 @@ Index: Python-3.14.0/Lib/test/test_sysconfig.py
|
||||
os.path.normpath(expected),
|
||||
)
|
||||
|
||||
@@ -395,7 +406,7 @@
|
||||
@@ -386,7 +397,7 @@ class TestSysConfig(unittest.TestCase):
|
||||
self.assertTrue(os.path.isfile(config_h), config_h)
|
||||
|
||||
def test_get_scheme_names(self):
|
||||
@@ -149,7 +136,7 @@ Index: Python-3.14.0/Lib/test/test_sysconfig.py
|
||||
if HAS_USER_BASE:
|
||||
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
|
||||
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
|
||||
@@ -407,6 +418,8 @@
|
||||
@@ -398,6 +409,8 @@ class TestSysConfig(unittest.TestCase):
|
||||
cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
|
||||
self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))
|
||||
|
||||
|
||||
BIN
Python-3.14.0a2.tar.xz
(Stored with Git LFS)
Normal file
BIN
Python-3.14.0a2.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
1
Python-3.14.0a2.tar.xz.sigstore
Normal file
1
Python-3.14.0a2.tar.xz.sigstore
Normal file
File diff suppressed because one or more lines are too long
@@ -145,11 +145,9 @@ Index: Python-3.14.0rc1/Lib/test/test_ensurepip.py
|
||||
def test_bootstrapping_with_user(self):
|
||||
ensurepip.bootstrap(user=True)
|
||||
|
||||
Index: Python-3.14.0rc1/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.14.0rc1.orig/Makefile.pre.in 2025-07-23 10:10:27.325708066 +0200
|
||||
+++ Python-3.14.0rc1/Makefile.pre.in 2025-07-23 10:10:31.691716104 +0200
|
||||
@@ -2371,7 +2371,7 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -2228,7 +2228,7 @@ install: @FRAMEWORKINSTALLFIRST@ @INSTAL
|
||||
install|*) ensurepip="" ;; \
|
||||
esac; \
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
|
||||
@@ -158,7 +156,7 @@ Index: Python-3.14.0rc1/Makefile.pre.in
|
||||
fi
|
||||
|
||||
.PHONY: altinstall
|
||||
@@ -2382,7 +2382,7 @@
|
||||
@@ -2239,7 +2239,7 @@ altinstall: commoninstall
|
||||
install|*) ensurepip="--altinstall" ;; \
|
||||
esac; \
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
Lib/test/test_compile.py | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
Index: Python-3.14.0b3/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.14.0b3/Lib/test/test_compile.py 2025-06-22 00:32:07.740981155 +0200
|
||||
@@ -24,6 +24,9 @@
|
||||
--- a/Lib/test/test_compile.py
|
||||
+++ b/Lib/test/test_compile.py
|
||||
@@ -25,6 +25,9 @@ from test.support import (script_helper,
|
||||
from test.support.bytecode_helper import instructions_with_positions
|
||||
from test.support.os_helper import FakePath
|
||||
|
||||
@@ -16,15 +14,16 @@ Index: Python-3.14.0b3/Lib/test/test_compile.py
|
||||
class TestSpecifics(unittest.TestCase):
|
||||
|
||||
def compile_single(self, source):
|
||||
@@ -120,6 +123,7 @@
|
||||
@@ -121,6 +124,7 @@ class TestSpecifics(unittest.TestCase):
|
||||
self.assertEqual(d['z'], 12)
|
||||
|
||||
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
|
||||
+ @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586")
|
||||
@support.skip_emscripten_stack_overflow()
|
||||
def test_extended_arg(self):
|
||||
repeat = 100
|
||||
@@ -709,6 +713,7 @@
|
||||
repeat = int(get_c_recursion_limit() * 0.9)
|
||||
longexpr = 'x = x or ' + '-x' * repeat
|
||||
@@ -709,6 +713,7 @@ class TestSpecifics(unittest.TestCase):
|
||||
|
||||
@support.cpython_only
|
||||
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
|
||||
|
||||
@@ -2,11 +2,16 @@
|
||||
Makefile.pre.in | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
Index: Python-3.14.0rc1/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.14.0rc1.orig/Makefile.pre.in 2025-07-22 18:42:44.000000000 +0200
|
||||
+++ Python-3.14.0rc1/Makefile.pre.in 2025-07-23 10:10:27.325708066 +0200
|
||||
@@ -1910,6 +1910,11 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1743,11 +1743,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
|
||||
$(DTRACE_OBJS) \
|
||||
$(srcdir)/Modules/getbuildinfo.c
|
||||
$(CC) -c $(PY_CORE_CFLAGS) \
|
||||
+ -DDATE="\"`date -u -r Makefile.pre.in +"%b %d %Y"`\"" \
|
||||
+ -DTIME="\"`date -u -r Makefile.pre.in +"%T"`\"" \
|
||||
-DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \
|
||||
-DGITTAG="\"`LC_ALL=C $(GITTAG)`\"" \
|
||||
-DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
|
||||
-o $@ $(srcdir)/Modules/getbuildinfo.c
|
||||
|
||||
|
||||
15
python-3.3.0b1-test-posix_fadvise.patch
Normal file
15
python-3.3.0b1-test-posix_fadvise.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
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
|
||||
@@ -437,7 +437,7 @@ class PosixTester(unittest.TestCase):
|
||||
def test_posix_fadvise(self):
|
||||
fd = os.open(os_helper.TESTFN, os.O_RDONLY)
|
||||
try:
|
||||
- posix.posix_fadvise(fd, 0, 0, posix.POSIX_FADV_WILLNEED)
|
||||
+ posix.posix_fadvise(fd, 0, 0, posix.POSIX_FADV_RANDOM)
|
||||
finally:
|
||||
os.close(fd)
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
# _md5.cpython-38m-x86_64-linux-gnu.so
|
||||
%define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so
|
||||
Name: %{python_pkg_name}%{psuffix}
|
||||
Version: 3.14.0
|
||||
Version: 3.14.0~a2
|
||||
%define tarversion %{version}
|
||||
%define tarname Python-%{tarversion}
|
||||
Release: 0
|
||||
|
||||
@@ -2,20 +2,17 @@
|
||||
Lib/test/test_subprocess.py | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: Python-3.14.0b1/Lib/test/test_subprocess.py
|
||||
===================================================================
|
||||
--- Python-3.14.0b1.orig/Lib/test/test_subprocess.py 2025-05-09 10:36:08.150615546 +0200
|
||||
+++ Python-3.14.0b1/Lib/test/test_subprocess.py 2025-05-09 10:36:21.907614565 +0200
|
||||
@@ -160,7 +160,11 @@
|
||||
# child.
|
||||
self.assertRaises(subprocess.TimeoutExpired, subprocess.call,
|
||||
[sys.executable, "-c", "while True: pass"],
|
||||
- timeout=0.1)
|
||||
+ # Some heavily loaded buildbots (sparc Debian 3.x) require
|
||||
+ # this much time to start and print.
|
||||
+ # timeout=3)
|
||||
+ # OBS might require even more
|
||||
+ timeout=10)
|
||||
--- a/Lib/test/test_subprocess.py
|
||||
+++ b/Lib/test/test_subprocess.py
|
||||
@@ -281,7 +281,8 @@ class ProcessTestCase(BaseTestCase):
|
||||
"time.sleep(3600)"],
|
||||
# Some heavily loaded buildbots (sparc Debian 3.x) require
|
||||
# this much time to start and print.
|
||||
- timeout=3)
|
||||
+ # OBS might require even more
|
||||
+ timeout=10)
|
||||
self.fail("Expected TimeoutExpired.")
|
||||
self.assertEqual(c.exception.output, b'BDFL')
|
||||
|
||||
def test_timeout_exception(self):
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user