diff --git a/00001-rpath.patch b/00001-rpath.patch index e78717a..aad3612 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -1,4 +1,4 @@ -From 95cba782ed45e6683de1e68ba3f2f4918e678151 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 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 @@ -28,6 +28,3 @@ index 4d7a6de740..353086a648 100644 def preprocess(self, source, output_file=None, macros=None, include_dirs=None, extra_preargs=None, extra_postargs=None): fixed_args = self._fix_compile_args(None, macros, include_dirs) --- -2.23.0 - diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index d33518d..601ddde 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,4 +1,4 @@ -From c6c75ba765d56ab91478cf63f8a1db3a0c9c7b6e Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 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 @@ -73,6 +73,3 @@ index dede88711e..07e3380781 100644 $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c $(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in --- -2.23.0 - diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index 3d229ce..ca373de 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,9 +1,12 @@ -From 7471b64da4786004c290e6ca6637cad231e319a3 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 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 + +Downstream only: upstream bundles +We might eventually pursuit upstream support, but it's low prio --- Lib/ensurepip/__init__.py | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) @@ -29,9 +32,11 @@ index 21320a8319..dffe4ce389 100644 __all__ = ["version", "bootstrap"] +_WHEEL_DIR = "/usr/share/python-wheels/" -+ + +-_SETUPTOOLS_VERSION = "47.1.0" +_wheels = {} -+ + +-_PIP_VERSION = "20.1.1" +def _get_most_recent_wheel_version(pkg): + prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg)) + _wheels[pkg] = {} @@ -42,11 +47,9 @@ index 21320a8319..dffe4ce389 100644 + _wheels[pkg][version_str] = os.path.basename(path) + return str(max(_wheels[pkg], key=distutils.version.LooseVersion)) + - --_SETUPTOOLS_VERSION = "47.1.0" ++ +_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools") - --_PIP_VERSION = "20.1.1" ++ +_PIP_VERSION = _get_most_recent_wheel_version("pip") _PROJECTS = [ @@ -69,6 +72,3 @@ index 21320a8319..dffe4ce389 100644 additional_paths.append(os.path.join(tmpdir, wheel_name)) --- -2.23.0 - diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index aa65b5f..57b71bf 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -1,4 +1,4 @@ -From 3002acfa2d914e7d7056d03f6dc25c8d2dfdeca9 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 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 @@ -8,6 +8,7 @@ to /usr/local if executable is /usr/bin/python* and RPM build is not detected to make pip and distutils install into separate location. Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe +Downstream only: Awaiting resources to work on upstream PEP --- Lib/distutils/command/install.py | 15 +++++++++++++-- Lib/site.py | 9 ++++++++- @@ -59,6 +60,3 @@ index 9e617afb00..db14f715f9 100644 for sitedir in getsitepackages(prefixes): if os.path.isdir(sitedir): addsitedir(sitedir, known_paths) --- -2.23.0 - diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index c55e83f..99514d0 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,4 +1,4 @@ -From fdd4f023f6d677f05ba0eeedc37bee72d0be9968 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 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 @@ -81,6 +81,3 @@ index 7bbceb10d8..047676a168 100644 # elif defined(__s390x__) s390x-linux-gnu # elif defined(__s390__) --- -2.23.0 - diff --git a/00328-pyc-timestamp-invalidation-mode.patch b/00328-pyc-timestamp-invalidation-mode.patch index 1b195fe..9708b15 100644 --- a/00328-pyc-timestamp-invalidation-mode.patch +++ b/00328-pyc-timestamp-invalidation-mode.patch @@ -1,4 +1,4 @@ -From 956dc7afea819be2e45ab0eac6a9f7155ec871f1 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 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 @@ -11,6 +11,8 @@ performance decrease. To avoid that, we don't default to CHECKED_HASH when $RPM_BUILD_ROOT is set (i.e. when we are building RPM packages). See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426 +Downstream only: only used when building RPM packages +Ideally, we should talk to upstream and explain why we don't want this --- Lib/py_compile.py | 3 ++- Lib/test/test_py_compile.py | 2 ++ @@ -50,6 +52,3 @@ index d4a68c9320..ed09874023 100644 return fxn(*args, **kwargs) return wrapper --- -2.23.0 - diff --git a/python3.9.spec b/python3.9.spec index b877dc0..f9b9856 100644 --- a/python3.9.spec +++ b/python3.9.spec @@ -246,21 +246,26 @@ Source10: idle3.desktop # AppData file for idle3 Source11: idle3.appdata.xml -# 00001 # -# Fixup distutils/unixccompiler.py to remove standard library path from rpath: -# Was Patch0 in ivazquez' python3000 specfile: -Patch1: 00001-rpath.patch +# (Patches taken from github.com/fedora-python/cpython) -# 00111 # -# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build -# a libpythonMAJOR.MINOR.a +# 00001 # d06a8853cf4bae9e115f45e1d531d2dc152c5cc8 +# Fixup distutils/unixccompiler.py to remove standard library path from rpath +# Was Patch0 in ivazquez' python3000 specfile +Patch1: 00001-rpath.patch + +# 00111 # 03918d404a40a50c9f5f93dc748b52e613d70d31 +# Don't try to build a libpythonMAJOR.MINOR.a +# +# Downstream only: not appropriate for upstream. +# # See https://bugzilla.redhat.com/show_bug.cgi?id=556092 -# Downstream only: not appropriate for upstream Patch111: 00111-no-static-lib.patch -# 00189 # -# Instead of bundled wheels, use our RPM packaged wheels from -# /usr/share/python-wheels +# 00189 # da1624564eb80bee8c289bc0dea347774a891a10 +# Instead of bundled wheels, use our RPM packaged wheels +# +# We keep them in /usr/share/python-wheels +# # Downstream only: upstream bundles # We might eventually pursuit upstream support, but it's low prio Patch189: 00189-use-rpm-wheels.patch @@ -271,20 +276,30 @@ Patch189: 00189-use-rpm-wheels.patch %global pip_version 20.1.1 %global setuptools_version 47.1.0 -# 00251 +# 00251 # 2eabd04356402d488060bc8fe316ad13fc8a3356 +# Change user install location +# # Set values of prefix and exec_prefix in distutils install command # to /usr/local if executable is /usr/bin/python* and RPM build -# is not detected to make pip and distutils install into separate location +# is not detected to make pip and distutils install into separate location. +# # Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe # Downstream only: Awaiting resources to work on upstream PEP Patch251: 00251-change-user-install-location.patch -# 00274 # -# Upstream uses Debian-style architecture naming. Change to match Fedora. +# 00274 # 1e9258f6e8f70e86d5130113d3eed22993cf3da9 +# Upstream uses Debian-style architecture naming, change to match Fedora Patch274: 00274-fix-arch-names.patch -# 00328 # -# Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild +# 00328 # 367fdcb5a075f083aea83ac174999272a8faf75c +# Restore pyc to TIMESTAMP invalidation mode as default in rpmbuild +# +# Since Fedora 31, the $SOURCE_DATE_EPOCH is set in rpmbuild to the latest +# %%changelog date. This makes Python default to the CHECKED_HASH pyc +# invalidation mode, bringing more reproducible builds traded for an import +# performance decrease. To avoid that, we don't default to CHECKED_HASH +# when $RPM_BUILD_ROOT is set (i.e. when we are building RPM packages). +# # See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426 # Downstream only: only used when building RPM packages # Ideally, we should talk to upstream and explain why we don't want this