Added patch for fixing recompilation of Python when using common
build commands and the --enable-optimizations flag. Enable profile guided optimizations for x86_64 and i686 architectures
This commit is contained in:
parent
51bb7c4cc2
commit
27c558eb66
67
00269-fix-multiple-compilations-issue-with-pgo-builds.patch
Normal file
67
00269-fix-multiple-compilations-issue-with-pgo-builds.patch
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
||||||
|
index 0e1d0af..42ab191 100644
|
||||||
|
--- a/Makefile.pre.in
|
||||||
|
+++ b/Makefile.pre.in
|
||||||
|
@@ -989,7 +989,7 @@ TESTTIMEOUT= 1200
|
||||||
|
|
||||||
|
# Run a basic set of regression tests.
|
||||||
|
# This excludes some tests that are particularly resource-intensive.
|
||||||
|
-test: all platform
|
||||||
|
+test: @DEF_MAKE_RULE@ platform
|
||||||
|
$(TESTRUNNER) $(TESTOPTS)
|
||||||
|
|
||||||
|
# Run the full test suite twice - once without .pyc files, and once with.
|
||||||
|
@@ -999,7 +999,7 @@ test: all platform
|
||||||
|
# the bytecode read from a .pyc file had the bug, sometimes the directly
|
||||||
|
# generated bytecode. This is sometimes a very shy bug needing a lot of
|
||||||
|
# sample data.
|
||||||
|
-testall: all platform
|
||||||
|
+testall: @DEF_MAKE_RULE@ platform
|
||||||
|
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
|
||||||
|
$(TESTPYTHON) -E $(srcdir)/Lib/compileall.py
|
||||||
|
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
|
||||||
|
@@ -1008,7 +1008,7 @@ testall: all platform
|
||||||
|
|
||||||
|
# Run the test suite for both architectures in a Universal build on OSX.
|
||||||
|
# Must be run on an Intel box.
|
||||||
|
-testuniversal: all platform
|
||||||
|
+testuniversal: @DEF_MAKE_RULE@ platform
|
||||||
|
if [ `arch` != 'i386' ];then \
|
||||||
|
echo "This can only be used on OSX/i386" ;\
|
||||||
|
exit 1 ;\
|
||||||
|
@@ -1031,7 +1031,7 @@ QUICKTESTOPTS= $(TESTOPTS) -x test_subprocess test_io test_lib2to3 \
|
||||||
|
test_multiprocessing_forkserver \
|
||||||
|
test_mailbox test_socket test_poll \
|
||||||
|
test_select test_zipfile test_concurrent_futures
|
||||||
|
-quicktest: all platform
|
||||||
|
+quicktest: @DEF_MAKE_RULE@ platform
|
||||||
|
$(TESTRUNNER) $(QUICKTESTOPTS)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1368,7 +1368,7 @@ LIBPL= $(LIBDEST)/config-$(LDVERSION)-$(MULTIARCH)
|
||||||
|
# pkgconfig directory
|
||||||
|
LIBPC= $(LIBDIR)/pkgconfig
|
||||||
|
|
||||||
|
-libainstall: all python-config
|
||||||
|
+libainstall: @DEF_MAKE_RULE@ python-config
|
||||||
|
@for i in $(LIBDIR) $(LIBPL) $(LIBPC); \
|
||||||
|
do \
|
||||||
|
if test ! -d $(DESTDIR)$$i; then \
|
||||||
|
@@ -1616,7 +1616,7 @@ distclean: clobber
|
||||||
|
-exec rm -f {} ';'
|
||||||
|
|
||||||
|
# Check for smelly exported symbols (not starting with Py/_Py)
|
||||||
|
-smelly: all
|
||||||
|
+smelly: @DEF_MAKE_RULE@
|
||||||
|
nm -p $(LIBRARY) | \
|
||||||
|
sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \
|
||||||
|
|
||||||
|
@@ -1653,7 +1653,7 @@ funny:
|
||||||
|
-o -print
|
||||||
|
|
||||||
|
# Perform some verification checks on any modified files.
|
||||||
|
-patchcheck: all
|
||||||
|
+patchcheck: @DEF_MAKE_RULE@
|
||||||
|
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
|
||||||
|
|
||||||
|
# Dependencies
|
34
python3.spec
34
python3.spec
@ -123,7 +123,7 @@
|
|||||||
Summary: Version 3 of the Python programming language aka Python 3000
|
Summary: Version 3 of the Python programming language aka Python 3000
|
||||||
Name: python3
|
Name: python3
|
||||||
Version: %{pybasever}.1
|
Version: %{pybasever}.1
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
License: Python
|
License: Python
|
||||||
Group: Development/Languages
|
Group: Development/Languages
|
||||||
|
|
||||||
@ -443,6 +443,19 @@ Patch261: 00261-use-proper-command-line-parsing-in-_testembed.patch
|
|||||||
# Original proposal: https://bugzilla.redhat.com/show_bug.cgi?id=1404918
|
# Original proposal: https://bugzilla.redhat.com/show_bug.cgi?id=1404918
|
||||||
Patch262: 00262-pep538_coerce_legacy_c_locale.patch
|
Patch262: 00262-pep538_coerce_legacy_c_locale.patch
|
||||||
|
|
||||||
|
# 00264 #
|
||||||
|
# test_pass_by_value was added in Python 3.6.1 and on aarch64
|
||||||
|
# it is catching an error that was there, but wasn't tested before.
|
||||||
|
# Therefore skipping the test on aarch64 until fixed upstream.
|
||||||
|
# Reported upstream: http://bugs.python.org/issue29804
|
||||||
|
Patch264: 00264-skip-test-failing-on-aarch64.patch
|
||||||
|
|
||||||
|
# 00269 #
|
||||||
|
# Fix python's recompilation with common build commands when using
|
||||||
|
# profile guided optimizations.
|
||||||
|
# Fixed upstream: http://bugs.python.org/issue29243
|
||||||
|
Patch269: 00269-fix-multiple-compilations-issue-with-pgo-builds.patch
|
||||||
|
|
||||||
# (New patches go here ^^^)
|
# (New patches go here ^^^)
|
||||||
#
|
#
|
||||||
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
|
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
|
||||||
@ -452,14 +465,6 @@ Patch262: 00262-pep538_coerce_legacy_c_locale.patch
|
|||||||
#
|
#
|
||||||
# https://fedoraproject.org/wiki/SIGs/Python/PythonPatches
|
# https://fedoraproject.org/wiki/SIGs/Python/PythonPatches
|
||||||
|
|
||||||
# 00264 #
|
|
||||||
# test_pass_by_value was added in Python 3.6.1 and on aarch64
|
|
||||||
# it is catching an error that was there, but wasn't tested before.
|
|
||||||
# Therefore skipping the test on aarch64 until fixed upstream.
|
|
||||||
# Reported upstream: http://bugs.python.org/issue29804
|
|
||||||
Patch264: 00264-skip-test-failing-on-aarch64.patch
|
|
||||||
|
|
||||||
|
|
||||||
# add correct arch for ppc64/ppc64le
|
# add correct arch for ppc64/ppc64le
|
||||||
# it should be ppc64le-linux-gnu/ppc64-linux-gnu instead powerpc64le-linux-gnu/powerpc64-linux-gnu
|
# it should be ppc64le-linux-gnu/ppc64-linux-gnu instead powerpc64le-linux-gnu/powerpc64-linux-gnu
|
||||||
Patch5001: python3-powerppc-arch.patch
|
Patch5001: python3-powerppc-arch.patch
|
||||||
@ -725,6 +730,8 @@ sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/en
|
|||||||
%patch264 -p1
|
%patch264 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%patch269 -p1
|
||||||
|
|
||||||
# Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
|
# Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
|
||||||
# are many differences between 2.6 and the Python 3 library.
|
# are many differences between 2.6 and the Python 3 library.
|
||||||
#
|
#
|
||||||
@ -824,7 +831,11 @@ BuildPython debug \
|
|||||||
BuildPython optimized \
|
BuildPython optimized \
|
||||||
python \
|
python \
|
||||||
python%{pybasever} \
|
python%{pybasever} \
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
"--without-ensurepip --enable-optimizations" \
|
||||||
|
%else
|
||||||
"--without-ensurepip" \
|
"--without-ensurepip" \
|
||||||
|
%end
|
||||||
true
|
true
|
||||||
|
|
||||||
# ======================================================
|
# ======================================================
|
||||||
@ -1680,6 +1691,11 @@ fi
|
|||||||
# ======================================================
|
# ======================================================
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue May 09 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-6
|
||||||
|
- Enable profile guided optimizations for x86_64 and i686 architectures
|
||||||
|
- Update to a newer implementation of PEP 538
|
||||||
|
- Update description to reflect that Python 3 is now the default Python
|
||||||
|
|
||||||
* Fri May 05 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-5
|
* Fri May 05 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-5
|
||||||
- Update PEP 538 to the latest upstream implementation
|
- Update PEP 538 to the latest upstream implementation
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user