Use %autosetup with git am

Some patches are applied conditionally, so we need to use %autosetup with -N,
to prevent automatic patch application.

Later patches from 190 up are applied (with -m for minimum).

While not necessary shorter, this no longer requires adding/removing %patch XYZ
when adding/removing patches > 190.

While at it, we also use git am to apply the patches
since they are all generated from git anyway.
This makes it easier if we ever patch binary files.

This is partial backport of https://src.fedoraproject.org/rpms/python3.9/c/0a760f01ca
This commit is contained in:
Miro Hrončok 2020-07-28 08:19:37 +00:00
commit c436608c59

View file

@ -186,6 +186,7 @@ BuildRequires: gcc-c++
%if %{with gdbm}
BuildRequires: gdbm-devel
%endif
BuildRequires: git-core
BuildRequires: glibc-all-langpacks
BuildRequires: glibc-devel
BuildRequires: gmp-devel
@ -619,40 +620,34 @@ or older Fedora releases.
%prep
%gpgverify -k2 -s1 -d0
%setup -q -n Python-%{upstream_version}
%autosetup -S git_am -N -n Python-%{upstream_version}
# Apply initial patches manually
%apply_patch -q %{PATCH1}
%if "%{_lib}" == "lib64"
%apply_patch -q %{PATCH102}
%endif
%apply_patch -q %{PATCH111}
%apply_patch -q %{PATCH132}
%apply_patch -q %{PATCH155}
%apply_patch -q %{PATCH160}
%apply_patch -q %{PATCH163}
%apply_patch -q %{PATCH170}
%if %{with rpmwheels}
%apply_patch -q %{PATCH189}
rm Lib/ensurepip/_bundled/*.whl
%endif
# Apply the remaining patches
%autopatch -m 190
# Remove bundled libraries to ensure that we're using the system copy.
rm -r Modules/expat
rm -r Modules/zlib
#
# Apply patches:
#
%patch1 -p1
%if "%{_lib}" == "lib64"
%patch102 -p1
%endif
%patch111 -p1
%patch132 -p1
%patch155 -p1
%patch160 -p1
%patch163 -p1
%patch170 -p1
%if %{with rpmwheels}
%patch189 -p1
rm Lib/ensurepip/_bundled/*.whl
%endif
%patch251 -p1
%patch262 -p1
%patch274 -p1
%patch292 -p1
%patch294 -p1
%patch343 -p1
# Remove files that should be generated by the build
# (This is after patching, so that we can use patches directly from upstream)
rm configure pyconfig.h.in