- disable systemtap for now (dtrace is failing on startup due to the bug
mentioned in 2.7-4) - provide relative path to python binary when running pathfix.py - fix parallel make (patch 122)
This commit is contained in:
parent
a8ca61b1fb
commit
b95f6cc2ca
|
@ -0,0 +1,37 @@
|
|||
diff -up Python-2.7/Makefile.pre.in.fix-parallel-make Python-2.7/Makefile.pre.in
|
||||
--- Python-2.7/Makefile.pre.in.fix-parallel-make 2010-07-22 15:01:39.567996932 -0400
|
||||
+++ Python-2.7/Makefile.pre.in 2010-07-22 15:47:02.437998509 -0400
|
||||
@@ -207,6 +207,7 @@ SIGNAL_OBJS= @SIGNAL_OBJS@
|
||||
|
||||
##########################################################################
|
||||
# Grammar
|
||||
+GRAMMAR_STAMP= $(srcdir)/grammar-stamp
|
||||
GRAMMAR_H= $(srcdir)/Include/graminit.h
|
||||
GRAMMAR_C= $(srcdir)/Python/graminit.c
|
||||
GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
|
||||
@@ -530,10 +531,24 @@ Modules/getpath.o: $(srcdir)/Modules/get
|
||||
Modules/python.o: $(srcdir)/Modules/python.c
|
||||
$(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
|
||||
|
||||
+# GNU "make" interprets rules with two dependents as two copies of the rule.
|
||||
+#
|
||||
+# In a parallel build this can lead to pgen being run twice, once for each of
|
||||
+# GRAMMAR_H and GRAMMAR_C, leading to race conditions in which the compiler
|
||||
+# reads a partially-overwritten copy of one of these files, leading to syntax
|
||||
+# errors (or linker errors if the fragment happens to be syntactically valid C)
|
||||
+#
|
||||
+# See http://www.gnu.org/software/hello/manual/automake/Multiple-Outputs.html
|
||||
+# for more information
|
||||
+#
|
||||
+# Introduce ".grammar-stamp" as a contrived single output from PGEN to avoid
|
||||
+# this:
|
||||
+$(GRAMMAR_H) $(GRAMMAR_C): $(GRAMMAR_STAMP)
|
||||
|
||||
-$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
|
||||
+$(GRAMMAR_STAMP): $(PGEN) $(GRAMMAR_INPUT)
|
||||
-@$(INSTALL) -d Include
|
||||
-$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
+ touch $(GRAMMAR_STAMP)
|
||||
|
||||
$(PGEN): $(PGENOBJS)
|
||||
$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
|
19
python.spec
19
python.spec
|
@ -37,7 +37,7 @@
|
|||
|
||||
%global with_gdb_hooks 1
|
||||
|
||||
%global with_systemtap 1
|
||||
%global with_systemtap 0
|
||||
|
||||
# some arches dont have valgrind so we need to disable its support on them
|
||||
%ifarch %{sparc} s390 s390x
|
||||
|
@ -91,7 +91,7 @@ Summary: An interpreted, interactive, object-oriented programming language
|
|||
Name: %{python}
|
||||
# Remember to also rebase python-docs when changing this:
|
||||
Version: 2.7
|
||||
Release: 4%{?dist}
|
||||
Release: 5%{?dist}
|
||||
License: Python
|
||||
Group: Development/Languages
|
||||
Provides: python-abi = %{pybasever}
|
||||
|
@ -405,6 +405,12 @@ Patch119: python-2.6.5-fix-expat-issue9054.patch
|
|||
# For now, revert this patch:
|
||||
Patch121: python-2.7rc2-r79310.patch
|
||||
|
||||
# Fix race condition in parallel make that could lead to graminit.c failing
|
||||
# to compile, or linker errors with "undefined reference to
|
||||
# `_PyParser_Grammar'":
|
||||
# Not yet sent upstream:
|
||||
Patch122: python-2.7-fix-parallel-make.patch
|
||||
|
||||
# This is the generated patch to "configure"; see the description of
|
||||
# %{regenerate_autotooling_patch}
|
||||
# above:
|
||||
|
@ -645,6 +651,7 @@ rm -r Modules/zlib || exit 1
|
|||
|
||||
%patch119 -p0 -b .fix-expat-issue9054
|
||||
%patch121 -p0 -R
|
||||
%patch122 -p1 -b .fix-parallel-make
|
||||
|
||||
# This shouldn't be necesarry, but is right now (2.2a3)
|
||||
find -name "*~" |xargs rm -f
|
||||
|
@ -739,7 +746,7 @@ make OPT="$CFLAGS" %{?_smp_mflags}
|
|||
# optimized python binary:
|
||||
if $PathFixWithThisBinary
|
||||
then
|
||||
LD_LIBRARY_PATH="$topdir/$ConfDir" $BinaryName \
|
||||
LD_LIBRARY_PATH="$topdir/$ConfDir" ./$BinaryName \
|
||||
$topdir/Tools/scripts/pathfix.py \
|
||||
-i "%{_bindir}/env $BinaryName" \
|
||||
$topdir
|
||||
|
@ -1390,6 +1397,12 @@ rm -fr %{buildroot}
|
|||
# payload file would be unpackaged)
|
||||
|
||||
%changelog
|
||||
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-5
|
||||
- disable systemtap for now (dtrace is failing on startup due to the bug
|
||||
mentioned in 2.7-4)
|
||||
- provide relative path to python binary when running pathfix.py
|
||||
- fix parallel make (patch 122)
|
||||
|
||||
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-4
|
||||
- fix reference to pyconfig.h in sysconfig that led to failure on startup if
|
||||
python-devel was not installed
|
||||
|
|
Loading…
Reference in New Issue