The package rpms/python39.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/python39.git/commit/?id=33b3a95c1....
Change:
+%ifarch %{power64} %{arm}
Thanks.
Full change:
============
commit 33b3a95c1efdc3ed77878cba270f54eca6e8aab0
Author: Miro Hronok <miro(a)hroncok.cz>
Date: Thu Jan 30 11:22:38 2020 +0100
Temporarily don't use -fno-semantic-interposition on power and arm
Workaround for
https://bugzilla.redhat.com/show_bug.cgi?id=1795575
diff --git a/python39.spec b/python39.spec
index 37e5c76..3d90f19 100644
--- a/python39.spec
+++ b/python39.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
@@ -683,14 +691,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:
commit f4a58d6359dfee7dd0296587fadb7a95cd3deac1
Author: Victor Stinner <vstinner(a)python.org>
Date: Mon Jan 27 18:03:37 2020 +0100
Run the test suite with --timeout=1800
diff --git a/python39.spec b/python39.spec
index 613aeb1..37e5c76 100644
--- a/python39.spec
+++ b/python39.spec
@@ -1061,6 +1061,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:
@@ -1069,7 +1070,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
commit 0ae31720833ecb85d0efc350710321655736c99a
Author: Victor Stinner <vstinner(a)python.org>
Date: Mon Jan 27 16:18:32 2020 +0100
Update to Python 3.9.0a3
Added patches 340 and 341 (backports from master)
diff --git a/00001-rpath.patch b/00001-rpath.patch
index 8488db7..a87ba47 100644
--- a/00001-rpath.patch
+++ b/00001-rpath.patch
@@ -1,4 +1,4 @@
-From 5dd33e789d3b70d5021cbceed61494110bbe1540 Mon Sep 17 00:00:00 2001
+From d3b41a40387088ab6e32744b71405449361aa035 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm(a)redhat.com>
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 b03179c..f349370 100644
--- a/00102-lib64.patch
+++ b/00102-lib64.patch
@@ -1,4 +1,4 @@
-From 19b5b3386f16f53e34b9d37e400b655dbfe912e8 Mon Sep 17 00:00:00 2001
+From bc29c675016279f6f6a6b4ed140a45710d9840d9 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm(a)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 d08c78df39..4d2f68447d 100644
+index cfe42b4f21..d8766ec09d 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -143,7 +143,7 @@ LIBDIR= @libdir@
@@ -198,10 +198,10 @@ index 8632d1fe6d..09a818609e 100644
return DECODE_LOCALE_ERR("EXEC_PREFIX macro", len);
}
diff --git a/configure b/configure
-index a2c7ddf595..966a6cae2e 100755
+index 85120e498d..a472d7fac3 100755
--- a/configure
+++ b/configure
-@@ -15205,9 +15205,9 @@ fi
+@@ -15216,9 +15216,9 @@ fi
if test x$PLATFORM_TRIPLET = x; then
@@ -214,10 +214,10 @@ index a2c7ddf595..966a6cae2e 100755
diff --git a/configure.ac b/configure.ac
-index 57dca35723..7ba091ebf2 100644
+index ab8e1b7d27..56e8f3e11e 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -4689,9 +4689,9 @@ fi
+@@ -4706,9 +4706,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 fa3ea8f..389b410 100644
--- a/00111-no-static-lib.patch
+++ b/00111-no-static-lib.patch
@@ -1,4 +1,4 @@
-From f7580af0bf9870c81366613213d4268ef00bff5a Mon Sep 17 00:00:00 2001
+From 736a0814aef8ec3883dc9dec394001c7c66b4cc0 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm(a)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 Hronok <miro(a)hroncok.cz>
1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 4d2f68447d..3cd2f25571 100644
+index d8766ec09d..af24a2fe2a 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 d8b8a81..a672ba3 100644
--- a/00189-use-rpm-wheels.patch
+++ b/00189-use-rpm-wheels.patch
@@ -1,4 +1,4 @@
-From f85b612b86a1e688685fc2f908b50e13d75114bc Mon Sep 17 00:00:00 2001
+From e338b6e71b31fdebc0961e4ac1ad63c6e6fdfb36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro(a)hroncok.cz>
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 21465a7..ddfefd0 100644
--- a/00251-change-user-install-location.patch
+++ b/00251-change-user-install-location.patch
@@ -1,4 +1,4 @@
-From d2eb8a55c088caf1bf48e9d998fbc514b820ad6c Mon Sep 17 00:00:00 2001
+From 87ea0dc2466a5496946d90c2531ca38f9acb3ac7 Mon Sep 17 00:00:00 2001
From: Michal Cyprian <m.cyprian(a)gmail.com>
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 5e63269..9e991ca 100644
--- a/00274-fix-arch-names.patch
+++ b/00274-fix-arch-names.patch
@@ -1,4 +1,4 @@
-From 29524bf73ef1d39e21dff0c60f8ff76bd36549cb Mon Sep 17 00:00:00 2001
+From 5201fc9ca191439c337c238542efb85b1f91ed57 Mon Sep 17 00:00:00 2001
From: Petr Viktorin <pviktori(a)redhat.com>
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 7ba091ebf2..05a2568f56 100644
+index 56e8f3e11e..a66d6ebcda 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -741,9 +741,9 @@ cat >> conftest.c <<EOF
+@@ -753,9 +753,9 @@ cat >> conftest.c <<EOF
alpha-linux-gnu
# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
# if defined(__ARMEL__)
@@ -44,7 +44,7 @@ index 7ba091ebf2..05a2568f56 100644
# endif
# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP)
# if defined(__ARMEL__)
-@@ -783,7 +783,7 @@ cat >> conftest.c <<EOF
+@@ -795,7 +795,7 @@ cat >> conftest.c <<EOF
# elif _MIPS_SIM == _ABIN32
mips64el-linux-gnuabin32
# elif _MIPS_SIM == _ABI64
@@ -53,7 +53,7 @@ index 7ba091ebf2..05a2568f56 100644
# else
# error unknown platform triplet
# endif
-@@ -793,22 +793,22 @@ cat >> conftest.c <<EOF
+@@ -805,22 +805,22 @@ cat >> conftest.c <<EOF
# elif _MIPS_SIM == _ABIN32
mips64-linux-gnuabin32
# elif _MIPS_SIM == _ABI64
diff --git a/00328-pyc-timestamp-invalidation-mode.patch
b/00328-pyc-timestamp-invalidation-mode.patch
index 5a39642..9964d56 100644
--- a/00328-pyc-timestamp-invalidation-mode.patch
+++ b/00328-pyc-timestamp-invalidation-mode.patch
@@ -1,4 +1,4 @@
-From d1beb7fb4f912a4beaa2b993919e6d6d019d900d Mon Sep 17 00:00:00 2001
+From 846d6945a4e8cfe448bfb211e0898ad70984d450 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro(a)hroncok.cz>
Date: Thu, 11 Jul 2019 13:44:13 +0200
Subject: [PATCH] 00328: Restore pyc to TIMESTAMP invalidation mode as default
diff --git a/00340-makefile-missing-test.patch b/00340-makefile-missing-test.patch
new file mode 100644
index 0000000..5e98e7d
--- /dev/null
+++ b/00340-makefile-missing-test.patch
@@ -0,0 +1,25 @@
+From e03f3216bbf99b64cfa27343d20534fb306ea2e5 Mon Sep 17 00:00:00 2001
+From: Dino Viehland <dinoviehland(a)gmail.com>
+Date: Mon, 27 Jan 2020 14:04:56 -0800
+Subject: [PATCH] 00340: Add test.test_import.data.unwritable package to
+ makefile
+
+---
+ Makefile.pre.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index af24a2fe2a..aa20b65aac 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1330,6 +1330,7 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
+ test/test_import/data/circular_imports/subpkg \
+ test/test_import/data/package \
+ test/test_import/data/package2 \
++ test/test_import/data/unwritable \
+ importlib \
+ importlib/metadata \
+ test/test_importlib \
+--
+2.24.1
+
diff --git a/00341-bpo-39460.patch b/00341-bpo-39460.patch
new file mode 100644
index 0000000..19f335b
--- /dev/null
+++ b/00341-bpo-39460.patch
@@ -0,0 +1,41 @@
+From e457696601c6535f65105745998662398dbab064 Mon Sep 17 00:00:00 2001
+From: Victor Stinner <vstinner(a)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 66f05ac1f3..4c20bfd7e2 100644
+--- a/Lib/test/test_zipfile.py
++++ b/Lib/test/test_zipfile.py
+@@ -616,6 +616,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/python39.spec b/python39.spec
index 4ca38b2..613aeb1 100644
--- a/python39.spec
+++ b/python39.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}.0
-%global prerel a2
+%global prerel a3
%global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}}
Release: 1%{?dist}
@@ -278,6 +278,20 @@ 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
+# 00340 #
+# Add test.test_import.data.unwritable package to makefile
+# Fixed upstream:
https://bugs.python.org/issue39459
+Patch340: 00340-makefile-missing-test.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.,
@@ -625,6 +639,8 @@ rm Lib/ensurepip/_bundled/*.whl
%patch251 -p1
%patch274 -p1
%patch328 -p1
+%patch340 -p1
+%patch341 -p1
# Remove files that should be generated by the build
@@ -1567,6 +1583,9 @@ CheckPython optimized
# ======================================================
%changelog
+* Mon Jan 27 2020 Victor Stinner <vstinner(a)python.org> - 3.9.0~a3-1
+- Update to Python 3.9.0a3
+
* Thu Dec 19 2019 Miro Hronok <mhroncok(a)redhat.com> - 3.9.0~a2-1
- Rebased to Python 3.9.0a2
diff --git a/sources b/sources
index 1024106..d56fcd7 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (Python-3.9.0a2.tar.xz) =
3f17869f3ca4db423f66e145e67c9fb4935d8c908c5362de585898343190edb901861701e27ab9187a287880ee42bbb4897aa298967c1862f44b12dbab19d412
-SHA512 (Python-3.9.0a2.tar.xz.asc) =
24dc11f516bfc06955742d420b01367330b5b281d6d2292c173ed0e72221004ac3638c98ad6ed36deaaa4ecbaa53d75850a1811153edb94000389429c97cf2b3
+SHA512 (Python-3.9.0a3.tar.xz.asc) =
e0a12043f9cd110b9315bec0109713868bc8b8d8e94c3859fc55cbefa0d8ae64236eee057bf65229e67b0668cb6a7cfb18f50bfcfd546b37501113630e53db72
+SHA512 (Python-3.9.0a3.tar.xz) =
79475a97503818b526ba4d810e34c9d30fec94ce9c1fa20ef147cbbf8185d310b1f1baa484872eb5f6fc4ce7a92a9d3401773e8fc8a7f610a6bf9173e7426fc7
commit 78bc51a18dc67efd483dfee5e7840323469b1bf9
Author: Charalampos Stratakis <cstratak(a)redhat.com>
Date: Fri Jan 3 14:25:58 2020 +0100
Package __init__.py within ensurepip's bundled directory
when not using the system installed rpmwheels
Upstream change:
https://bugs.python.org/issue37449
diff --git a/python39.spec b/python39.spec
index 65e3dcf..4ca38b2 100644
--- a/python39.spec
+++ b/python39.spec
@@ -1144,6 +1144,8 @@ CheckPython optimized
%else
%dir %{pylibdir}/ensurepip/_bundled
%{pylibdir}/ensurepip/_bundled/*.whl
+%{pylibdir}/ensurepip/_bundled/__init__.py
+%{pylibdir}/ensurepip/_bundled/__pycache__/*%{bytecode_suffixes}
%endif
%dir %{pylibdir}/concurrent/