From 4b97eebe22c8c5db58ae65cdc7e79c3ccd45b0a4 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 28 Dec 2010 22:46:51 -0500 Subject: [PATCH] * Thu Dec 23 2010 David Malcolm - 2.7.1-1 - 2.7.1, reworking patch 0 (config), patch 102 (lib64); drop upstream patch 56 (cfgparse), patch 110 (ctypes/SELinux/noexecmem), patch 119 (expat compat), patch 123 (2to3 on "from itertools import *") - fix test_abc's test_cache_leak in the debug build (patch 128) - drop _weakref.so from manifest (_weakref became a core module in r84230) --- python-2.7-autotool-intermediates.patch | 48 +++++++--- ...-config.patch => python-2.7.1-config.patch | 12 ++- ...2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch | 27 ++++++ ...c1-lib64.patch => python-2.7.1-lib64.patch | 89 ++++++++++--------- python.spec | 60 ++++--------- 5 files changed, 134 insertions(+), 102 deletions(-) rename python-2.7rc1-config.patch => python-2.7.1-config.patch (95%) create mode 100644 python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch rename python-2.7rc1-lib64.patch => python-2.7.1-lib64.patch (69%) diff --git a/python-2.7-autotool-intermediates.patch b/python-2.7-autotool-intermediates.patch index 8f83847..6e1184e 100644 --- a/python-2.7-autotool-intermediates.patch +++ b/python-2.7-autotool-intermediates.patch @@ -1,10 +1,10 @@ diff -up ./configure.autotool-intermediates ./configure ---- ./configure.autotool-intermediates 2010-07-08 13:12:59.973249048 -0400 -+++ ./configure 2010-07-08 13:13:00.827247975 -0400 +--- ./configure.autotool-intermediates 2010-12-23 16:14:04.399059791 -0500 ++++ ./configure 2010-12-23 16:14:05.922060430 -0500 @@ -1,5 +1,5 @@ #! /bin/sh --# From configure.in Revision: 81509 . -+# From configure.in Revision: 81582 . +-# From configure.in Revision: 86043 . ++# From configure.in Revision: 86076 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.65 for python 2.7. # @@ -50,6 +50,34 @@ diff -up ./configure.autotool-intermediates ./configure --with-wctype-functions use wctype.h functions --with-fpectl enable SIGFPE catching --with-libm=STRING math library +@@ -1934,11 +1944,11 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $ac_includes_default +- enum { N = $2 / 2 - 1 }; + int + main () + { +-static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; ++static int test_array [1 - 2 * !(enum { N = $2 / 2 - 1 }; ++ 0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; + test_array [0] = 0 + + ; +@@ -1949,11 +1959,11 @@ if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + $ac_includes_default +- enum { N = $2 / 2 - 1 }; + int + main () + { +-static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1) ++static int test_array [1 - 2 * !(enum { N = $2 / 2 - 1 }; ++ ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1) + < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))]; + test_array [0] = 0 + @@ -4739,7 +4749,7 @@ esac $as_echo_n "checking LIBRARY... " >&6; } if test -z "$LIBRARY" @@ -79,7 +107,7 @@ diff -up ./configure.autotool-intermediates ./configure RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ;; atheos*) -@@ -5314,6 +5324,14 @@ $as_echo "no" >&6; } +@@ -5318,6 +5328,14 @@ $as_echo "no" >&6; } fi @@ -94,7 +122,7 @@ diff -up ./configure.autotool-intermediates ./configure # XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be # merged with this chunk of code? -@@ -9326,6 +9344,50 @@ $as_echo "no" >&6; } +@@ -9341,6 +9359,50 @@ $as_echo "no" >&6; } fi @@ -145,7 +173,7 @@ diff -up ./configure.autotool-intermediates ./configure # Check for Python-specific malloc support { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-pymalloc" >&5 $as_echo_n "checking for --with-pymalloc... " >&6; } -@@ -9375,6 +9437,46 @@ fi +@@ -9390,6 +9452,46 @@ fi fi @@ -193,8 +221,8 @@ diff -up ./configure.autotool-intermediates ./configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-wctype-functions" >&5 $as_echo_n "checking for --with-wctype-functions... " >&6; } diff -up ./pyconfig.h.in.autotool-intermediates ./pyconfig.h.in ---- ./pyconfig.h.in.autotool-intermediates 2010-07-08 13:12:59.970252469 -0400 -+++ ./pyconfig.h.in 2010-07-08 13:13:01.066127223 -0400 +--- ./pyconfig.h.in.autotool-intermediates 2010-12-23 16:14:04.396063268 -0500 ++++ ./pyconfig.h.in 2010-12-23 16:14:06.242367491 -0500 @@ -18,6 +18,12 @@ /* Define this if you have BeOS threads. */ #undef BEOS_THREADS @@ -208,7 +236,7 @@ diff -up ./pyconfig.h.in.autotool-intermediates ./pyconfig.h.in /* Define if you have the Mach cthreads package */ #undef C_THREADS -@@ -1098,12 +1104,6 @@ +@@ -1104,12 +1110,6 @@ /* Define to profile with the Pentium timestamp counter */ #undef WITH_TSC diff --git a/python-2.7rc1-config.patch b/python-2.7.1-config.patch similarity index 95% rename from python-2.7rc1-config.patch rename to python-2.7.1-config.patch index a858305..0bb790e 100644 --- a/python-2.7rc1-config.patch +++ b/python-2.7.1-config.patch @@ -1,7 +1,7 @@ -diff -up Python-2.7rc1/Modules/Setup.dist.rhconfig Python-2.7rc1/Modules/Setup.dist ---- Python-2.7rc1/Modules/Setup.dist.rhconfig 2009-12-21 10:22:00.000000000 -0500 -+++ Python-2.7rc1/Modules/Setup.dist 2010-06-05 23:51:30.579225134 -0400 -@@ -152,7 +152,7 @@ GLHACK=-Dclear=__GLclear +diff -up Python-2.7.1/Modules/Setup.dist.rhconfig Python-2.7.1/Modules/Setup.dist +--- Python-2.7.1/Modules/Setup.dist.rhconfig 2010-08-21 07:40:30.000000000 -0400 ++++ Python-2.7.1/Modules/Setup.dist 2010-12-23 15:47:12.111059967 -0500 +@@ -153,7 +153,7 @@ GLHACK=-Dclear=__GLclear # modules are to be built as shared libraries (see above for more # detail; also note that *static* reverses this effect): @@ -10,7 +10,7 @@ diff -up Python-2.7rc1/Modules/Setup.dist.rhconfig Python-2.7rc1/Modules/Setup.d # GNU readline. Unlike previous Python incarnations, GNU readline is # now incorporated in an optional module, configured in the Setup file -@@ -162,74 +162,74 @@ GLHACK=-Dclear=__GLclear +@@ -163,73 +163,73 @@ GLHACK=-Dclear=__GLclear # it, depending on your system -- see the GNU readline instructions. # It's okay for this to be a shared library, too. @@ -26,7 +26,6 @@ diff -up Python-2.7rc1/Modules/Setup.dist.rhconfig Python-2.7rc1/Modules/Setup.d -#_struct _struct.c # binary structure packing/unpacking -#time timemodule.c # -lm # time operations and variables -#operator operator.c # operator.add() and similar goodies --#_weakref _weakref.c # basic weak reference support -#_testcapi _testcapimodule.c # Python C API test module -#_random _randommodule.c # Random number generator -#_collections _collectionsmodule.c # Container types @@ -39,7 +38,6 @@ diff -up Python-2.7rc1/Modules/Setup.dist.rhconfig Python-2.7rc1/Modules/Setup.d +_struct _struct.c # binary structure packing/unpacking +time timemodule.c # -lm # time operations and variables +operator operator.c # operator.add() and similar goodies -+_weakref _weakref.c # basic weak reference support +_testcapi _testcapimodule.c # Python C API test module +_random _randommodule.c # Random number generator +_collections _collectionsmodule.c # Container types diff --git a/python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch b/python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch new file mode 100644 index 0000000..bb38281 --- /dev/null +++ b/python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch @@ -0,0 +1,27 @@ +diff -up Python-2.7.1/Lib/test/test_abc.py.cache_leak Python-2.7.1/Lib/test/test_abc.py +--- Python-2.7.1/Lib/test/test_abc.py.cache_leak 2010-12-28 18:06:35.551938356 -0500 ++++ Python-2.7.1/Lib/test/test_abc.py 2010-12-28 18:09:09.021059202 -0500 +@@ -3,6 +3,8 @@ + + """Unit tests for abc.py.""" + ++import sys ++ + import unittest, weakref + from test import test_support + +@@ -229,8 +231,12 @@ class TestABC(unittest.TestCase): + # Trigger cache. + C().f() + del C +- test_support.gc_collect() +- self.assertEqual(r(), None) ++ # This doesn't work in our debug build, presumably due to its use ++ # of COUNT_ALLOCS, which makes heap-allocated types immortal (once ++ # they've ever had an instance): ++ if not hasattr(sys, 'getcounts'): ++ test_support.gc_collect() ++ self.assertEqual(r(), None) + + def test_main(): + test_support.run_unittest(TestABC) diff --git a/python-2.7rc1-lib64.patch b/python-2.7.1-lib64.patch similarity index 69% rename from python-2.7rc1-lib64.patch rename to python-2.7.1-lib64.patch index 78e7b93..4b07470 100644 --- a/python-2.7rc1-lib64.patch +++ b/python-2.7.1-lib64.patch @@ -1,6 +1,6 @@ -diff -up Python-2.7/Lib/distutils/command/install.py.lib64 Python-2.7/Lib/distutils/command/install.py ---- Python-2.7/Lib/distutils/command/install.py.lib64 2010-05-05 15:09:31.000000000 -0400 -+++ Python-2.7/Lib/distutils/command/install.py 2010-08-16 15:49:49.998271662 -0400 +diff -up Python-2.7.1/Lib/distutils/command/install.py.lib64 Python-2.7.1/Lib/distutils/command/install.py +--- Python-2.7.1/Lib/distutils/command/install.py.lib64 2010-05-05 15:09:31.000000000 -0400 ++++ Python-2.7.1/Lib/distutils/command/install.py 2010-12-23 15:51:19.422062062 -0500 @@ -42,14 +42,14 @@ else: INSTALL_SCHEMES = { 'unix_prefix': { @@ -18,9 +18,9 @@ diff -up Python-2.7/Lib/distutils/command/install.py.lib64 Python-2.7/Lib/distut 'headers': '$base/include/python/$dist_name', 'scripts': '$base/bin', 'data' : '$base', -diff -up Python-2.7/Lib/distutils/sysconfig.py.lib64 Python-2.7/Lib/distutils/sysconfig.py ---- Python-2.7/Lib/distutils/sysconfig.py.lib64 2010-05-05 15:09:31.000000000 -0400 -+++ Python-2.7/Lib/distutils/sysconfig.py 2010-08-16 15:49:49.998271662 -0400 +diff -up Python-2.7.1/Lib/distutils/sysconfig.py.lib64 Python-2.7.1/Lib/distutils/sysconfig.py +--- Python-2.7.1/Lib/distutils/sysconfig.py.lib64 2010-11-06 10:16:30.000000000 -0400 ++++ Python-2.7.1/Lib/distutils/sysconfig.py 2010-12-23 15:51:19.423063652 -0500 @@ -114,8 +114,12 @@ def get_python_lib(plat_specific=0, stan prefix = plat_specific and EXEC_PREFIX or PREFIX @@ -35,10 +35,10 @@ diff -up Python-2.7/Lib/distutils/sysconfig.py.lib64 Python-2.7/Lib/distutils/sy if standard_lib: return libpython else: -diff -up Python-2.7/Lib/site.py.lib64 Python-2.7/Lib/site.py ---- Python-2.7/Lib/site.py.lib64 2010-06-03 17:21:03.000000000 -0400 -+++ Python-2.7/Lib/site.py 2010-08-16 15:49:49.998271662 -0400 -@@ -286,12 +286,16 @@ def getsitepackages(): +diff -up Python-2.7.1/Lib/site.py.lib64 Python-2.7.1/Lib/site.py +--- Python-2.7.1/Lib/site.py.lib64 2010-10-12 18:53:51.000000000 -0400 ++++ Python-2.7.1/Lib/site.py 2010-12-23 15:51:19.424063606 -0500 +@@ -290,12 +290,16 @@ def getsitepackages(): if sys.platform in ('os2emx', 'riscos'): sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) elif os.sep == '/': @@ -55,37 +55,40 @@ diff -up Python-2.7/Lib/site.py.lib64 Python-2.7/Lib/site.py sitepackages.append(os.path.join(prefix, "lib", "site-packages")) if sys.platform == "darwin": # for framework builds *only* we add the standard Apple -diff -up Python-2.7/Lib/test/test_site.py.lib64 Python-2.7/Lib/test/test_site.py ---- Python-2.7/Lib/test/test_site.py.lib64 2010-08-16 15:49:56.149022511 -0400 -+++ Python-2.7/Lib/test/test_site.py 2010-08-16 15:49:58.268901184 -0400 -@@ -169,16 +169,19 @@ class HelperFunctionsTests(unittest.Test +diff -up Python-2.7.1/Lib/test/test_site.py.lib64 Python-2.7.1/Lib/test/test_site.py +--- Python-2.7.1/Lib/test/test_site.py.lib64 2010-11-21 08:34:58.000000000 -0500 ++++ Python-2.7.1/Lib/test/test_site.py 2010-12-23 15:55:19.782935931 -0500 +@@ -169,17 +169,20 @@ class HelperFunctionsTests(unittest.Test wanted = os.path.join('xoxo', 'Lib', 'site-packages') - self.assertEquals(dirs[0], wanted) + self.assertEqual(dirs[0], wanted) elif os.sep == '/': -- self.assertTrue(len(dirs), 2) -- wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], +- self.assertEqual(len(dirs), 2) + self.assertEquals(len(dirs), 3) + wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3], - 'site-packages') - self.assertEquals(dirs[0], wanted) -- wanted = os.path.join('xoxo', 'lib', 'site-python') -+ wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], + 'site-packages') - self.assertEquals(dirs[1], wanted) -+ wanted = os.path.join('xoxo', 'lib', 'site-python') ++ self.assertEquals(dirs[0], wanted) + wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], + 'site-packages') +- self.assertEqual(dirs[0], wanted) ++ self.assertEquals(dirs[1], wanted) + wanted = os.path.join('xoxo', 'lib', 'site-python') +- self.assertEqual(dirs[1], wanted) + self.assertEquals(dirs[2], wanted) else: -- self.assertTrue(len(dirs), 2) -+ self.assertEquals(len(dirs), 2) - self.assertEquals(dirs[0], 'xoxo') +- self.assertEqual(len(dirs), 2) +- self.assertEqual(dirs[0], 'xoxo') - wanted = os.path.join('xoxo', 'lib', 'site-packages') +- self.assertEqual(dirs[1], wanted) ++ self.assertEquals(len(dirs), 2) ++ self.assertEquals(dirs[0], 'xoxo') + wanted = os.path.join('xoxo', 'lib64', 'site-packages') - self.assertEquals(dirs[1], wanted) ++ self.assertEquals(dirs[1], wanted) # let's try the specific Apple location -diff -up Python-2.7/Makefile.pre.in.lib64 Python-2.7/Makefile.pre.in ---- Python-2.7/Makefile.pre.in.lib64 2010-08-16 15:49:49.992272080 -0400 -+++ Python-2.7/Makefile.pre.in 2010-08-16 15:49:49.999271826 -0400 + if (sys.platform == "darwin" and +diff -up Python-2.7.1/Makefile.pre.in.lib64 Python-2.7.1/Makefile.pre.in +--- Python-2.7.1/Makefile.pre.in.lib64 2010-12-23 15:51:19.407063264 -0500 ++++ Python-2.7.1/Makefile.pre.in 2010-12-23 15:51:19.426063917 -0500 @@ -94,7 +94,7 @@ LIBDIR= @libdir@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ @@ -95,9 +98,9 @@ diff -up Python-2.7/Makefile.pre.in.lib64 Python-2.7/Makefile.pre.in # Detailed destination directories BINLIBDEST= $(LIBDIR)/python$(VERSION) -diff -up Python-2.7/Modules/getpath.c.lib64 Python-2.7/Modules/getpath.c ---- Python-2.7/Modules/getpath.c.lib64 2010-05-09 10:46:46.000000000 -0400 -+++ Python-2.7/Modules/getpath.c 2010-08-16 15:49:49.999271826 -0400 +diff -up Python-2.7.1/Modules/getpath.c.lib64 Python-2.7.1/Modules/getpath.c +--- Python-2.7.1/Modules/getpath.c.lib64 2010-10-07 19:37:08.000000000 -0400 ++++ Python-2.7.1/Modules/getpath.c 2010-12-23 15:51:19.427063291 -0500 @@ -117,8 +117,8 @@ #endif @@ -118,7 +121,7 @@ diff -up Python-2.7/Modules/getpath.c.lib64 Python-2.7/Modules/getpath.c static void reduce(char *dir) -@@ -524,7 +524,7 @@ calculate_path(void) +@@ -528,7 +528,7 @@ calculate_path(void) } else strncpy(zip_path, PREFIX, MAXPATHLEN); @@ -127,7 +130,7 @@ diff -up Python-2.7/Modules/getpath.c.lib64 Python-2.7/Modules/getpath.c bufsz = strlen(zip_path); /* Replace "00" with version */ zip_path[bufsz - 6] = VERSION[0]; zip_path[bufsz - 5] = VERSION[2]; -@@ -534,7 +534,7 @@ calculate_path(void) +@@ -538,7 +538,7 @@ calculate_path(void) fprintf(stderr, "Could not find platform dependent libraries \n"); strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN); @@ -136,9 +139,9 @@ diff -up Python-2.7/Modules/getpath.c.lib64 Python-2.7/Modules/getpath.c } /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ -diff -up Python-2.7/Modules/Setup.dist.lib64 Python-2.7/Modules/Setup.dist ---- Python-2.7/Modules/Setup.dist.lib64 2010-08-16 15:49:49.988272889 -0400 -+++ Python-2.7/Modules/Setup.dist 2010-08-16 15:49:49.999271826 -0400 +diff -up Python-2.7.1/Modules/Setup.dist.lib64 Python-2.7.1/Modules/Setup.dist +--- Python-2.7.1/Modules/Setup.dist.lib64 2010-12-23 15:51:19.400104130 -0500 ++++ Python-2.7.1/Modules/Setup.dist 2010-12-23 15:51:19.427063291 -0500 @@ -413,7 +413,7 @@ gdbm gdbmmodule.c -lgdbm # and the subdirectory of PORT where you built it. DBLIBVER=4.7 @@ -157,9 +160,9 @@ diff -up Python-2.7/Modules/Setup.dist.lib64 Python-2.7/Modules/Setup.dist # Interface to the Expat XML parser # -diff -up Python-2.7/setup.py.lib64 Python-2.7/setup.py ---- Python-2.7/setup.py.lib64 2010-06-27 08:36:16.000000000 -0400 -+++ Python-2.7/setup.py 2010-08-16 15:49:50.000271774 -0400 +diff -up Python-2.7.1/setup.py.lib64 Python-2.7.1/setup.py +--- Python-2.7.1/setup.py.lib64 2010-10-31 12:40:21.000000000 -0400 ++++ Python-2.7.1/setup.py 2010-12-23 15:51:19.428064129 -0500 @@ -347,7 +347,7 @@ class PyBuildExt(build_ext): def detect_modules(self): @@ -169,7 +172,7 @@ diff -up Python-2.7/setup.py.lib64 Python-2.7/setup.py add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # Add paths specified in the environment variables LDFLAGS and -@@ -643,11 +643,11 @@ class PyBuildExt(build_ext): +@@ -654,11 +654,11 @@ class PyBuildExt(build_ext): elif curses_library: readline_libs.append(curses_library) elif self.compiler.find_library_file(lib_dirs + @@ -183,7 +186,7 @@ diff -up Python-2.7/setup.py.lib64 Python-2.7/setup.py extra_link_args=readline_extra_link_args, libraries=readline_libs) ) else: -@@ -681,8 +681,8 @@ class PyBuildExt(build_ext): +@@ -692,8 +692,8 @@ class PyBuildExt(build_ext): if krb5_h: ssl_incs += krb5_h ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, diff --git a/python.spec b/python.spec index 3475d99..4bb13e1 100644 --- a/python.spec +++ b/python.spec @@ -93,8 +93,8 @@ Summary: An interpreted, interactive, object-oriented programming language Name: %{python} # Remember to also rebase python-docs when changing this: -Version: 2.7 -Release: 12%{?dist} +Version: 2.7.1 +Release: 1%{?dist} License: Python Group: Development/Languages Requires: %{python}-libs%{?_isa} = %{version}-%{release} @@ -188,7 +188,7 @@ Source5: pyfuntop.stp # - _codecs_jp cjkcodecs/_codecs_jp.c # - _codecs_kr cjkcodecs/_codecs_kr.c # - _codecs_tw cjkcodecs/_codecs_tw.c -Patch0: python-2.7rc1-config.patch +Patch0: python-2.7.1-config.patch # Removes the "-g" option from "pydoc", for some reason; I believe # (dmalcolm 2010-01-29) that this was introduced in this change: @@ -268,11 +268,6 @@ Patch54: python-2.6.4-setup-db48.patch # for 2.7rc1 by dmalcolm: Patch55: python-2.7rc1-dtrace.patch -# Backported fix from upstream for regression in ConfigParse's handling -# of None values -# http://bugs.python.org/issue7005#msg115417 -Patch56: python-2.7-r84443-cfgparse.patch - # "lib64 patches" # This patch seems to be associated with bug 122304, which was # http://sourceforge.net/tracker/?func=detail&atid=105470&aid=931848&group_id=5470 @@ -292,7 +287,7 @@ Patch101: python-2.3.4-lib64-regex.patch # and add the /usr/lib64/pythonMAJOR.MINOR/site-packages to sitedirs, in front of # /usr/lib/pythonMAJOR.MINOR/site-packages # Not upstream -Patch102: python-2.7rc1-lib64.patch +Patch102: python-2.7.1-lib64.patch # Python 2.7 split out much of the path-handling from distutils/sysconfig.py to # a new sysconfig.py (in r77704). @@ -300,19 +295,6 @@ Patch102: python-2.7rc1-lib64.patch # and platform-specific code go to /usr/lib64 not /usr/lib, on 64-bit archs: Patch103: python-2.7-lib64-sysconfig.patch -# rhbz#488396: rework the ctypes module to use ffi_closure_alloc and -# ffi_closure_free, rather than malloc_closure.c, since the latter tries to -# mmap pages with PROT_READ | PROT_WRITE | PROT_EXEC, which SELinux frowns upon. -# -# Patch sent upstream as http://bugs.python.org/issue5504 which also contains -# a rebasing of the upstream copy of libffi to one containing the -# memory-management hooks. -# -# This is the same as that patch, but without the rebasing of libffi -# (since we use the system copy of libffi), and rebased against 2.7 (which -# has had a whitespace cleanup): -Patch110: python-2.7rc1-ctypes-noexecmem.patch - # Patch the Makefile.pre.in so that the generated Makefile doesn't try to build # a libpythonMAJOR.MINOR.a (bug 550692): Patch111: python-2.7rc1-no-static-lib.patch @@ -393,11 +375,6 @@ Patch114: python-2.7rc1-statvfs-f_flag-constants.patch # (rhbz:461419; patch sent upstream as http://bugs.python.org/issue7425 ) Patch115: make-pydoc-more-robust-001.patch -# Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to -# a segfault running test_pyexpat.py (rhbz:583931) -# Sent upstream as http://bugs.python.org/issue9054 -Patch119: python-2.6.5-fix-expat-issue9054.patch - # Upstream r79310 removed the "Modules" directory from sys.path when Python is # running from the build directory on POSIX to fix a unit test (issue #8205). # This seems to have broken the compileall.py done in "make install": it cannot @@ -420,11 +397,6 @@ Patch121: python-2.7rc2-r79310.patch # Not yet sent upstream: Patch122: python-2.7-fix-parallel-make.patch -# Fix traceback in 2to3 on "from itertools import *" -# This is http://bugs.python.org/issue8892 (see also rhbz#600036) -# Cherrypicked from r82530 upstream: -Patch123: python-2.7-fix-2to3-itertools-import-star.patch - # test_commmands fails on SELinux systems due to a change in the output # of "ls" (http://bugs.python.org/issue7108) Patch124: fix-test_commands-expected-ls-output-issue7108.patch @@ -444,6 +416,12 @@ Patch126: fix-dbm_contains-on-64bit-bigendian.patch # Sent upstream as http://bugs.python.org/issue9960 Patch127: fix-test_structmember-on-64bit-bigendian.patch +# 2.7.1 (in r84230) added a test to test_abc which fails if python is +# configured with COUNT_ALLOCS, which is the case for our debug build +# (the COUNT_ALLOCS instrumentation keeps "C" alive). +# Not yet sent upstream +Patch128: python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch + # This is the generated patch to "configure"; see the description of # %{regenerate_autotooling_patch} # above: @@ -672,10 +650,6 @@ rm -r Modules/zlib || exit 1 %patch55 -p1 -b .systemtap %endif -%patch56 -p0 -b .cfgparse - -%patch110 -p1 -b .selinux - %patch111 -p1 -b .no-static-lib %patch112 -p1 -b .debug-build @@ -686,16 +660,13 @@ rm -r Modules/zlib || exit 1 %patch115 -p0 -%patch119 -p0 -b .fix-expat-issue9054 %patch121 -p0 -R %patch122 -p1 -b .fix-parallel-make -pushd Lib -%patch123 -p0 -popd %patch124 -p1 %patch125 -p1 -b .less-verbose-COUNT_ALLOCS %patch126 -p0 -b .fix-dbm_contains-on-64bit-bigendian %patch127 -p0 -b .fix-test_structmember-on-64bit-bigendian +%patch128 -p1 # This shouldn't be necesarry, but is right now (2.2a3) find -name "*~" |xargs rm -f @@ -1356,7 +1327,6 @@ rm -fr %{buildroot} %{dynload_dir}/_sqlite3.so %{dynload_dir}/_ssl.so %{dynload_dir}/_struct.so -%{dynload_dir}/_weakref.so %{dynload_dir}/arraymodule.so %{dynload_dir}/audioop.so %{dynload_dir}/binascii.so @@ -1556,7 +1526,6 @@ rm -fr %{buildroot} %{dynload_dir}/_sqlite3_d.so %{dynload_dir}/_ssl_d.so %{dynload_dir}/_struct_d.so -%{dynload_dir}/_weakref_d.so %{dynload_dir}/arraymodule_d.so %{dynload_dir}/audioop_d.so %{dynload_dir}/binascii_d.so @@ -1642,6 +1611,13 @@ rm -fr %{buildroot} # payload file would be unpackaged) %changelog +* Thu Dec 23 2010 David Malcolm - 2.7.1-1 +- 2.7.1, reworking patch 0 (config), patch 102 (lib64); drop upstream +patch 56 (cfgparse), patch 110 (ctypes/SELinux/noexecmem), patch 119 (expat +compat), patch 123 (2to3 on "from itertools import *") +- fix test_abc's test_cache_leak in the debug build (patch 128) +- drop _weakref.so from manifest (_weakref became a core module in r84230) + * Mon Sep 27 2010 David Malcolm - 2.7-12 - fix test_structmember on 64bit-bigendian (patch 127)