* Wed Apr 11 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-1
- 2.7.3: refresh patch 102 (lib64); drop upstream patches 11 (ascii-to-lower),
115 (pydoc robustness), 145 (linux2), 148 (gdbm magic values), 151 (deadlock
in fork); refresh patch 112 (debug build); revise patch 127
(test_structmember); fix test_gdb (patch 153); refresh patch 137 (distutils
tests); add python2.pc to python-devel; regenerate the autotool intermediates
patch (patch 300)
This commit is contained in:
David Malcolm 2012-04-13 10:36:12 -04:00
parent cd507002d5
commit b0a6ae18b3
13 changed files with 2736 additions and 334 deletions

View File

@ -1,6 +1,6 @@
diff -up Python-2.7.2/Lib/distutils/tests/test_bdist_rpm.py.mark-tests-that-fail-in-rpmbuild Python-2.7.2/Lib/distutils/tests/test_bdist_rpm.py diff -up Python-2.7.3/Lib/distutils/tests/test_bdist_rpm.py.mark-tests-that-fail-in-rpmbuild Python-2.7.3/Lib/distutils/tests/test_bdist_rpm.py
--- Python-2.7.2/Lib/distutils/tests/test_bdist_rpm.py.mark-tests-that-fail-in-rpmbuild 2011-09-08 17:28:19.170502386 -0400 --- Python-2.7.3/Lib/distutils/tests/test_bdist_rpm.py.mark-tests-that-fail-in-rpmbuild 2012-04-09 19:07:29.000000000 -0400
+++ Python-2.7.2/Lib/distutils/tests/test_bdist_rpm.py 2011-09-08 17:48:40.608418864 -0400 +++ Python-2.7.3/Lib/distutils/tests/test_bdist_rpm.py 2012-04-13 00:20:08.223819263 -0400
@@ -24,6 +24,7 @@ setup(name='foo', version='0.1', py_modu @@ -24,6 +24,7 @@ setup(name='foo', version='0.1', py_modu
""" """
@ -9,14 +9,4 @@ diff -up Python-2.7.2/Lib/distutils/tests/test_bdist_rpm.py.mark-tests-that-fail
class BuildRpmTestCase(support.TempdirManager, class BuildRpmTestCase(support.TempdirManager,
support.LoggingSilencer, support.LoggingSilencer,
unittest.TestCase): unittest.TestCase):
diff -up Python-2.7.2/Lib/distutils/tests/test_build_ext.py.mark-tests-that-fail-in-rpmbuild Python-2.7.2/Lib/distutils/tests/test_build_ext.py diff -up Python-2.7.3/Lib/distutils/tests/test_build_ext.py.mark-tests-that-fail-in-rpmbuild Python-2.7.3/Lib/distutils/tests/test_build_ext.py
--- Python-2.7.2/Lib/distutils/tests/test_build_ext.py.mark-tests-that-fail-in-rpmbuild 2011-09-08 16:07:25.033834312 -0400
+++ Python-2.7.2/Lib/distutils/tests/test_build_ext.py 2011-09-08 17:43:15.656441082 -0400
@@ -69,6 +69,7 @@ class BuildExtTestCase(support.TempdirMa
name, equals, value = runshared.partition('=')
cmd.library_dirs = value.split(os.pathsep)
+ @unittest._skipInRpmBuild('fails when run from build dir with /usr/bin/ld: cannot find -lpython2.7')
@unittest.skipIf(not os.path.exists(_XX_MODULE_PATH),
'xxmodule.c not found')
def test_build_ext(self):

View File

@ -1,23 +0,0 @@
diff -up Python-2.7.2/configure.in.linux2 Python-2.7.2/configure.in
--- Python-2.7.2/configure.in.linux2 2011-09-13 23:18:19.237252000 -0400
+++ Python-2.7.2/configure.in 2011-09-13 23:18:19.494252001 -0400
@@ -293,6 +293,7 @@ then
MACHDEP="$ac_md_system$ac_md_release"
case $MACHDEP in
+ linux*) MACHDEP="linux2";;
cygwin*) MACHDEP="cygwin";;
darwin*) MACHDEP="darwin";;
atheos*) MACHDEP="atheos";;
diff -up Python-2.7.2/configure.linux2 Python-2.7.2/configure
--- Python-2.7.2/configure.linux2 2011-06-11 11:46:28.000000000 -0400
+++ Python-2.7.2/configure 2011-09-13 23:18:19.489252001 -0400
@@ -3003,6 +3003,7 @@ then
MACHDEP="$ac_md_system$ac_md_release"
case $MACHDEP in
+ linux*) MACHDEP="linux2";;
cygwin*) MACHDEP="cygwin";;
darwin*) MACHDEP="darwin";;
atheos*) MACHDEP="atheos";;
diff -up Python-2.7.2/Misc/NEWS.linux2 Python-2.7.2/Misc/NEWS

View File

@ -1,62 +0,0 @@
# HG changeset patch
# User Charles-François Natali <neologix@free.fr>
# Date 1328209039 -3600
# Node ID c3649173d093ce3bb2f887c1b4c3207196f1f453
# Parent 0b8917fc6db55d371573398c2ae29b120be40a19
Issue #13817: After fork(), reinit the ad-hoc TLS implementation earlier to fix
a random deadlock when fork() is called in a multithreaded process in debug
mode, and make PyOS_AfterFork() more robust.
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -635,6 +635,29 @@ class ThreadJoinOnShutdown(BaseTestCase)
output = "end of worker thread\nend of main thread\n"
self.assertScriptHasOutput(script, output)
+ @unittest.skipUnless(hasattr(os, 'fork'), "needs os.fork()")
+ def test_reinit_tls_after_fork(self):
+ # Issue #13817: fork() would deadlock in a multithreaded program with
+ # the ad-hoc TLS implementation.
+
+ def do_fork_and_wait():
+ # just fork a child process and wait it
+ pid = os.fork()
+ if pid > 0:
+ os.waitpid(pid, 0)
+ else:
+ os._exit(0)
+
+ # start a bunch of threads that will fork() child processes
+ threads = []
+ for i in range(16):
+ t = threading.Thread(target=do_fork_and_wait)
+ threads.append(t)
+ t.start()
+
+ for t in threads:
+ t.join()
+
class ThreadingExceptionTests(BaseTestCase):
# A RuntimeError should be raised if Thread.start() is called
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -976,11 +976,13 @@ void
PyOS_AfterFork(void)
{
#ifdef WITH_THREAD
+ /* PyThread_ReInitTLS() must be called early, to make sure that the TLS API
+ * can be called safely. */
+ PyThread_ReInitTLS();
_PyGILState_Reinit();
PyEval_ReInitThreads();
main_thread = PyThread_get_thread_ident();
main_pid = getpid();
_PyImport_ReInitLock();
- PyThread_ReInitTLS();
#endif
}

View File

@ -0,0 +1,11 @@
--- Lib/test/test_gdb.py.old 2012-04-11 19:35:13.512681203 -0400
+++ Lib/test/test_gdb.py 2012-04-11 19:39:52.567192540 -0400
@@ -159,7 +159,7 @@ class DebuggerTests(unittest.TestCase):
# gdb can insert additional '\n' and space characters in various places
# in its output, depending on the width of the terminal it's connected
# to (using its "wrap_here" function)
- m = re.match('.*#0\s+builtin_id\s+\(self\=.*,\s+v=\s*(.*?)\)\s+at\s+Python/bltinmodule.c.*',
+ m = re.match('.*#0\s+builtin_id\s+\(self\=.*,\s+v=\s*(.*?)\)\s+at\s+\S*Python/bltinmodule.c.*',
gdb_output, re.DOTALL)
if not m:
self.fail('Unexpected gdb output: %r\n%s' % (gdb_output, gdb_output))

View File

@ -0,0 +1,35 @@
--- Lib/test/test_gdb.py.old 2012-04-11 21:04:01.367073855 -0400
+++ Lib/test/test_gdb.py 2012-04-12 08:52:58.320288761 -0400
@@ -96,6 +96,15 @@ class DebuggerTests(unittest.TestCase):
# Generate a list of commands in gdb's language:
commands = ['set breakpoint pending yes',
'break %s' % breakpoint,
+
+ # GDB as of Fedora 17 onwards can distinguish between the
+ # value of a variable at entry vs current value:
+ # http://sourceware.org/gdb/onlinedocs/gdb/Variables.html
+ # which leads to the selftests failing with errors like this:
+ # AssertionError: 'v@entry=()' != '()'
+ # Disable this:
+ 'set print entry-values no',
+
'run']
if cmds_after_breakpoint:
commands += cmds_after_breakpoint
@@ -135,8 +144,16 @@ class DebuggerTests(unittest.TestCase):
err = err.replace("warning: Cannot initialize thread debugging"
" library: Debugger service failed\n",
'')
+ err = '\n'.join([line
+ for line in err.splitlines()
+ if not line.startswith('warning: Unable to open')
+ if not line.startswith('Missing separate debuginfo for')
+ if not line.startswith('Try: yum --disablerepo=')
+ # In case 'set print entry-values no' failed:
+ if not line.startswith('Undefined set print command')])
# Ensure no unexpected error messages:
+ self.maxDiff = None
self.assertEqual(err, '')
return out

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +1,12 @@
Index: Modules/_testcapimodule.c diff -up Python-2.7.3/Modules/_testcapimodule.c.fix-test_structmember-on-64bit-bigendian Python-2.7.3/Modules/_testcapimodule.c
=================================================================== --- Python-2.7.3/Modules/_testcapimodule.c.fix-test_structmember-on-64bit-bigendian 2012-04-09 19:07:33.000000000 -0400
--- Modules/_testcapimodule.c (revision 85001) +++ Python-2.7.3/Modules/_testcapimodule.c 2012-04-12 17:42:55.725766488 -0400
+++ Modules/_testcapimodule.c (working copy) @@ -1813,7 +1813,7 @@ test_structmembers_new(PyTypeObject *typ
@@ -5,6 +5,7 @@ ;
* standard Python regression test, via Lib/test/test_capi.py. test_structmembers *ob;
*/ const char *s = NULL;
- Py_ssize_t string_len = 0;
+#define PY_SSIZE_T_CLEAN + int string_len = 0;
#include "Python.h" ob = PyObject_New(test_structmembers, type);
#include <float.h> if (ob == NULL)
#include "structmember.h" return NULL;
@@ -593,7 +594,7 @@
{
PyObject *tuple, *obj;
Py_UNICODE *value;
- int len;
+ Py_ssize_t len;
/* issue4122: Undefined reference to _Py_ascii_whitespace on Windows */
/* Just use the macro and check that it compiles */

View File

@ -1,20 +0,0 @@
Index: Lib/pydoc.py
===================================================================
--- Lib/pydoc.py (revision 76636)
+++ Lib/pydoc.py (working copy)
@@ -1961,10 +1961,14 @@
if modname[-9:] == '.__init__':
modname = modname[:-9] + ' (package)'
print modname, desc and '- ' + desc
+ def onerror(modname):
+ # Ignore non-ImportError exceptions raised whilst trying to
+ # import modules
+ pass
try: import warnings
except ImportError: pass
else: warnings.filterwarnings('ignore') # ignore problems during import
- ModuleScanner().run(callback, key)
+ ModuleScanner().run(callback, key, onerror=onerror)
# --------------------------------------------------- web browser interface

View File

@ -1,7 +1,7 @@
diff -up Python-2.7rc2/configure.in.debug-build Python-2.7rc2/configure.in diff -up Python-2.7.3/configure.in.debug-build Python-2.7.3/configure.in
--- Python-2.7rc2/configure.in.debug-build 2010-06-24 12:59:28.166319997 -0400 --- Python-2.7.3/configure.in.debug-build 2012-04-13 00:13:53.923498660 -0400
+++ Python-2.7rc2/configure.in 2010-06-24 12:59:28.179376823 -0400 +++ Python-2.7.3/configure.in 2012-04-13 00:13:53.929498585 -0400
@@ -641,7 +641,7 @@ AC_SUBST(LIBRARY) @@ -635,7 +635,7 @@ AC_SUBST(LIBRARY)
AC_MSG_CHECKING(LIBRARY) AC_MSG_CHECKING(LIBRARY)
if test -z "$LIBRARY" if test -z "$LIBRARY"
then then
@ -10,10 +10,10 @@ diff -up Python-2.7rc2/configure.in.debug-build Python-2.7rc2/configure.in
fi fi
AC_MSG_RESULT($LIBRARY) AC_MSG_RESULT($LIBRARY)
@@ -786,8 +786,8 @@ if test $enable_shared = "yes"; then @@ -780,8 +780,8 @@ if test $enable_shared = "yes"; then
INSTSONAME="$LDLIBRARY".$SOVERSION INSTSONAME="$LDLIBRARY".$SOVERSION
;; ;;
Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*) Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*)
- LDLIBRARY='libpython$(VERSION).so' - LDLIBRARY='libpython$(VERSION).so'
- BLDLIBRARY='-L. -lpython$(VERSION)' - BLDLIBRARY='-L. -lpython$(VERSION)'
+ LDLIBRARY='libpython$(VERSION)$(DEBUG_EXT).so' + LDLIBRARY='libpython$(VERSION)$(DEBUG_EXT).so'
@ -21,7 +21,7 @@ diff -up Python-2.7rc2/configure.in.debug-build Python-2.7rc2/configure.in
RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
case $ac_sys_system in case $ac_sys_system in
FreeBSD*) FreeBSD*)
@@ -892,6 +892,14 @@ else AC_MSG_RESULT(no); Py_DEBUG='false' @@ -905,6 +905,14 @@ else AC_MSG_RESULT(no); Py_DEBUG='false'
fi], fi],
[AC_MSG_RESULT(no)]) [AC_MSG_RESULT(no)])
@ -36,10 +36,10 @@ diff -up Python-2.7rc2/configure.in.debug-build Python-2.7rc2/configure.in
# XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be # XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be
# merged with this chunk of code? # merged with this chunk of code?
diff -up Python-2.7rc2/Lib/distutils/command/build_ext.py.debug-build Python-2.7rc2/Lib/distutils/command/build_ext.py diff -up Python-2.7.3/Lib/distutils/command/build_ext.py.debug-build Python-2.7.3/Lib/distutils/command/build_ext.py
--- Python-2.7rc2/Lib/distutils/command/build_ext.py.debug-build 2010-04-01 14:17:09.000000000 -0400 --- Python-2.7.3/Lib/distutils/command/build_ext.py.debug-build 2012-04-09 19:07:29.000000000 -0400
+++ Python-2.7rc2/Lib/distutils/command/build_ext.py 2010-06-24 12:59:28.179376823 -0400 +++ Python-2.7.3/Lib/distutils/command/build_ext.py 2012-04-13 00:13:53.930498573 -0400
@@ -677,7 +677,10 @@ class build_ext (Command): @@ -676,7 +676,10 @@ class build_ext (Command):
so_ext = get_config_var('SO') so_ext = get_config_var('SO')
if os.name == 'nt' and self.debug: if os.name == 'nt' and self.debug:
return os.path.join(*ext_path) + '_d' + so_ext return os.path.join(*ext_path) + '_d' + so_ext
@ -51,7 +51,7 @@ diff -up Python-2.7rc2/Lib/distutils/command/build_ext.py.debug-build Python-2.7
def get_export_symbols (self, ext): def get_export_symbols (self, ext):
"""Return the list of symbols that a shared extension has to """Return the list of symbols that a shared extension has to
@@ -760,6 +763,8 @@ class build_ext (Command): @@ -761,6 +764,8 @@ class build_ext (Command):
template = "python%d.%d" template = "python%d.%d"
pythonlib = (template % pythonlib = (template %
(sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff)) (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff))
@ -60,9 +60,9 @@ diff -up Python-2.7rc2/Lib/distutils/command/build_ext.py.debug-build Python-2.7
return ext.libraries + [pythonlib] return ext.libraries + [pythonlib]
else: else:
return ext.libraries return ext.libraries
diff -up Python-2.7rc2/Lib/distutils/sysconfig.py.debug-build Python-2.7rc2/Lib/distutils/sysconfig.py diff -up Python-2.7.3/Lib/distutils/sysconfig.py.debug-build Python-2.7.3/Lib/distutils/sysconfig.py
--- Python-2.7rc2/Lib/distutils/sysconfig.py.debug-build 2010-06-24 12:59:28.145319202 -0400 --- Python-2.7.3/Lib/distutils/sysconfig.py.debug-build 2012-04-13 00:13:53.899498961 -0400
+++ Python-2.7rc2/Lib/distutils/sysconfig.py 2010-06-24 12:59:28.180381519 -0400 +++ Python-2.7.3/Lib/distutils/sysconfig.py 2012-04-13 00:13:53.930498573 -0400
@@ -85,7 +85,8 @@ def get_python_inc(plat_specific=0, pref @@ -85,7 +85,8 @@ def get_python_inc(plat_specific=0, pref
# Include is located in the srcdir # Include is located in the srcdir
inc_dir = os.path.join(srcdir, "Include") inc_dir = os.path.join(srcdir, "Include")
@ -73,7 +73,7 @@ diff -up Python-2.7rc2/Lib/distutils/sysconfig.py.debug-build Python-2.7rc2/Lib/
elif os.name == "nt": elif os.name == "nt":
return os.path.join(prefix, "include") return os.path.join(prefix, "include")
elif os.name == "os2": elif os.name == "os2":
@@ -211,7 +212,7 @@ def get_makefile_filename(): @@ -250,7 +251,7 @@ def get_makefile_filename():
if python_build: if python_build:
return os.path.join(os.path.dirname(sys.executable), "Makefile") return os.path.join(os.path.dirname(sys.executable), "Makefile")
lib_dir = get_python_lib(plat_specific=1, standard_lib=1) lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
@ -82,10 +82,24 @@ diff -up Python-2.7rc2/Lib/distutils/sysconfig.py.debug-build Python-2.7rc2/Lib/
def parse_config_h(fp, g=None): def parse_config_h(fp, g=None):
diff -up Python-2.7rc2/Makefile.pre.in.debug-build Python-2.7rc2/Makefile.pre.in diff -up Python-2.7.3/Lib/distutils/tests/test_install.py.debug-build Python-2.7.3/Lib/distutils/tests/test_install.py
--- Python-2.7rc2/Makefile.pre.in.debug-build 2010-06-24 12:59:28.175377249 -0400 --- Python-2.7.3/Lib/distutils/tests/test_install.py.debug-build 2012-04-13 00:14:36.177970408 -0400
+++ Python-2.7rc2/Makefile.pre.in 2010-06-24 13:01:24.559945307 -0400 +++ Python-2.7.3/Lib/distutils/tests/test_install.py 2012-04-13 00:15:20.675414113 -0400
@@ -99,8 +99,8 @@ SCRIPTDIR= $(prefix)/lib64 @@ -20,8 +20,9 @@ from distutils.tests import support
def _make_ext_name(modname):
- if os.name == 'nt' and sys.executable.endswith('_d.exe'):
+ if sys.pydebug:
modname += '_d'
+
return modname + sysconfig.get_config_var('SO')
diff -up Python-2.7.3/Makefile.pre.in.debug-build Python-2.7.3/Makefile.pre.in
--- Python-2.7.3/Makefile.pre.in.debug-build 2012-04-13 00:13:53.927498611 -0400
+++ Python-2.7.3/Makefile.pre.in 2012-04-13 00:13:53.931498561 -0400
@@ -102,8 +102,8 @@ SCRIPTDIR= $(prefix)/lib64
# Detailed destination directories # Detailed destination directories
BINLIBDEST= $(LIBDIR)/python$(VERSION) BINLIBDEST= $(LIBDIR)/python$(VERSION)
LIBDEST= $(SCRIPTDIR)/python$(VERSION) LIBDEST= $(SCRIPTDIR)/python$(VERSION)
@ -96,7 +110,7 @@ diff -up Python-2.7rc2/Makefile.pre.in.debug-build Python-2.7rc2/Makefile.pre.in
LIBP= $(LIBDIR)/python$(VERSION) LIBP= $(LIBDIR)/python$(VERSION)
# Symbols used for using shared libraries # Symbols used for using shared libraries
@@ -114,6 +114,12 @@ DESTSHARED= $(BINLIBDEST)/lib-dynload @@ -117,6 +117,12 @@ DESTSHARED= $(BINLIBDEST)/lib-dynload
EXE= @EXEEXT@ EXE= @EXEEXT@
BUILDEXE= @BUILDEXEEXT@ BUILDEXE= @BUILDEXEEXT@
@ -109,7 +123,7 @@ diff -up Python-2.7rc2/Makefile.pre.in.debug-build Python-2.7rc2/Makefile.pre.in
# Short name and location for Mac OS X Python framework # Short name and location for Mac OS X Python framework
UNIVERSALSDK=@UNIVERSALSDK@ UNIVERSALSDK=@UNIVERSALSDK@
PYTHONFRAMEWORK= @PYTHONFRAMEWORK@ PYTHONFRAMEWORK= @PYTHONFRAMEWORK@
@@ -177,8 +183,8 @@ LIBOBJDIR= Python/ @@ -180,8 +186,8 @@ LIBOBJDIR= Python/
LIBOBJS= @LIBOBJS@ LIBOBJS= @LIBOBJS@
UNICODE_OBJS= @UNICODE_OBJS@ UNICODE_OBJS= @UNICODE_OBJS@
@ -120,29 +134,30 @@ diff -up Python-2.7rc2/Makefile.pre.in.debug-build Python-2.7rc2/Makefile.pre.in
# The task to run while instrument when building the profile-opt target # The task to run while instrument when building the profile-opt target
PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
@@ -409,7 +415,7 @@ sharedmods: $(BUILDPYTHON) @@ -413,7 +419,7 @@ sharedmods: $(BUILDPYTHON)
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
esac esac
-libpython$(VERSION).so: $(LIBRARY_OBJS) -libpython$(VERSION).so: $(LIBRARY_OBJS)
+libpython$(VERSION)$(DEBUG_EXT).so: $(LIBRARY_OBJS) +libpython$(VERSION)$(DEBUG_EXT).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \ if test $(INSTSONAME) != $(LDLIBRARY); then \
$(LDSHARED) $(LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
$(LN) -f $(INSTSONAME) $@; \ $(LN) -f $(INSTSONAME) $@; \
@@ -788,9 +794,9 @@ bininstall: altbininstall @@ -798,10 +804,10 @@ bininstall: altbininstall
then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
else true; \
fi fi
- (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON)) (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
- -rm -f $(DESTDIR)$(BINDIR)/python-config -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python-config) - (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
+ (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(DEBUG_SUFFIX)$(EXE) $(PYTHON)) + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(DEBUG_SUFFIX)$(EXE) python2$(EXE))
+ -rm -f $(DESTDIR)$(BINDIR)/python$(DEBUG_SUFFIX)-config + -rm -f $(DESTDIR)$(BINDIR)/python$(DEBUG_SUFFIX)-config
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(DEBUG_SUFFIX)-config python$(DEBUG_SUFFIX)-config) + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(DEBUG_SUFFIX)-config python2-config)
-rm -f $(DESTDIR)$(BINDIR)/python2-config
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config)
- -rm -f $(DESTDIR)$(BINDIR)/python-config
(cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config)
-test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC) -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC)
-rm -f $(DESTDIR)$(LIBPC)/python.pc -rm -f $(DESTDIR)$(LIBPC)/python2.pc
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python.pc) @@ -820,7 +826,7 @@ altbininstall: $(BUILDPYTHON)
@@ -806,7 +812,7 @@ altbininstall: $(BUILDPYTHON)
else true; \ else true; \
fi; \ fi; \
done done
@ -151,7 +166,7 @@ diff -up Python-2.7rc2/Makefile.pre.in.debug-build Python-2.7rc2/Makefile.pre.in
if test -f $(LDLIBRARY); then \ if test -f $(LDLIBRARY); then \
if test -n "$(DLLLIBRARY)" ; then \ if test -n "$(DLLLIBRARY)" ; then \
$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \ $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
@@ -951,10 +957,11 @@ $(srcdir)/Lib/$(PLATDIR): @@ -970,10 +976,11 @@ $(srcdir)/Lib/$(PLATDIR):
export EXE; EXE="$(BUILDEXE)"; \ export EXE; EXE="$(BUILDEXE)"; \
cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
@ -165,7 +180,7 @@ diff -up Python-2.7rc2/Makefile.pre.in.debug-build Python-2.7rc2/Makefile.pre.in
# Install the include files # Install the include files
INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY) INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
@@ -975,13 +982,13 @@ inclinstall: @@ -994,13 +1001,13 @@ inclinstall:
$(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
# Install the library and miscellaneous stuff needed for extending/embedding # Install the library and miscellaneous stuff needed for extending/embedding
@ -182,7 +197,7 @@ diff -up Python-2.7rc2/Makefile.pre.in.debug-build Python-2.7rc2/Makefile.pre.in
@for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \ @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
do \ do \
if test ! -d $(DESTDIR)$$i; then \ if test ! -d $(DESTDIR)$$i; then \
@@ -1000,8 +1007,7 @@ libainstall: all python-config @@ -1019,8 +1026,7 @@ libainstall: all python-config
$(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc
$(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
@ -192,9 +207,9 @@ diff -up Python-2.7rc2/Makefile.pre.in.debug-build Python-2.7rc2/Makefile.pre.in
@if [ -s Modules/python.exp -a \ @if [ -s Modules/python.exp -a \
"`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
echo; echo "Installing support files for building shared extension modules on AIX:"; \ echo; echo "Installing support files for building shared extension modules on AIX:"; \
diff -up Python-2.7rc2/Misc/python-config.in.debug-build Python-2.7rc2/Misc/python-config.in diff -up Python-2.7.3/Misc/python-config.in.debug-build Python-2.7.3/Misc/python-config.in
--- Python-2.7rc2/Misc/python-config.in.debug-build 2010-03-18 20:08:44.000000000 -0400 --- Python-2.7.3/Misc/python-config.in.debug-build 2012-04-09 19:07:33.000000000 -0400
+++ Python-2.7rc2/Misc/python-config.in 2010-06-24 12:59:28.182375371 -0400 +++ Python-2.7.3/Misc/python-config.in 2012-04-13 00:13:53.931498561 -0400
@@ -45,7 +45,7 @@ for opt in opt_flags: @@ -45,7 +45,7 @@ for opt in opt_flags:
elif opt in ('--libs', '--ldflags'): elif opt in ('--libs', '--ldflags'):
@ -204,9 +219,9 @@ diff -up Python-2.7rc2/Misc/python-config.in.debug-build Python-2.7rc2/Misc/pyth
# add the prefix/lib/pythonX.Y/config dir, but only if there is no # add the prefix/lib/pythonX.Y/config dir, but only if there is no
# shared library in prefix/lib/. # shared library in prefix/lib/.
if opt == '--ldflags': if opt == '--ldflags':
diff -up Python-2.7rc2/Modules/makesetup.debug-build Python-2.7rc2/Modules/makesetup diff -up Python-2.7.3/Modules/makesetup.debug-build Python-2.7.3/Modules/makesetup
--- Python-2.7rc2/Modules/makesetup.debug-build 2007-09-05 07:47:34.000000000 -0400 --- Python-2.7.3/Modules/makesetup.debug-build 2012-04-09 19:07:34.000000000 -0400
+++ Python-2.7rc2/Modules/makesetup 2010-06-24 12:59:28.182375371 -0400 +++ Python-2.7.3/Modules/makesetup 2012-04-13 00:13:53.931498561 -0400
@@ -233,7 +233,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' | @@ -233,7 +233,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
*$mod.o*) base=$mod;; *$mod.o*) base=$mod;;
*) base=${mod}module;; *) base=${mod}module;;
@ -216,9 +231,9 @@ diff -up Python-2.7rc2/Modules/makesetup.debug-build Python-2.7rc2/Modules/makes
case $doconfig in case $doconfig in
no) SHAREDMODS="$SHAREDMODS $file";; no) SHAREDMODS="$SHAREDMODS $file";;
esac esac
diff -up Python-2.7rc2/Python/dynload_shlib.c.debug-build Python-2.7rc2/Python/dynload_shlib.c diff -up Python-2.7.3/Python/dynload_shlib.c.debug-build Python-2.7.3/Python/dynload_shlib.c
--- Python-2.7rc2/Python/dynload_shlib.c.debug-build 2010-05-09 10:46:46.000000000 -0400 --- Python-2.7.3/Python/dynload_shlib.c.debug-build 2012-04-09 19:07:35.000000000 -0400
+++ Python-2.7rc2/Python/dynload_shlib.c 2010-06-24 12:59:28.183377733 -0400 +++ Python-2.7.3/Python/dynload_shlib.c 2012-04-13 00:13:53.931498561 -0400
@@ -46,11 +46,16 @@ const struct filedescr _PyImport_DynLoad @@ -46,11 +46,16 @@ const struct filedescr _PyImport_DynLoad
{"module.exe", "rb", C_EXTENSION}, {"module.exe", "rb", C_EXTENSION},
{"MODULE.EXE", "rb", C_EXTENSION}, {"MODULE.EXE", "rb", C_EXTENSION},
@ -239,10 +254,10 @@ diff -up Python-2.7rc2/Python/dynload_shlib.c.debug-build Python-2.7rc2/Python/d
{0, 0} {0, 0}
}; };
diff -up Python-2.7rc2/Python/sysmodule.c.debug-build Python-2.7rc2/Python/sysmodule.c diff -up Python-2.7.3/Python/sysmodule.c.debug-build Python-2.7.3/Python/sysmodule.c
--- Python-2.7rc2/Python/sysmodule.c.debug-build 2010-05-21 13:12:38.000000000 -0400 --- Python-2.7.3/Python/sysmodule.c.debug-build 2012-04-09 19:07:35.000000000 -0400
+++ Python-2.7rc2/Python/sysmodule.c 2010-06-24 12:59:28.184375034 -0400 +++ Python-2.7.3/Python/sysmodule.c 2012-04-13 00:13:53.932498549 -0400
@@ -1557,6 +1557,12 @@ _PySys_Init(void) @@ -1506,6 +1506,12 @@ _PySys_Init(void)
PyString_FromString("legacy")); PyString_FromString("legacy"));
#endif #endif

View File

@ -1,6 +1,6 @@
diff -up Python-2.7.1/Lib/distutils/command/install.py.lib64 Python-2.7.1/Lib/distutils/command/install.py diff -up Python-2.7.3/Lib/distutils/command/install.py.lib64 Python-2.7.3/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.3/Lib/distutils/command/install.py.lib64 2012-04-09 19:07:29.000000000 -0400
+++ Python-2.7.1/Lib/distutils/command/install.py 2010-12-23 15:51:19.422062062 -0500 +++ Python-2.7.3/Lib/distutils/command/install.py 2012-04-11 17:56:41.848587174 -0400
@@ -42,14 +42,14 @@ else: @@ -42,14 +42,14 @@ else:
INSTALL_SCHEMES = { INSTALL_SCHEMES = {
'unix_prefix': { 'unix_prefix': {
@ -18,9 +18,9 @@ diff -up Python-2.7.1/Lib/distutils/command/install.py.lib64 Python-2.7.1/Lib/di
'headers': '$base/include/python/$dist_name', 'headers': '$base/include/python/$dist_name',
'scripts': '$base/bin', 'scripts': '$base/bin',
'data' : '$base', 'data' : '$base',
diff -up Python-2.7.1/Lib/distutils/sysconfig.py.lib64 Python-2.7.1/Lib/distutils/sysconfig.py diff -up Python-2.7.3/Lib/distutils/sysconfig.py.lib64 Python-2.7.3/Lib/distutils/sysconfig.py
--- Python-2.7.1/Lib/distutils/sysconfig.py.lib64 2010-11-06 10:16:30.000000000 -0400 --- Python-2.7.3/Lib/distutils/sysconfig.py.lib64 2012-04-09 19:07:29.000000000 -0400
+++ Python-2.7.1/Lib/distutils/sysconfig.py 2010-12-23 15:51:19.423063652 -0500 +++ Python-2.7.3/Lib/distutils/sysconfig.py 2012-04-11 17:56:41.849587162 -0400
@@ -114,8 +114,12 @@ def get_python_lib(plat_specific=0, stan @@ -114,8 +114,12 @@ def get_python_lib(plat_specific=0, stan
prefix = plat_specific and EXEC_PREFIX or PREFIX prefix = plat_specific and EXEC_PREFIX or PREFIX
@ -35,10 +35,10 @@ diff -up Python-2.7.1/Lib/distutils/sysconfig.py.lib64 Python-2.7.1/Lib/distutil
if standard_lib: if standard_lib:
return libpython return libpython
else: else:
diff -up Python-2.7.1/Lib/site.py.lib64 Python-2.7.1/Lib/site.py diff -up Python-2.7.3/Lib/site.py.lib64 Python-2.7.3/Lib/site.py
--- Python-2.7.1/Lib/site.py.lib64 2010-10-12 18:53:51.000000000 -0400 --- Python-2.7.3/Lib/site.py.lib64 2012-04-09 19:07:31.000000000 -0400
+++ Python-2.7.1/Lib/site.py 2010-12-23 15:51:19.424063606 -0500 +++ Python-2.7.3/Lib/site.py 2012-04-11 17:56:41.850587149 -0400
@@ -290,12 +290,16 @@ def getsitepackages(): @@ -300,12 +300,16 @@ def getsitepackages():
if sys.platform in ('os2emx', 'riscos'): if sys.platform in ('os2emx', 'riscos'):
sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
elif os.sep == '/': elif os.sep == '/':
@ -55,41 +55,38 @@ diff -up Python-2.7.1/Lib/site.py.lib64 Python-2.7.1/Lib/site.py
sitepackages.append(os.path.join(prefix, "lib", "site-packages")) sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
if sys.platform == "darwin": if sys.platform == "darwin":
# for framework builds *only* we add the standard Apple # for framework builds *only* we add the standard Apple
diff -up Python-2.7.1/Lib/test/test_site.py.lib64 Python-2.7.1/Lib/test/test_site.py diff -up Python-2.7.3/Lib/test/test_site.py.lib64 Python-2.7.3/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.3/Lib/test/test_site.py.lib64 2012-04-09 19:07:32.000000000 -0400
+++ Python-2.7.1/Lib/test/test_site.py 2010-12-23 15:55:19.782935931 -0500 +++ Python-2.7.3/Lib/test/test_site.py 2012-04-11 17:58:52.981947780 -0400
@@ -169,17 +169,20 @@ class HelperFunctionsTests(unittest.Test @@ -241,17 +241,20 @@ class HelperFunctionsTests(unittest.Test
wanted = os.path.join('xoxo', 'Lib', 'site-packages') self.assertEqual(dirs[2], wanted)
self.assertEqual(dirs[0], wanted)
elif os.sep == '/': elif os.sep == '/':
# OS X non-framwework builds, Linux, FreeBSD, etc
- self.assertEqual(len(dirs), 2) - self.assertEqual(len(dirs), 2)
+ self.assertEquals(len(dirs), 3) - wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
+ self.assertEqual(len(dirs), 3)
+ wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3], + wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3],
+ 'site-packages')
+ self.assertEquals(dirs[0], wanted)
wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
'site-packages') 'site-packages')
- self.assertEqual(dirs[0], wanted) self.assertEqual(dirs[0], wanted)
+ self.assertEquals(dirs[1], wanted) - wanted = os.path.join('xoxo', 'lib', 'site-python')
wanted = os.path.join('xoxo', 'lib', 'site-python') + wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
- self.assertEqual(dirs[1], wanted) + 'site-packages')
+ self.assertEquals(dirs[2], wanted) self.assertEqual(dirs[1], wanted)
+ wanted = os.path.join('xoxo', 'lib', 'site-python')
+ self.assertEqual(dirs[2], wanted)
else: else:
- self.assertEqual(len(dirs), 2) # other platforms
- self.assertEqual(dirs[0], 'xoxo') self.assertEqual(len(dirs), 2)
self.assertEqual(dirs[0], 'xoxo')
- wanted = os.path.join('xoxo', 'lib', 'site-packages') - 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') + wanted = os.path.join('xoxo', 'lib64', 'site-packages')
+ self.assertEquals(dirs[1], wanted) self.assertEqual(dirs[1], wanted)
# let's try the specific Apple location class PthFile(object):
if (sys.platform == "darwin" and diff -up Python-2.7.3/Makefile.pre.in.lib64 Python-2.7.3/Makefile.pre.in
diff -up Python-2.7.1/Makefile.pre.in.lib64 Python-2.7.1/Makefile.pre.in --- Python-2.7.3/Makefile.pre.in.lib64 2012-04-11 17:56:41.829587411 -0400
--- Python-2.7.1/Makefile.pre.in.lib64 2010-12-23 15:51:19.407063264 -0500 +++ Python-2.7.3/Makefile.pre.in 2012-04-11 17:56:41.852587123 -0400
+++ Python-2.7.1/Makefile.pre.in 2010-12-23 15:51:19.426063917 -0500 @@ -97,7 +97,7 @@ LIBDIR= @libdir@
@@ -94,7 +94,7 @@ LIBDIR= @libdir@
MANDIR= @mandir@ MANDIR= @mandir@
INCLUDEDIR= @includedir@ INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include CONFINCLUDEDIR= $(exec_prefix)/include
@ -98,9 +95,9 @@ diff -up Python-2.7.1/Makefile.pre.in.lib64 Python-2.7.1/Makefile.pre.in
# Detailed destination directories # Detailed destination directories
BINLIBDEST= $(LIBDIR)/python$(VERSION) BINLIBDEST= $(LIBDIR)/python$(VERSION)
diff -up Python-2.7.1/Modules/getpath.c.lib64 Python-2.7.1/Modules/getpath.c diff -up Python-2.7.3/Modules/getpath.c.lib64 Python-2.7.3/Modules/getpath.c
--- Python-2.7.1/Modules/getpath.c.lib64 2010-10-07 19:37:08.000000000 -0400 --- Python-2.7.3/Modules/getpath.c.lib64 2012-04-09 19:07:34.000000000 -0400
+++ Python-2.7.1/Modules/getpath.c 2010-12-23 15:51:19.427063291 -0500 +++ Python-2.7.3/Modules/getpath.c 2012-04-11 17:56:41.853587110 -0400
@@ -117,8 +117,8 @@ @@ -117,8 +117,8 @@
#endif #endif
@ -139,9 +136,9 @@ diff -up Python-2.7.1/Modules/getpath.c.lib64 Python-2.7.1/Modules/getpath.c
} }
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
diff -up Python-2.7.1/Modules/Setup.dist.lib64 Python-2.7.1/Modules/Setup.dist diff -up Python-2.7.3/Modules/Setup.dist.lib64 Python-2.7.3/Modules/Setup.dist
--- Python-2.7.1/Modules/Setup.dist.lib64 2010-12-23 15:51:19.400104130 -0500 --- Python-2.7.3/Modules/Setup.dist.lib64 2012-04-11 17:56:41.820587523 -0400
+++ Python-2.7.1/Modules/Setup.dist 2010-12-23 15:51:19.427063291 -0500 +++ Python-2.7.3/Modules/Setup.dist 2012-04-11 17:56:41.854587097 -0400
@@ -413,7 +413,7 @@ gdbm gdbmmodule.c -lgdbm @@ -413,7 +413,7 @@ gdbm gdbmmodule.c -lgdbm
# and the subdirectory of PORT where you built it. # and the subdirectory of PORT where you built it.
DBLIBVER=4.7 DBLIBVER=4.7
@ -160,19 +157,19 @@ diff -up Python-2.7.1/Modules/Setup.dist.lib64 Python-2.7.1/Modules/Setup.dist
# Interface to the Expat XML parser # Interface to the Expat XML parser
# #
diff -up Python-2.7.1/setup.py.lib64 Python-2.7.1/setup.py diff -up Python-2.7.3/setup.py.lib64 Python-2.7.3/setup.py
--- Python-2.7.1/setup.py.lib64 2010-10-31 12:40:21.000000000 -0400 --- Python-2.7.3/setup.py.lib64 2012-04-09 19:07:36.000000000 -0400
+++ Python-2.7.1/setup.py 2010-12-23 15:51:19.428064129 -0500 +++ Python-2.7.3/setup.py 2012-04-11 17:56:41.856587073 -0400
@@ -347,7 +347,7 @@ class PyBuildExt(build_ext): @@ -369,7 +369,7 @@ class PyBuildExt(build_ext):
def detect_modules(self): def detect_modules(self):
# Ensure that /usr/local is always used # Ensure that /usr/local is always used
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
self.add_multiarch_paths()
# Add paths specified in the environment variables LDFLAGS and @@ -677,11 +677,11 @@ class PyBuildExt(build_ext):
@@ -654,11 +654,11 @@ class PyBuildExt(build_ext):
elif curses_library: elif curses_library:
readline_libs.append(curses_library) readline_libs.append(curses_library)
elif self.compiler.find_library_file(lib_dirs + elif self.compiler.find_library_file(lib_dirs +
@ -186,7 +183,7 @@ diff -up Python-2.7.1/setup.py.lib64 Python-2.7.1/setup.py
extra_link_args=readline_extra_link_args, extra_link_args=readline_extra_link_args,
libraries=readline_libs) ) libraries=readline_libs) )
else: else:
@@ -692,8 +692,8 @@ class PyBuildExt(build_ext): @@ -715,8 +715,8 @@ class PyBuildExt(build_ext):
if krb5_h: if krb5_h:
ssl_incs += krb5_h ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,

View File

@ -1,24 +0,0 @@
diff -up Python-2.7rc1/Python/codecs.c.ascii-tolower Python-2.7rc1/Python/codecs.c
--- Python-2.7rc1/Python/codecs.c.ascii-tolower 2010-05-09 10:46:46.000000000 -0400
+++ Python-2.7rc1/Python/codecs.c 2010-06-06 05:06:15.373100357 -0400
@@ -45,6 +45,11 @@ int PyCodec_Register(PyObject *search_fu
return -1;
}
+/* isupper() forced into the ASCII Locale */
+#define ascii_isupper(x) (((x) >= 0x41) && ((x) <= 0x5A))
+/* tolower() forced into the ASCII Locale */
+#define ascii_tolower(x) (ascii_isupper(x) ? ((x) + 0x20) : (x))
+
/* Convert a string to a normalized Python string: all characters are
converted to lower case, spaces are replaced with underscores. */
@@ -70,7 +75,7 @@ PyObject *normalizestring(const char *st
if (ch == ' ')
ch = '-';
else
- ch = tolower(Py_CHARMASK(ch));
+ ch = ascii_tolower(Py_CHARMASK(ch));
p[i] = ch;
}
return v;

View File

@ -107,8 +107,8 @@
Summary: An interpreted, interactive, object-oriented programming language Summary: An interpreted, interactive, object-oriented programming language
Name: %{python} Name: %{python}
# Remember to also rebase python-docs when changing this: # Remember to also rebase python-docs when changing this:
Version: 2.7.2 Version: 2.7.3
Release: 20%{?dist} Release: 1%{?dist}
License: Python License: Python
Group: Development/Languages Group: Development/Languages
Requires: %{python}-libs%{?_isa} = %{version}-%{release} Requires: %{python}-libs%{?_isa} = %{version}-%{release}
@ -308,11 +308,8 @@ Patch7: python-2.5.1-sqlite-encoding.patch
# (rhbz:307221) # (rhbz:307221)
Patch10: python-2.7rc1-binutils-no-dep.patch Patch10: python-2.7rc1-binutils-no-dep.patch
# FIXME: appears to relate to: # Upstream as of Python 2.7.3:
#* Tue Oct 30 2007 James Antill <jantill@redhat.com> - 2.5.1-15 # Patch11: python-2.7rc1-codec-ascii-tolower.patch
#- Do codec lowercase in C Locale.
#- Resolves: 207134 191096
Patch11: python-2.7rc1-codec-ascii-tolower.patch
# Add various constants to the socketmodule (rhbz#436560): # Add various constants to the socketmodule (rhbz#436560):
# TODO: these patches were added in 2.5.1-22 and 2.5.1-24 but appear not to # TODO: these patches were added in 2.5.1-22 and 2.5.1-24 but appear not to
@ -358,7 +355,7 @@ Patch101: python-2.3.4-lib64-regex.patch
# and add the /usr/lib64/pythonMAJOR.MINOR/site-packages to sitedirs, in front of # and add the /usr/lib64/pythonMAJOR.MINOR/site-packages to sitedirs, in front of
# /usr/lib/pythonMAJOR.MINOR/site-packages # /usr/lib/pythonMAJOR.MINOR/site-packages
# Not upstream # Not upstream
Patch102: python-2.7.1-lib64.patch Patch102: python-2.7.3-lib64.patch
# Python 2.7 split out much of the path-handling from distutils/sysconfig.py to # Python 2.7 split out much of the path-handling from distutils/sysconfig.py to
# a new sysconfig.py (in r77704). # a new sysconfig.py (in r77704).
@ -435,7 +432,7 @@ Patch111: 00111-no-static-lib.patch
# #
# See also patch 130 below # See also patch 130 below
# #
Patch112: python-2.7rc1-debug-build.patch Patch112: python-2.7.3-debug-build.patch
# Add configure-time support for the COUNT_ALLOCS and CALL_PROFILE options # Add configure-time support for the COUNT_ALLOCS and CALL_PROFILE options
@ -448,9 +445,8 @@ Patch113: 00113-more-configuration-flags.patch
# (rhbz:553020); partially upstream as http://bugs.python.org/issue7647 # (rhbz:553020); partially upstream as http://bugs.python.org/issue7647
Patch114: 00114-statvfs-f_flag-constants.patch Patch114: 00114-statvfs-f_flag-constants.patch
# Make "pydoc -k" more robust in the face of broken modules # Upstream as of Python 2.7.3:
# (rhbz:461419; patch sent upstream as http://bugs.python.org/issue7425 ) # Patch115: make-pydoc-more-robust-001.patch
Patch115: make-pydoc-more-robust-001.patch
# Upstream r79310 removed the "Modules" directory from sys.path when Python is # 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). # running from the build directory on POSIX to fix a unit test (issue #8205).
@ -568,12 +564,8 @@ Patch143: 00143-tsc-on-ppc.patch
# (Optionally) disable the gdbm module: # (Optionally) disable the gdbm module:
Patch144: 00144-no-gdbm.patch Patch144: 00144-no-gdbm.patch
# Force MACHDEP and thus sys.platform to be "linux2" even on systems with # Upstream as of Python 2.7.3:
# linux 3, given that the distinction is meaningless (especially in Koji, where # Patch145: 00145-force-sys-platform-to-be-linux2.patch
# "uname" reflects the kernel running _outside_ the mock-provided chroot).
#
# Backport of part of fix for http://bugs.python.org/issue12326
Patch145: 00145-force-sys-platform-to-be-linux2.patch
# Support OpenSSL FIPS mode (e.g. when OPENSSL_FORCE_FIPS_MODE=1 is set) # Support OpenSSL FIPS mode (e.g. when OPENSSL_FORCE_FIPS_MODE=1 is set)
# - handle failures from OpenSSL (e.g. on attempts to use MD5 in a # - handle failures from OpenSSL (e.g. on attempts to use MD5 in a
@ -597,9 +589,8 @@ Patch146: 00146-hashlib-fips.patch
# Not yet sent upstream # Not yet sent upstream
Patch147: 00147-add-debug-malloc-stats.patch Patch147: 00147-add-debug-malloc-stats.patch
# Cherrypick fix for dbm version detection to cope with gdbm-1.9's magic values # Upstream as of Python 2.7.3:
# Taken from upstream http://bugs.python.org/issue13007 (rhbz#742242) # Patch148: 00148-gdbm-1.9-magic-values.patch
Patch148: 00148-gdbm-1.9-magic-values.patch
# python3.spec's # python3.spec's
# Patch149: 00149-backport-issue11254-pycache-bytecompilation-fix.patch # Patch149: 00149-backport-issue11254-pycache-bytecompilation-fix.patch
@ -609,10 +600,16 @@ Patch148: 00148-gdbm-1.9-magic-values.patch
# Patch150: 00150-disable-rAssertAlmostEqual-cmath-on-ppc.patch # Patch150: 00150-disable-rAssertAlmostEqual-cmath-on-ppc.patch
# as a workaround for a glibc bug on PPC (bz #750811) # as a workaround for a glibc bug on PPC (bz #750811)
# Fix deadlock in fork: # Upstream as of Python 2.7.3:
# https://bugzilla.redhat.com/show_bug.cgi?id=787712 # Patch151: 00151-fork-deadlock.patch
# http://bugs.python.org/issue13817
Patch151: 00151-fork-deadlock.patch # python3.spec has:
# Patch152: 00152-fix-test-gdb-regex.patch
# Strip out lines of the form "warning: Unable to open ..." from gdb's stderr
# when running test_gdb.py; also cope with change to gdb in F17 onwards in
# which values are printed as "v@entry" rather than just "v":
Patch153: 00153-fix-test_gdb-noise.patch
# (New patches go here ^^^) # (New patches go here ^^^)
# #
@ -865,7 +862,7 @@ done
%endif %endif
%patch10 -p1 -b .binutils-no-dep %patch10 -p1 -b .binutils-no-dep
%patch11 -p1 -b .ascii-tolower # patch11: upstream as of Python 2.7.3
%patch13 -p1 -b .socketmodule %patch13 -p1 -b .socketmodule
%patch14 -p1 -b .socketmodule2 %patch14 -p1 -b .socketmodule2
%patch16 -p1 -b .rpath %patch16 -p1 -b .rpath
@ -884,12 +881,12 @@ done
%patch114 -p1 -b .statvfs-f-flag-constants %patch114 -p1 -b .statvfs-f-flag-constants
%patch115 -p0 # patch115: upstream as of Python 2.7.3
%patch121 -p0 -R %patch121 -p0 -R
%patch125 -p1 -b .less-verbose-COUNT_ALLOCS %patch125 -p1 -b .less-verbose-COUNT_ALLOCS
%patch126 -p0 -b .fix-dbm_contains-on-64bit-bigendian %patch126 -p0 -b .fix-dbm_contains-on-64bit-bigendian
%patch127 -p0 -b .fix-test_structmember-on-64bit-bigendian %patch127 -p1 -b .fix-test_structmember-on-64bit-bigendian
%patch128 -p1 %patch128 -p1
%patch130 -p1 %patch130 -p1
@ -917,13 +914,15 @@ done
%if !%{with_gdbm} %if !%{with_gdbm}
%patch144 -p1 %patch144 -p1
%endif %endif
%patch145 -p1 -b .linux2 # 00145: upstream as of Python 2.7.3
%patch146 -p1 %patch146 -p1
%patch147 -p1 %patch147 -p1
%patch148 -p1 # 00148: upstream as of Python 2.7.3
# 00149: not for python 2 # 00149: not for python 2
# 00150: not for python 2 # 00150: not for python 2
%patch151 -p1 # 00151: upstream as of Python 2.7.3
# 00152: not for python 2
%patch153 -p0
# This shouldn't be necesarry, but is right now (2.2a3) # This shouldn't be necesarry, but is right now (2.2a3)
@ -1170,7 +1169,7 @@ cp -a save_bits_of_test/* %{buildroot}/%{pylibdir}/test
fi fi
%if %{main_python} %if %{main_python}
ln -s python %{buildroot}%{_bindir}/python2 ln -s python2.7-debug-config %{buildroot}%{_bindir}/python-debug-config
%if 0%{?with_debug_build} %if 0%{?with_debug_build}
ln -s python-debug %{buildroot}%{_bindir}/python2-debug ln -s python-debug %{buildroot}%{_bindir}/python2-debug
%endif # with_debug_build %endif # with_debug_build
@ -1565,6 +1564,7 @@ rm -fr %{buildroot}
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/pkgconfig/python-%{pybasever}.pc %{_libdir}/pkgconfig/python-%{pybasever}.pc
%{_libdir}/pkgconfig/python.pc %{_libdir}/pkgconfig/python.pc
%{_libdir}/pkgconfig/python2.pc
%{pylibdir}/config/* %{pylibdir}/config/*
%exclude %{pylibdir}/config/Makefile %exclude %{pylibdir}/config/Makefile
%{pylibdir}/distutils/command/wininst-*.exe %{pylibdir}/distutils/command/wininst-*.exe
@ -1752,6 +1752,14 @@ rm -fr %{buildroot}
# ====================================================== # ======================================================
%changelog %changelog
* Wed Apr 11 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-1
- 2.7.3: refresh patch 102 (lib64); drop upstream patches 11 (ascii-to-lower),
115 (pydoc robustness), 145 (linux2), 148 (gdbm magic values), 151 (deadlock
in fork); refresh patch 112 (debug build); revise patch 127
(test_structmember); fix test_gdb (patch 153); refresh patch 137 (distutils
tests); add python2.pc to python-devel; regenerate the autotool intermediates
patch (patch 300)
* Sat Feb 25 2012 Thomas Spura <tomspur@fedoraproject.org> - 2.7.2-20 * Sat Feb 25 2012 Thomas Spura <tomspur@fedoraproject.org> - 2.7.2-20
- fix deadlock issue (#787712) - fix deadlock issue (#787712)

View File

@ -1 +1 @@
75c87a80c6ddb0b785a57ea3583e04fa Python-2.7.2.tar.xz 62c4c1699170078c469f79ddfed21bc0 Python-2.7.3.tar.xz