From 1e4e35f9c2a63593c12018a52c793cb0eea8f069 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 30 Jan 2020 16:28:16 +0000 Subject: [PATCH 01/13] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python3.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python3.spec b/python3.spec index 82a4670..9921903 100644 --- a/python3.spec +++ b/python3.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ #global prerel ... %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 1%{?dist} +Release: 2%{?dist} License: Python @@ -1569,6 +1569,9 @@ CheckPython optimized # ====================================================== %changelog +* Thu Jan 30 2020 Fedora Release Engineering - 3.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Dec 19 2019 Miro Hrončok - 3.8.1-1 - Update to Python 3.8.1 From acf2f5823195ea388577a3e3b01db5dcef866fc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 28 Jan 2020 11:06:11 +0100 Subject: [PATCH 02/13] ctypes: Disable checks for union types being passed by value Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1794572 Fixed upstream: https://bugs.python.org/issue16575 --- 00339-bpo-16575.patch | 79 +++++++++++++++++++++++++++++++++++++++++++ python3.spec | 13 ++++++- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 00339-bpo-16575.patch diff --git a/00339-bpo-16575.patch b/00339-bpo-16575.patch new file mode 100644 index 0000000..fd5f794 --- /dev/null +++ b/00339-bpo-16575.patch @@ -0,0 +1,79 @@ +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 + diff --git a/python3.spec b/python3.spec index 9921903..25dbec3 100644 --- a/python3.spec +++ b/python3.spec @@ -278,6 +278,15 @@ 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 + # (New patches go here ^^^) # # When adding new patches to "python" and "python3" in Fedora, EL, etc., @@ -625,6 +634,7 @@ rm Lib/ensurepip/_bundled/*.whl %patch251 -p1 %patch274 -p1 %patch328 -p1 +%patch339 -p1 # Remove files that should be generated by the build @@ -1569,8 +1579,9 @@ CheckPython optimized # ====================================================== %changelog -* Thu Jan 30 2020 Fedora Release Engineering - 3.8.1-2 +* Thu Jan 30 2020 Miro Hrončok - 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) * Thu Dec 19 2019 Miro Hrončok - 3.8.1-1 - Update to Python 3.8.1 From bb05cf63a4eb7c8a0cb94633996fba1b0d597e32 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 27 Jan 2020 18:03:37 +0100 Subject: [PATCH 03/13] Run the test suite with --timeout=1800 --- python3.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python3.spec b/python3.spec index 25dbec3..90f2f7e 100644 --- a/python3.spec +++ b/python3.spec @@ -1059,6 +1059,7 @@ CheckPython() { LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.pythoninfo # Run the upstream test suite + # --timeout=1800: kill test running for longer than 30 minutes # test_gdb skipped on s390x: # https://bugzilla.redhat.com/show_bug.cgi?id=1678277 # test_gdb skipped everywhere: @@ -1067,7 +1068,7 @@ CheckPython() { # distutils.tests.test_bdist_rpm tests fail when bootstraping the Python # package: rpmbuild requires /usr/bin/pythonX.Y to be installed LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ - -wW --slowest -j0 \ + -wW --slowest -j0 --timeout=1800 \ %if %{with bootstrap} -x test_distutils \ %endif From a7179c0ac54937e0a1d57c26ef78b3d35f5be647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 30 Jan 2020 11:22:38 +0100 Subject: [PATCH 04/13] Temporarily don't use -fno-semantic-interposition on power and arm Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1795575 --- python3.spec | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/python3.spec b/python3.spec index 90f2f7e..aab95f0 100644 --- a/python3.spec +++ b/python3.spec @@ -63,6 +63,14 @@ License: Python # Expensive optimizations (mainly, profile-guided optimizations) %bcond_without optimizations +# https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup +# Disabled on ppc64le and armv7hl: https://bugzilla.redhat.com/show_bug.cgi?id=1795575 +%ifarch %{power64} %{arm} +%bcond_with no_semantic_interposition +%else +%bcond_without no_semantic_interposition +%endif + # Run the test suite in %%check %bcond_without tests @@ -677,14 +685,14 @@ topdir=$(pwd) # Fedora packages utilizing %%py3_build will use them as well # https://fedoraproject.org/wiki/Changes/Python_Extension_Flags export CFLAGS="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv" -export CFLAGS_NODIST="%{build_cflags} -D_GNU_SOURCE -fPIC -fwrapv -fno-semantic-interposition" +export CFLAGS_NODIST="%{build_cflags} -D_GNU_SOURCE -fPIC -fwrapv%{?with_no_semantic_interposition: -fno-semantic-interposition}" export CXXFLAGS="%{extension_cxxflags} -D_GNU_SOURCE -fPIC -fwrapv" export CPPFLAGS="$(pkg-config --cflags-only-I libffi)" export OPT="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv" export LINKCC="gcc" export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)" export LDFLAGS="%{extension_ldflags} -g $(pkg-config --libs-only-L openssl)" -export LDFLAGS_NODIST="%{build_ldflags} -fno-semantic-interposition -g $(pkg-config --libs-only-L openssl)" +export LDFLAGS_NODIST="%{build_ldflags}%{?with_no_semantic_interposition: -fno-semantic-interposition} -g $(pkg-config --libs-only-L openssl)" # We can build several different configurations of Python: regular and debug. # Define a common function that does one build: @@ -1583,6 +1591,8 @@ CheckPython optimized * Thu Jan 30 2020 Miro Hrončok - 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) +- Temporarily disable https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup + on ppc64le and armv7hl (#1795575) * Thu Dec 19 2019 Miro Hrončok - 3.8.1-1 - Update to Python 3.8.1 From b1c7775af77a3a67c46933f26a6d3db6bbb7f450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 30 Jan 2020 17:44:55 +0100 Subject: [PATCH 05/13] Fix test_zipfile.test_add_file_after_2107() --- 00341-bpo-39460.patch | 41 +++++++++++++++++++++++++++++++++++++++++ python3.spec | 10 ++++++++++ 2 files changed, 51 insertions(+) create mode 100644 00341-bpo-39460.patch diff --git a/00341-bpo-39460.patch b/00341-bpo-39460.patch new file mode 100644 index 0000000..93dde5f --- /dev/null +++ b/00341-bpo-39460.patch @@ -0,0 +1,41 @@ +From c6af8adc44bf6b53ac3b875fe1f644c05a990d2a Mon Sep 17 00:00:00 2001 +From: Victor Stinner +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 + diff --git a/python3.spec b/python3.spec index aab95f0..038e32d 100644 --- a/python3.spec +++ b/python3.spec @@ -295,6 +295,15 @@ Patch328: 00328-pyc-timestamp-invalidation-mode.patch # 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., @@ -643,6 +652,7 @@ rm Lib/ensurepip/_bundled/*.whl %patch274 -p1 %patch328 -p1 %patch339 -p1 +%patch341 -p1 # Remove files that should be generated by the build From 97e152a6da182e63c0eb6cdcc0deaf644fb5993b Mon Sep 17 00:00:00 2001 From: Tomas Orsava Date: Wed, 22 Jan 2020 15:54:21 +0100 Subject: [PATCH 06/13] De-hardcode py_SOVERSION in the files section --- python3.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python3.spec b/python3.spec index 038e32d..8cffeb4 100644 --- a/python3.spec +++ b/python3.spec @@ -1556,7 +1556,7 @@ CheckPython optimized %{_bindir}/python%{LDVERSION_debug}-config %{_bindir}/python%{LDVERSION_debug}-*-config %{_libdir}/libpython%{LDVERSION_debug}.so -%{_libdir}/libpython%{LDVERSION_debug}.so.1.0 +%{_libdir}/libpython%{LDVERSION_debug}.so.%{py_SOVERSION} %{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc %{_libdir}/pkgconfig/python-%{LDVERSION_debug}-embed.pc From e90b6d950b48d37fdb3d809a0ed0732e599ac7e0 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Wed, 22 Jan 2020 11:24:23 +0100 Subject: [PATCH 07/13] Use compileall2 module for byte-compilation in the python3 package --- python3.spec | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/python3.spec b/python3.spec index 8cffeb4..dccd30e 100644 --- a/python3.spec +++ b/python3.spec @@ -958,10 +958,17 @@ find . -name "*~" -exec rm -f {} \; # Do bytecompilation with the newly installed interpreter. # This is similar to the script in macros.pybytecompile # compile *.pyc -find %{buildroot} -type f -a -name "*.py" -print0 | \ - LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ - PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \ - xargs -0 %{buildroot}%{_bindir}/python%{pybasever} -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("%{buildroot}")[2], optimize=opt) for opt in range(3) for f in sys.argv[1:]]' || : +# Python CMD line options: +# -s - don't add user site directory to sys.path +# -B - don't write .pyc files on import +# Compileall2 CMD line options: +# -f - force rebuild even if timestamps are up to date +# -o - optimization levels to run compilation with +# -s - part of path to left-strip from path to source file (buildroot) +# -p - path to add as prefix to path to source file (/ to make it absolute) +LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ +PYTHONPATH="%{_rpmconfigdir}/redhat" %{buildroot}%{_bindir}/python%{pybasever} -s -B -m \ +compileall2 -f %{_smp_mflags} -o 0 -o 1 -o 2 -s %{buildroot} -p / %{buildroot} || : # Since we have pathfix.py in bindir, this is created, but we don't want it rm -rf %{buildroot}%{_bindir}/__pycache__ From e2dce1ef0e4fe82e2b8c8b4ba48c3c5be1eaeca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 12 Feb 2020 11:40:41 +0100 Subject: [PATCH 08/13] Rebased to 3.8.2rc1 Patches 339 and 341 were backports, now included. No other patches changes required. --- 00001-rpath.patch | 2 +- 00102-lib64.patch | 4 +- 00111-no-static-lib.patch | 4 +- 00189-use-rpm-wheels.patch | 2 +- 00251-change-user-install-location.patch | 2 +- 00274-fix-arch-names.patch | 2 +- 00328-pyc-timestamp-invalidation-mode.patch | 2 +- 00339-bpo-16575.patch | 79 --------------------- 00341-bpo-39460.patch | 41 ----------- python3.spec | 29 ++------ sources | 4 +- 11 files changed, 17 insertions(+), 154 deletions(-) delete mode 100644 00339-bpo-16575.patch delete mode 100644 00341-bpo-39460.patch diff --git a/00001-rpath.patch b/00001-rpath.patch index 9ff87ec..cbad794 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -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 Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH] 00001: Fixup distutils/unixccompiler.py to remove standard diff --git a/00102-lib64.patch b/00102-lib64.patch index 0f02d0b..4c0f17f 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -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 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@ diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index 76a7540..358b0cb 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -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 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 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 diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index b52efbe..d699987 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -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?= Date: Wed, 15 Aug 2018 15:36:29 +0200 Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index 0aa408a..8d4f887 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -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 Date: Mon, 26 Jun 2017 16:32:56 +0200 Subject: [PATCH] 00251: Change user install location diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index b40e210..e6b65b5 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -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 Date: Mon, 28 Aug 2017 17:16:46 +0200 Subject: [PATCH] 00274: Upstream uses Debian-style architecture naming, change diff --git a/00328-pyc-timestamp-invalidation-mode.patch b/00328-pyc-timestamp-invalidation-mode.patch index c001879..7cdb10e 100644 --- a/00328-pyc-timestamp-invalidation-mode.patch +++ b/00328-pyc-timestamp-invalidation-mode.patch @@ -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?= Date: Thu, 11 Jul 2019 13:44:13 +0200 Subject: [PATCH] 00328: Restore pyc to TIMESTAMP invalidation mode as default diff --git a/00339-bpo-16575.patch b/00339-bpo-16575.patch deleted file mode 100644 index fd5f794..0000000 --- a/00339-bpo-16575.patch +++ /dev/null @@ -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 - diff --git a/00341-bpo-39460.patch b/00341-bpo-39460.patch deleted file mode 100644 index 93dde5f..0000000 --- a/00341-bpo-39460.patch +++ /dev/null @@ -1,41 +0,0 @@ -From c6af8adc44bf6b53ac3b875fe1f644c05a990d2a Mon Sep 17 00:00:00 2001 -From: Victor Stinner -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 - diff --git a/python3.spec b/python3.spec index dccd30e..a8e0f74 100644 --- a/python3.spec +++ b/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 - 3.8.2~rc1-1 +- Rebased to 3.8.2rc1 + * Thu Jan 30 2020 Miro Hrončok - 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) diff --git a/sources b/sources index 52d9187..49ae2fd 100644 --- a/sources +++ b/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 From b6982963b8c0e6fbe75c15aeaf851e7fa3dbc9ce Mon Sep 17 00:00:00 2001 From: Marcel Plch Date: Mon, 24 Feb 2020 17:22:04 +0100 Subject: [PATCH 09/13] Rebase to v3.8.2rc2 --- 00001-rpath.patch | 2 +- 00102-lib64.patch | 10 +++++----- 00111-no-static-lib.patch | 2 +- 00189-use-rpm-wheels.patch | 2 +- 00251-change-user-install-location.patch | 2 +- 00274-fix-arch-names.patch | 10 +++++----- 00328-pyc-timestamp-invalidation-mode.patch | 2 +- python3.spec | 5 ++++- sources | 4 ++-- 9 files changed, 21 insertions(+), 18 deletions(-) diff --git a/00001-rpath.patch b/00001-rpath.patch index cbad794..7200d29 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -1,4 +1,4 @@ -From f53238e957d070d1cb75110884c93230f9e977df Mon Sep 17 00:00:00 2001 +From e74acc597bbe66f8cb27c7e16408c1a105f99465 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH] 00001: Fixup distutils/unixccompiler.py to remove standard diff --git a/00102-lib64.patch b/00102-lib64.patch index 4c0f17f..1a0ba50 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -1,4 +1,4 @@ -From cf9c14a566bbcda2b2a933e6c1407d773e46d115 Mon Sep 17 00:00:00 2001 +From b56b51af018e3b1223b708950de968585313a8b8 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH] 00102: Change the various install paths to use /usr/lib64/ @@ -198,10 +198,10 @@ index b727f66953..a0c5fb6139 100644 return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } diff --git a/configure b/configure -index 0914e24704..889d6b6a7f 100755 +index a979363acf..b89ae1be3c 100755 --- a/configure +++ b/configure -@@ -15170,9 +15170,9 @@ fi +@@ -15188,9 +15188,9 @@ fi if test x$PLATFORM_TRIPLET = x; then @@ -214,10 +214,10 @@ index 0914e24704..889d6b6a7f 100755 diff --git a/configure.ac b/configure.ac -index 7051dc109a..a13be153fa 100644 +index e57ef7c38b..c59cbc223f 100644 --- a/configure.ac +++ b/configure.ac -@@ -4668,9 +4668,9 @@ fi +@@ -4674,9 +4674,9 @@ fi dnl define LIBPL after ABIFLAGS and LDVERSION is defined. AC_SUBST(PY_ENABLE_SHARED) if test x$PLATFORM_TRIPLET = x; then diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index 358b0cb..4da38e3 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,4 +1,4 @@ -From a90df7804cbe882087a246a459e861982a24530e Mon Sep 17 00:00:00 2001 +From f1f74b920972146b0255366baca2e033ec45057e Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Mon, 18 Jan 2010 17:59:07 +0000 Subject: [PATCH] 00111: Don't try to build a libpythonMAJOR.MINOR.a diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index d699987..448ad4c 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,4 +1,4 @@ -From bcf7c86bc0c76460a517f51758d6d9168bfbfe3c Mon Sep 17 00:00:00 2001 +From 3b1cea43d3da4229c210c44f4694675cba341a19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 15 Aug 2018 15:36:29 +0200 Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index 8d4f887..39b3eb3 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -1,4 +1,4 @@ -From 1c47206da399fd39324b1ff85d74b737c85a4773 Mon Sep 17 00:00:00 2001 +From 67d36e6957a05ec1c757592a808c10b5ee460811 Mon Sep 17 00:00:00 2001 From: Michal Cyprian Date: Mon, 26 Jun 2017 16:32:56 +0200 Subject: [PATCH] 00251: Change user install location diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index e6b65b5..f8038f1 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,4 +1,4 @@ -From 54e845bf03ce7103bc4e47de1ef4bc0a5af00193 Mon Sep 17 00:00:00 2001 +From 04d05cd76ec316f429d36e2deb1a6a1fde75a608 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Mon, 28 Aug 2017 17:16:46 +0200 Subject: [PATCH] 00274: Upstream uses Debian-style architecture naming, change @@ -29,10 +29,10 @@ index ba37cf99e2..52a9ec6662 100755 ppc64le | powerpc64little) basic_machine=powerpc64le-unknown diff --git a/configure.ac b/configure.ac -index a13be153fa..edf17032b8 100644 +index c59cbc223f..a3e1c04e1b 100644 --- a/configure.ac +++ b/configure.ac -@@ -741,9 +741,9 @@ cat >> conftest.c <> conftest.c <> conftest.c <> conftest.c <> conftest.c <> conftest.c < Date: Thu, 11 Jul 2019 13:44:13 +0200 Subject: [PATCH] 00328: Restore pyc to TIMESTAMP invalidation mode as default diff --git a/python3.spec b/python3.spec index a8e0f74..206c4a1 100644 --- a/python3.spec +++ b/python3.spec @@ -14,7 +14,7 @@ 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}.2 -%global prerel rc1 +%global prerel rc2 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} Release: 1%{?dist} @@ -1585,6 +1585,9 @@ CheckPython optimized # ====================================================== %changelog +* Mon Feb 24 2020 Marcel Plch - 3.8.2~rc2-1 +- Rebased to 3.8.2rc2 + * Wed Feb 12 2020 Miro Hrončok - 3.8.2~rc1-1 - Rebased to 3.8.2rc1 diff --git a/sources b/sources index 49ae2fd..f09f267 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (Python-3.8.2rc1.tar.xz) = 69a629b3129317ea5a74dd95845242e76d91910b13d1c15fbdf1a22f4c8f2168de6ec704daffba43ac05ab499f6cad623a3dfdb1853ad56de3ac7a7fc9c7c703 -SHA512 (Python-3.8.2rc1.tar.xz.asc) = 0448d9bf154f2f66913896d200046e5ee54605992b4991150c1632fbd09a062424318ac9790b9ea098923de1fda0ceb304eada99862a4de020fab1fcae4aa8e2 +SHA512 (Python-3.8.2rc2.tar.xz) = f502ec3fbf9ec618193bdf71a1f0ea4fce5eb584bd1ddee396aad14f41a40e7987fbfb184759c13eeb28b7bf4513aaf678375ca29b51840755056f8af1fbeb99 +SHA512 (Python-3.8.2rc2.tar.xz.asc) = 85a091af0bdc2d62269ce46d0f82a00d051b4487ecea6282147dd181fdba49ca6e8eeb3bbea62e4a792d25ce144441d26ddda194891bc3e67713d650dc8f1b23 From 086f5b22340bf9220ede634e46a6cb5b4f130cb6 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Mon, 24 Feb 2020 10:23:04 +0100 Subject: [PATCH 10/13] Use __isa_bits instead of crafted value This is easier to read and the appropriate macro to use here Signed-off-by: Nicolas Chauvet --- python3.spec | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/python3.spec b/python3.spec index 206c4a1..020c854 100644 --- a/python3.spec +++ b/python3.spec @@ -144,16 +144,6 @@ License: Python # on files that test invalid syntax. %undefine py_auto_byte_compile -# For multilib support, files that are different between 32- and 64-bit arches -# need different filenames. Use "64" or "32" according to the word size. -# Currently, the best way to determine an architecture's word size happens to -# be checking %%{_lib}. -%if "%{_lib}" == "lib64" -%global wordsize 64 -%else -%global wordsize 32 -%endif - # ======================= # Build-time requirements @@ -787,7 +777,7 @@ mkdir -p %{buildroot}$DirHoldingGdbPy # Filanames are defined here: %global _pyconfig32_h pyconfig-32.h %global _pyconfig64_h pyconfig-64.h -%global _pyconfig_h pyconfig-%{wordsize}.h +%global _pyconfig_h pyconfig-%{__isa_bits}.h # Use a common function to do an install for all our configurations: InstallPython() { From 471a30465323a88b2dd867e0c45625f5f65fb9e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 24 Feb 2020 21:49:54 +0100 Subject: [PATCH 11/13] Update the ensurepip module to work with setuptools >= 45 setuptools 45.x is Python 3 only and changed the name of the wheel --- 00189-use-rpm-wheels.patch | 22 ++++++++++++++-------- python3.spec | 5 ++++- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index 448ad4c..c90cb14 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -9,10 +9,10 @@ We keep them in /usr/share/python-wheels 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py -index fc0edec6e3..4d17e413db 100644 +index fc0edec6e3..731817a3f0 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py -@@ -1,16 +1,27 @@ +@@ -1,16 +1,31 @@ +import distutils.version +import glob import os @@ -27,14 +27,18 @@ index fc0edec6e3..4d17e413db 100644 +_WHEEL_DIR = "/usr/share/python-wheels/" -_SETUPTOOLS_VERSION = "41.2.0" ++_wheels = {} -_PIP_VERSION = "19.2.3" +def _get_most_recent_wheel_version(pkg): + prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg)) -+ suffix = "-py2.py3-none-any.whl" -+ pattern = "{}*{}".format(prefix, suffix) -+ versions = (p[len(prefix):-len(suffix)] for p in glob.glob(pattern)) -+ return str(max(versions, key=distutils.version.LooseVersion)) ++ _wheels[pkg] = {} ++ for suffix in "-py2.py3-none-any.whl", "-py3-none-any.whl": ++ pattern = "{}*{}".format(prefix, suffix) ++ for path in glob.glob(pattern): ++ version_str = path[len(prefix):-len(suffix)] ++ _wheels[pkg][version_str] = os.path.basename(path) ++ return str(max(_wheels[pkg], key=distutils.version.LooseVersion)) + + +_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools") @@ -43,16 +47,18 @@ index fc0edec6e3..4d17e413db 100644 _PROJECTS = [ ("setuptools", _SETUPTOOLS_VERSION), -@@ -96,12 +107,9 @@ def _bootstrap(*, root=None, upgrade=False, user=False, +@@ -95,13 +110,10 @@ def _bootstrap(*, root=None, upgrade=False, user=False, + # additional paths that need added to sys.path additional_paths = [] for project, version in _PROJECTS: - wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version) +- wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version) - whl = pkgutil.get_data( - "ensurepip", - "_bundled/{}".format(wheel_name), - ) - with open(os.path.join(tmpdir, wheel_name), "wb") as fp: - fp.write(whl) ++ wheel_name = _wheels[project][version] + with open(os.path.join(_WHEEL_DIR, wheel_name), "rb") as sfp: + with open(os.path.join(tmpdir, wheel_name), "wb") as fp: + fp.write(sfp.read()) diff --git a/python3.spec b/python3.spec index 020c854..81a2b9e 100644 --- a/python3.spec +++ b/python3.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ %global prerel rc2 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 1%{?dist} +Release: 2%{?dist} License: Python @@ -1575,6 +1575,9 @@ CheckPython optimized # ====================================================== %changelog +* Mon Feb 24 2020 Miro Hrončok - 3.8.2~rc2-2 +- Update the ensurepip module to work with setuptools >= 45 + * Mon Feb 24 2020 Marcel Plch - 3.8.2~rc2-1 - Rebased to 3.8.2rc2 From 66b21b9b897d8dcb45ac26c7013df0f1550e0b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 26 Feb 2020 15:03:31 +0100 Subject: [PATCH 12/13] Rebased to 3.8.2 final All patches applied cleanly. --- 00001-rpath.patch | 2 +- 00102-lib64.patch | 2 +- 00111-no-static-lib.patch | 2 +- 00189-use-rpm-wheels.patch | 6 +++--- 00251-change-user-install-location.patch | 2 +- 00274-fix-arch-names.patch | 2 +- 00328-pyc-timestamp-invalidation-mode.patch | 2 +- python3.spec | 7 +++++-- sources | 4 ++-- 9 files changed, 16 insertions(+), 13 deletions(-) diff --git a/00001-rpath.patch b/00001-rpath.patch index 7200d29..5731d5a 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -1,4 +1,4 @@ -From e74acc597bbe66f8cb27c7e16408c1a105f99465 Mon Sep 17 00:00:00 2001 +From bf01d6c367d9cb8f6594afa87c16f0498ae7321f Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH] 00001: Fixup distutils/unixccompiler.py to remove standard diff --git a/00102-lib64.patch b/00102-lib64.patch index 1a0ba50..63ddaa5 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -1,4 +1,4 @@ -From b56b51af018e3b1223b708950de968585313a8b8 Mon Sep 17 00:00:00 2001 +From 96580364051672475607c88cdb31ec875cea6e97 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH] 00102: Change the various install paths to use /usr/lib64/ diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index 4da38e3..2a58b21 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,4 +1,4 @@ -From f1f74b920972146b0255366baca2e033ec45057e Mon Sep 17 00:00:00 2001 +From fb93392b0f4975a02775a608611dc9ceb20c06ad Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Mon, 18 Jan 2010 17:59:07 +0000 Subject: [PATCH] 00111: Don't try to build a libpythonMAJOR.MINOR.a diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index c90cb14..aed0f61 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,12 +1,12 @@ -From 3b1cea43d3da4229c210c44f4694675cba341a19 Mon Sep 17 00:00:00 2001 +From 72d6cb277804f58b660bf96d8f5efff78d88491c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 15 Aug 2018 15:36:29 +0200 Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels We keep them in /usr/share/python-wheels --- - Lib/ensurepip/__init__.py | 26 +++++++++++++++++--------- - 1 file changed, 17 insertions(+), 9 deletions(-) + Lib/ensurepip/__init__.py | 32 ++++++++++++++++++++++---------- + 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py index fc0edec6e3..731817a3f0 100644 diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index 39b3eb3..49417d6 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -1,4 +1,4 @@ -From 67d36e6957a05ec1c757592a808c10b5ee460811 Mon Sep 17 00:00:00 2001 +From a1f0ea8fae6fb87cdc9d9c16bc0898e8f66fa907 Mon Sep 17 00:00:00 2001 From: Michal Cyprian Date: Mon, 26 Jun 2017 16:32:56 +0200 Subject: [PATCH] 00251: Change user install location diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index f8038f1..6483d36 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,4 +1,4 @@ -From 04d05cd76ec316f429d36e2deb1a6a1fde75a608 Mon Sep 17 00:00:00 2001 +From b60a8fee7e91e36b48a2ea27d1bb9f42642c3eb2 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Mon, 28 Aug 2017 17:16:46 +0200 Subject: [PATCH] 00274: Upstream uses Debian-style architecture naming, change diff --git a/00328-pyc-timestamp-invalidation-mode.patch b/00328-pyc-timestamp-invalidation-mode.patch index 23e50b1..96aa176 100644 --- a/00328-pyc-timestamp-invalidation-mode.patch +++ b/00328-pyc-timestamp-invalidation-mode.patch @@ -1,4 +1,4 @@ -From 62a7e06903ff3da08c63b6e247db156e36f1d630 Mon Sep 17 00:00:00 2001 +From 0d41a311e805af08637e3f6dc0fb6fae32e508ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 11 Jul 2019 13:44:13 +0200 Subject: [PATCH] 00328: Restore pyc to TIMESTAMP invalidation mode as default diff --git a/python3.spec b/python3.spec index 81a2b9e..1f8c89d 100644 --- a/python3.spec +++ b/python3.spec @@ -14,10 +14,10 @@ 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}.2 -%global prerel rc2 +#global prerel ... %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 2%{?dist} +Release: 1%{?dist} License: Python @@ -1575,6 +1575,9 @@ CheckPython optimized # ====================================================== %changelog +* Wed Feb 26 2020 Miro Hrončok - 3.8.2-1 +- Rebased to 3.8.2 final + * Mon Feb 24 2020 Miro Hrončok - 3.8.2~rc2-2 - Update the ensurepip module to work with setuptools >= 45 diff --git a/sources b/sources index f09f267..a375123 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (Python-3.8.2rc2.tar.xz) = f502ec3fbf9ec618193bdf71a1f0ea4fce5eb584bd1ddee396aad14f41a40e7987fbfb184759c13eeb28b7bf4513aaf678375ca29b51840755056f8af1fbeb99 -SHA512 (Python-3.8.2rc2.tar.xz.asc) = 85a091af0bdc2d62269ce46d0f82a00d051b4487ecea6282147dd181fdba49ca6e8eeb3bbea62e4a792d25ce144441d26ddda194891bc3e67713d650dc8f1b23 +SHA512 (Python-3.8.2.tar.xz) = ca37ad0e7c5845f5f228566aa8ff654a8f428c7d4a5aaabff29baebb0ca3219b31ba8bb2607f89e37cf3fc564f023b8407e53a4f2c47bd99122c1cc222613e37 +SHA512 (Python-3.8.2.tar.xz.asc) = 765796ab5539576bbf1578e05cdb041dbc9a9ca0d6d2040a473a00a293b49f90be11ea6e33b47889da33b25f8e360fad4adeec292f0d43e5fae233d1f03bafd2 From 7baa535f2793eff9f1fa16e23636e5b376e0abf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 28 Feb 2020 18:34:31 +0100 Subject: [PATCH 13/13] Enable https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup on power and arm https://bugzilla.redhat.com/show_bug.cgi?id=1795575 is "fixed for almost a month" --- python3.spec | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/python3.spec b/python3.spec index 1f8c89d..05c6360 100644 --- a/python3.spec +++ b/python3.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ #global prerel ... %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 1%{?dist} +Release: 2%{?dist} License: Python @@ -64,12 +64,7 @@ License: Python %bcond_without optimizations # https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup -# Disabled on ppc64le and armv7hl: https://bugzilla.redhat.com/show_bug.cgi?id=1795575 -%ifarch %{power64} %{arm} -%bcond_with no_semantic_interposition -%else %bcond_without no_semantic_interposition -%endif # Run the test suite in %%check %bcond_without tests @@ -1575,6 +1570,9 @@ CheckPython optimized # ====================================================== %changelog +* Fri Feb 28 2020 Miro Hrončok - 3.8.2-2 +- Enable https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup on power and arm + * Wed Feb 26 2020 Miro Hrončok - 3.8.2-1 - Rebased to 3.8.2 final