Rebased to 3.8.2rc1
Patches 339 and 341 were backports, now included. No other patches changes required.
This commit is contained in:
parent
e90b6d950b
commit
e2dce1ef0e
|
@ -1,4 +1,4 @@
|
|||
From 616ba760b78cb3c002d1f7e2a0dfc2902ca9dbb4 Mon Sep 17 00:00:00 2001
|
||||
From f53238e957d070d1cb75110884c93230f9e977df Mon Sep 17 00:00:00 2001
|
||||
From: David Malcolm <dmalcolm@redhat.com>
|
||||
Date: Wed, 13 Jan 2010 21:25:18 +0000
|
||||
Subject: [PATCH] 00001: Fixup distutils/unixccompiler.py to remove standard
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 16ee9d86a77c8bbca3d41c9926130d37686d3bf3 Mon Sep 17 00:00:00 2001
|
||||
From cf9c14a566bbcda2b2a933e6c1407d773e46d115 Mon Sep 17 00:00:00 2001
|
||||
From: David Malcolm <dmalcolm@redhat.com>
|
||||
Date: Wed, 13 Jan 2010 21:25:18 +0000
|
||||
Subject: [PATCH] 00102: Change the various install paths to use /usr/lib64/
|
||||
|
@ -154,7 +154,7 @@ index 41c4229919..543c88432a 100644
|
|||
'site-packages')
|
||||
self.assertEqual(dirs[0], wanted)
|
||||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
||||
index 502317aa0c..4ad3df1122 100644
|
||||
index a914a9c70f..406a441082 100644
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -143,7 +143,7 @@ LIBDIR= @libdir@
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2559cbe8f0431ba20de8a1c9921013e5e3820967 Mon Sep 17 00:00:00 2001
|
||||
From a90df7804cbe882087a246a459e861982a24530e Mon Sep 17 00:00:00 2001
|
||||
From: David Malcolm <dmalcolm@redhat.com>
|
||||
Date: Mon, 18 Jan 2010 17:59:07 +0000
|
||||
Subject: [PATCH] 00111: Don't try to build a libpythonMAJOR.MINOR.a
|
||||
|
@ -21,7 +21,7 @@ Co-authored-by: Miro Hrončok <miro@hroncok.cz>
|
|||
1 file changed, 2 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
||||
index 4ad3df1122..72d202d71b 100644
|
||||
index 406a441082..917303dd92 100644
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -562,7 +562,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 710cd909297d8e0291d37a4753b8e5a7965dc59f Mon Sep 17 00:00:00 2001
|
||||
From bcf7c86bc0c76460a517f51758d6d9168bfbfe3c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Wed, 15 Aug 2018 15:36:29 +0200
|
||||
Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 4201bb6bf1f6579d7aa14c05876a412e158a2bb5 Mon Sep 17 00:00:00 2001
|
||||
From 1c47206da399fd39324b1ff85d74b737c85a4773 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Cyprian <m.cyprian@gmail.com>
|
||||
Date: Mon, 26 Jun 2017 16:32:56 +0200
|
||||
Subject: [PATCH] 00251: Change user install location
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 6fa351057216fe2ce43ea6f509f40a63050a0684 Mon Sep 17 00:00:00 2001
|
||||
From 54e845bf03ce7103bc4e47de1ef4bc0a5af00193 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Viktorin <pviktori@redhat.com>
|
||||
Date: Mon, 28 Aug 2017 17:16:46 +0200
|
||||
Subject: [PATCH] 00274: Upstream uses Debian-style architecture naming, change
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 95f28a4e0417c5749ac228b1d443ec49ccc72e5b Mon Sep 17 00:00:00 2001
|
||||
From f8b528426c6f44dfe8df4240c7df2dee8a03fcd9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Thu, 11 Jul 2019 13:44:13 +0200
|
||||
Subject: [PATCH] 00328: Restore pyc to TIMESTAMP invalidation mode as default
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
From 812479ed6c2c7854f5fafb2366d005845bfff67a Mon Sep 17 00:00:00 2001
|
||||
From: "Miss Islington (bot)"
|
||||
<31488909+miss-islington@users.noreply.github.com>
|
||||
Date: Sun, 12 Jan 2020 03:41:07 -0800
|
||||
Subject: [PATCH] 00339: bpo-16575: Disabled checks for union types being
|
||||
passed by value
|
||||
|
||||
Although the underlying libffi issue remains open, adding these
|
||||
checks have caused problems in third-party projects which are in
|
||||
widespread use. See the issue for examples.
|
||||
|
||||
The corresponding tests have also been skipped.
|
||||
|
||||
(cherry picked from commit c12440c371025bea9c3bfb94945f006c486c2c01)
|
||||
---
|
||||
Lib/ctypes/test/test_structures.py | 3 ++-
|
||||
Modules/_ctypes/_ctypes.c | 18 ++++++++++++++++++
|
||||
2 files changed, 20 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Lib/ctypes/test/test_structures.py b/Lib/ctypes/test/test_structures.py
|
||||
index 19c4430bea..cdbaa7fbd6 100644
|
||||
--- a/Lib/ctypes/test/test_structures.py
|
||||
+++ b/Lib/ctypes/test/test_structures.py
|
||||
@@ -571,6 +571,7 @@ class StructureTestCase(unittest.TestCase):
|
||||
self.assertEqual(f2, [0x4567, 0x0123, 0xcdef, 0x89ab,
|
||||
0x3210, 0x7654, 0xba98, 0xfedc])
|
||||
|
||||
+ @unittest.skipIf(True, 'Test disabled for now - see bpo-16575/bpo-16576')
|
||||
def test_union_by_value(self):
|
||||
# See bpo-16575
|
||||
|
||||
@@ -651,7 +652,7 @@ class StructureTestCase(unittest.TestCase):
|
||||
self.assertEqual(test5.nested.an_int, 0)
|
||||
self.assertEqual(test5.another_int, 0)
|
||||
|
||||
- #@unittest.skipIf('s390' in MACHINE, 'Test causes segfault on S390')
|
||||
+ @unittest.skipIf(True, 'Test disabled for now - see bpo-16575/bpo-16576')
|
||||
def test_bitfield_by_value(self):
|
||||
# See bpo-16576
|
||||
|
||||
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
|
||||
index 347a3656b6..b51fcde364 100644
|
||||
--- a/Modules/_ctypes/_ctypes.c
|
||||
+++ b/Modules/_ctypes/_ctypes.c
|
||||
@@ -2401,6 +2401,23 @@ converters_from_argtypes(PyObject *ob)
|
||||
for (i = 0; i < nArgs; ++i) {
|
||||
PyObject *cnv;
|
||||
PyObject *tp = PyTuple_GET_ITEM(ob, i);
|
||||
+/*
|
||||
+ * The following checks, relating to bpo-16575 and bpo-16576, have been
|
||||
+ * disabled. The reason is that, although there is a definite problem with
|
||||
+ * how libffi handles unions (https://github.com/libffi/libffi/issues/33),
|
||||
+ * there are numerous libraries which pass structures containing unions
|
||||
+ * by values - especially on Windows but examples also exist on Linux
|
||||
+ * (https://bugs.python.org/msg359834).
|
||||
+ *
|
||||
+ * It may not be possible to get proper support for unions and bitfields
|
||||
+ * until support is forthcoming in libffi, but for now, adding the checks
|
||||
+ * has caused problems in otherwise-working software, which suggests it
|
||||
+ * is better to disable the checks.
|
||||
+ *
|
||||
+ * Although specific examples reported relate specifically to unions and
|
||||
+ * not bitfields, the bitfields check is also being disabled as a
|
||||
+ * precaution.
|
||||
+
|
||||
StgDictObject *stgdict = PyType_stgdict(tp);
|
||||
|
||||
if (stgdict != NULL) {
|
||||
@@ -2428,6 +2445,7 @@ converters_from_argtypes(PyObject *ob)
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
+ */
|
||||
|
||||
if (_PyObject_LookupAttrId(tp, &PyId_from_param, &cnv) <= 0) {
|
||||
Py_DECREF(converters);
|
||||
--
|
||||
2.24.1
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
From c6af8adc44bf6b53ac3b875fe1f644c05a990d2a Mon Sep 17 00:00:00 2001
|
||||
From: Victor Stinner <vstinner@python.org>
|
||||
Date: Wed, 29 Jan 2020 15:23:29 +0100
|
||||
Subject: [PATCH] 00341: bpo-39460: Fix test_zipfile.test_add_file_after_2107()
|
||||
|
||||
XFS filesystem is limited to 32-bit timestamp, but the utimensat()
|
||||
syscall doesn't fail. Moreover, there is a VFS bug which returns
|
||||
a cached timestamp which is different than the value on disk.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1795576
|
||||
https://bugs.python.org/issue39460#msg360952
|
||||
---
|
||||
Lib/test/test_zipfile.py | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py
|
||||
index f03c044eae..0737c343cb 100644
|
||||
--- a/Lib/test/test_zipfile.py
|
||||
+++ b/Lib/test/test_zipfile.py
|
||||
@@ -602,6 +602,18 @@ class StoredTestsWithSourceFile(AbstractTestsWithSourceFile,
|
||||
except OverflowError:
|
||||
self.skipTest('Host fs cannot set timestamp to required value.')
|
||||
|
||||
+ mtime_ns = os.stat(TESTFN).st_mtime_ns
|
||||
+ if mtime_ns != (4386268800 * 10**9):
|
||||
+ # XFS filesystem is limited to 32-bit timestamp, but the syscall
|
||||
+ # didn't fail. Moreover, there is a VFS bug which returns
|
||||
+ # a cached timestamp which is different than the value on disk.
|
||||
+ #
|
||||
+ # Test st_mtime_ns rather than st_mtime to avoid rounding issues.
|
||||
+ #
|
||||
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1795576
|
||||
+ # https://bugs.python.org/issue39460#msg360952
|
||||
+ self.skipTest(f"Linux VFS/XFS kernel bug detected: {mtime_ns=}")
|
||||
+
|
||||
with zipfile.ZipFile(TESTFN2, "w") as zipfp:
|
||||
self.assertRaises(struct.error, zipfp.write, TESTFN)
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
29
python3.spec
29
python3.spec
|
@ -13,11 +13,11 @@ URL: https://www.python.org/
|
|||
|
||||
# WARNING When rebasing to a new Python version,
|
||||
# remember to update the python3-docs package as well
|
||||
%global general_version %{pybasever}.1
|
||||
#global prerel ...
|
||||
%global general_version %{pybasever}.2
|
||||
%global prerel rc1
|
||||
%global upstream_version %{general_version}%{?prerel}
|
||||
Version: %{general_version}%{?prerel:~%{prerel}}
|
||||
Release: 2%{?dist}
|
||||
Release: 1%{?dist}
|
||||
License: Python
|
||||
|
||||
|
||||
|
@ -286,24 +286,6 @@ Patch274: 00274-fix-arch-names.patch
|
|||
# Ideally, we should talk to upstream and explain why we don't want this
|
||||
Patch328: 00328-pyc-timestamp-invalidation-mode.patch
|
||||
|
||||
# 00339 #
|
||||
# Disabled checks for union types being passed by value
|
||||
# Although the underlying libffi issue remains open, adding these
|
||||
# checks have caused problems in third-party projects which are in
|
||||
# widespread use. See the issue for examples.
|
||||
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1794572
|
||||
# Fixed upstream: https://bugs.python.org/issue16575
|
||||
Patch339: 00339-bpo-16575.patch
|
||||
|
||||
# 00341 #
|
||||
# Fix test_zipfile.test_add_file_after_2107()
|
||||
# XFS filesystem is limited to 32-bit timestamp, but the utimensat()
|
||||
# syscall doesn't fail. Moreover, there is a VFS bug which returns
|
||||
# a cached timestamp which is different than the value on disk.
|
||||
# Workarounds https://bugzilla.redhat.com/show_bug.cgi?id=1795576
|
||||
# Workarounded upstream: https://bugs.python.org/issue39460
|
||||
Patch341: 00341-bpo-39460.patch
|
||||
|
||||
# (New patches go here ^^^)
|
||||
#
|
||||
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
|
||||
|
@ -651,8 +633,6 @@ rm Lib/ensurepip/_bundled/*.whl
|
|||
%patch251 -p1
|
||||
%patch274 -p1
|
||||
%patch328 -p1
|
||||
%patch339 -p1
|
||||
%patch341 -p1
|
||||
|
||||
|
||||
# Remove files that should be generated by the build
|
||||
|
@ -1605,6 +1585,9 @@ CheckPython optimized
|
|||
# ======================================================
|
||||
|
||||
%changelog
|
||||
* Wed Feb 12 2020 Miro Hrončok <mhroncok@redhat.com> - 3.8.2~rc1-1
|
||||
- Rebased to 3.8.2rc1
|
||||
|
||||
* Thu Jan 30 2020 Miro Hrončok <mhroncok@redhat.com> - 3.8.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
- ctypes: Disable checks for union types being passed by value (#1794572)
|
||||
|
|
4
sources
4
sources
|
@ -1,2 +1,2 @@
|
|||
SHA512 (Python-3.8.1.tar.xz) = d41381848cc1ec8009643b71875f395a9ac2c8e12a5b1efef33caf8a9e99a337c790d4354695c85352d11b62092ae372b5af62f78724363fcbf3504ff9a6ddca
|
||||
SHA512 (Python-3.8.1.tar.xz.asc) = 10472ee0061c38a87e9e28905db4f43d51ddfa67704dbe4835299321a8858ddc4f1a5730433747b207a129f9e8294772f1d27c7f75b8245d98a857da3ea9d565
|
||||
SHA512 (Python-3.8.2rc1.tar.xz) = 69a629b3129317ea5a74dd95845242e76d91910b13d1c15fbdf1a22f4c8f2168de6ec704daffba43ac05ab499f6cad623a3dfdb1853ad56de3ac7a7fc9c7c703
|
||||
SHA512 (Python-3.8.2rc1.tar.xz.asc) = 0448d9bf154f2f66913896d200046e5ee54605992b4991150c1632fbd09a062424318ac9790b9ea098923de1fda0ceb304eada99862a4de020fab1fcae4aa8e2
|
||||
|
|
Loading…
Reference in New Issue