Compare commits

...

4 Commits
master ... f15

Author SHA1 Message Date
David Malcolm
b218f78daf 3.2.3-1
* Thu Apr 12 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-1
- 3.2.3; refresh patch 6 (no static lib), patch 102 (lib64) and patch 129
(test_subprocess); fix test_gdb (patches 152 and 153); regenerate the autotool
intermediates patch (patch 300); run unit tests verbosely; add support for
skipping unit tests in rpmbuild (patch 132), use it to skip a specific urllib
test (patch 154)
2012-04-13 20:14:27 -04:00
Daniel Drake
fa4c8e4737 ARM build fixes (#724624)
Exclude failing float and pty/openpty tests

Already fixed in F16.
2011-10-10 17:59:11 +01:00
David Malcolm
23be90746c fix the libpython.stp systemtap tapset (rhbz#697730) 2011-04-19 12:09:59 -04:00
David Malcolm
607ce95f34 3.2; add python3-debug symlink
- 3.2
- remove alphatag
- regenerate autotool patch
- add a /usr/bin/python3-debug symlink within the debug subpackage
2011-02-21 15:59:56 -05:00
12 changed files with 347 additions and 120 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ Python-3.2a1.tar.bz2
/Python-3.2b2.tar.bz2
/Python-3.2rc1.tar.bz2
/Python-3.2rc2.tar.bz2
/Python-3.2.tar.bz2

View File

@ -0,0 +1,68 @@
diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/case.py
--- Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400
+++ Python-3.2.2/Lib/unittest/case.py 2011-09-09 06:35:16.365568382 -0400
@@ -3,6 +3,7 @@
import sys
import functools
import difflib
+import os
import pprint
import re
import warnings
@@ -101,6 +102,43 @@ def expectedFailure(func):
return wrapper
+# Non-standard/downstream-only hooks for handling issues with specific test
+# cases:
+
+def _skipInRpmBuild(reason):
+ """
+ Non-standard/downstream-only decorator for marking a specific unit test
+ to be skipped when run within the %check of an rpmbuild.
+
+ Specifically, this takes effect when WITHIN_PYTHON_RPM_BUILD is set within
+ the environment, and has no effect otherwise.
+ """
+ if 'WITHIN_PYTHON_RPM_BUILD' in os.environ:
+ return skip(reason)
+ else:
+ return _id
+
+def _expectedFailureInRpmBuild(func):
+ """
+ Non-standard/downstream-only decorator for marking a specific unit test
+ as expected to fail within the %check of an rpmbuild.
+
+ Specifically, this takes effect when WITHIN_PYTHON_RPM_BUILD is set within
+ the environment, and has no effect otherwise.
+ """
+ @functools.wraps(func)
+ def wrapper(*args, **kwargs):
+ if 'WITHIN_PYTHON_RPM_BUILD' in os.environ:
+ try:
+ func(*args, **kwargs)
+ except Exception:
+ raise _ExpectedFailure(sys.exc_info())
+ raise _UnexpectedSuccess
+ else:
+ # Call directly:
+ func(*args, **kwargs)
+ return wrapper
+
class _AssertRaisesBaseContext(object):
def __init__(self, expected, test_case, callable_obj=None,
diff -up Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/__init__.py
--- Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400
+++ Python-3.2.2/Lib/unittest/__init__.py 2011-09-09 06:35:16.366568382 -0400
@@ -57,7 +57,8 @@ __unittest = True
from .result import TestResult
from .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf,
- skipUnless, expectedFailure)
+ skipUnless, expectedFailure,
+ _skipInRpmBuild, _expectedFailureInRpmBuild)
from .suite import BaseTestSuite, TestSuite
from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames,
findTestCases)

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

View File

@ -0,0 +1,11 @@
diff -up Python-3.2.3/Lib/test/test_urllib.py.dns Python-3.2.3/Lib/test/test_urllib.py
--- Python-3.2.3/Lib/test/test_urllib.py.dns 2012-04-13 15:36:36.619369718 -0400
+++ Python-3.2.3/Lib/test/test_urllib.py 2012-04-13 15:49:39.439583119 -0400
@@ -1146,6 +1146,7 @@ class Utility_Tests(unittest.TestCase):
self.assertEqual(('user 2', 'ab'),urllib.parse.splitpasswd('user 2:ab'))
self.assertEqual(('user+1', 'a+b'),urllib.parse.splitpasswd('user+1:a+b'))
+ @unittest._skipInRpmBuild('test requires working DNS')
def test_thishost(self):
"""Test the urllib.request.thishost utility function returns a tuple"""
self.assertIsInstance(urllib.request.thishost(), tuple)

View File

@ -1,14 +1,7 @@
diff -up ./configure.autotool-intermediates ./configure
--- ./configure.autotool-intermediates 2011-01-17 13:09:50.836697224 -0500
+++ ./configure 2011-01-17 13:09:56.662690482 -0500
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Revision: 87646 .
+# From configure.in Revision: 87698 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.65 for python 3.2.
#
@@ -611,6 +611,8 @@ TRUE
--- ./configure.autotool-intermediates 2012-04-11 20:50:28.717233377 -0400
+++ ./configure 2012-04-11 20:50:32.318188358 -0400
@@ -619,6 +619,8 @@ TRUE
MACHDEP_OBJS
DYNLOADFILE
DLINCLDIR
@ -17,7 +10,7 @@ diff -up ./configure.autotool-intermediates ./configure
THREADOBJ
LDLAST
USE_THREAD_MODULE
@@ -749,8 +751,11 @@ with_thread
@@ -764,8 +766,11 @@ with_thread
enable_ipv6
with_doc_strings
with_tsc
@ -29,7 +22,7 @@ diff -up ./configure.autotool-intermediates ./configure
with_fpectl
with_libm
with_libc
@@ -1421,8 +1426,11 @@ Optional Packages:
@@ -1437,8 +1442,11 @@ Optional Packages:
deprecated; use --with(out)-threads
--with(out)-doc-strings disable/enable documentation strings
--with(out)-tsc enable/disable timestamp counter profile
@ -41,7 +34,7 @@ diff -up ./configure.autotool-intermediates ./configure
--with-fpectl enable SIGFPE catching
--with-libm=STRING math library
--with-libc=STRING C library
@@ -9138,6 +9146,50 @@ $as_echo "no" >&6; }
@@ -9288,6 +9296,50 @@ $as_echo "no" >&6; }
fi
@ -92,7 +85,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; }
@@ -9190,6 +9242,46 @@ fi
@@ -9340,6 +9392,46 @@ fi
OPT="-DDYNAMIC_ANNOTATIONS_ENABLED=1 $OPT"
fi
@ -139,20 +132,9 @@ diff -up ./configure.autotool-intermediates ./configure
# -I${DLINCLDIR} is added to the compile rule for importdl.o
DLINCLDIR=.
@@ -14304,8 +14396,8 @@ esac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
-config_files="`echo $ac_config_files`"
-config_headers="`echo $ac_config_headers`"
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
_ACEOF
diff -up ./pyconfig.h.in.autotool-intermediates ./pyconfig.h.in
--- ./pyconfig.h.in.autotool-intermediates 2011-01-17 13:09:50.827696887 -0500
+++ ./pyconfig.h.in 2011-01-17 13:09:56.963611199 -0500
--- ./pyconfig.h.in.autotool-intermediates 2012-04-11 20:50:28.710233464 -0400
+++ ./pyconfig.h.in 2012-04-11 20:50:32.551185446 -0400
@@ -12,15 +12,15 @@
support for AIX C++ shared extension modules. */
#undef AIX_GENUINE_CPLUSPLUS

View File

@ -1,7 +1,7 @@
diff -up Python-3.2rc1/Makefile.pre.in.no-static-lib Python-3.2rc1/Makefile.pre.in
--- Python-3.2rc1/Makefile.pre.in.no-static-lib 2010-12-30 17:12:40.000000000 -0500
+++ Python-3.2rc1/Makefile.pre.in 2011-01-17 12:58:32.123947161 -0500
@@ -421,7 +421,7 @@ coverage:
diff -up Python-3.2.1/Makefile.pre.in.no-static-lib Python-3.2.1/Makefile.pre.in
--- Python-3.2.1/Makefile.pre.in.no-static-lib 2011-07-09 02:58:52.000000000 -0400
+++ Python-3.2.1/Makefile.pre.in 2011-07-11 11:46:27.381425999 -0400
@@ -425,7 +425,7 @@ coverage:
# Build the interpreter
@ -10,7 +10,7 @@ diff -up Python-3.2rc1/Makefile.pre.in.no-static-lib Python-3.2rc1/Makefile.pre.
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
platform: $(BUILDPYTHON)
@@ -435,18 +435,6 @@ sharedmods: $(BUILDPYTHON)
@@ -439,18 +439,6 @@ sharedmods: $(BUILDPYTHON)
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
esac
@ -29,7 +29,16 @@ diff -up Python-3.2rc1/Makefile.pre.in.no-static-lib Python-3.2rc1/Makefile.pre.
libpython$(LDVERSION).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \
$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
@@ -1048,18 +1036,6 @@ libainstall: all python-config
@@ -540,7 +528,7 @@ Modules/Setup: $(srcdir)/Modules/Setup.d
echo "-----------------------------------------------"; \
fi
-Modules/_testembed: Modules/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+Modules/_testembed: Modules/_testembed.o $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
############################################################################
@@ -1058,18 +1046,6 @@ libainstall: all python-config
else true; \
fi; \
done

View File

@ -0,0 +1,12 @@
diff -up Python-3.2.3/Lib/test/test_subprocess.py.test_subprocess Python-3.2.3/Lib/test/test_subprocess.py
--- Python-3.2.3/Lib/test/test_subprocess.py.test_subprocess 2012-04-11 02:54:05.000000000 -0400
+++ Python-3.2.3/Lib/test/test_subprocess.py 2012-04-11 20:48:38.408612425 -0400
@@ -651,7 +651,7 @@ class ProcessTestCase(BaseTestCase):
for i in range(1024):
# Windows raises IOError. Others raise OSError.
with self.assertRaises(EnvironmentError) as c:
- subprocess.Popen(['nonexisting_i_hope'],
+ subprocess.Popen(['/usr/bin/nonexisting_i_hope'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
# ignore errors that indicate the command was not found

View File

@ -1,7 +1,7 @@
diff -up Python-3.2b2/Lib/distutils/command/install.py.lib64 Python-3.2b2/Lib/distutils/command/install.py
--- Python-3.2b2/Lib/distutils/command/install.py.lib64 2010-11-24 22:46:44.000000000 -0500
+++ Python-3.2b2/Lib/distutils/command/install.py 2010-12-29 10:21:55.510184563 -0500
@@ -47,14 +47,14 @@ else:
diff -up Python-3.2.3/Lib/distutils/command/install.py.lib64 Python-3.2.3/Lib/distutils/command/install.py
--- Python-3.2.3/Lib/distutils/command/install.py.lib64 2012-04-11 02:54:02.000000000 -0400
+++ Python-3.2.3/Lib/distutils/command/install.py 2012-04-11 19:01:19.727107020 -0400
@@ -45,14 +45,14 @@ else:
INSTALL_SCHEMES = {
'unix_prefix': {
'purelib': '$base/lib/python$py_version_short/site-packages',
@ -18,10 +18,10 @@ diff -up Python-3.2b2/Lib/distutils/command/install.py.lib64 Python-3.2b2/Lib/di
'headers': '$base/include/python/$dist_name',
'scripts': '$base/bin',
'data' : '$base',
diff -up Python-3.2b2/Lib/distutils/sysconfig.py.lib64 Python-3.2b2/Lib/distutils/sysconfig.py
--- Python-3.2b2/Lib/distutils/sysconfig.py.lib64 2010-11-24 14:43:47.000000000 -0500
+++ Python-3.2b2/Lib/distutils/sysconfig.py 2010-12-29 10:21:55.510184563 -0500
@@ -124,8 +124,12 @@ def get_python_lib(plat_specific=0, stan
diff -up Python-3.2.3/Lib/distutils/sysconfig.py.lib64 Python-3.2.3/Lib/distutils/sysconfig.py
--- Python-3.2.3/Lib/distutils/sysconfig.py.lib64 2012-04-11 02:54:02.000000000 -0400
+++ Python-3.2.3/Lib/distutils/sysconfig.py 2012-04-11 19:01:19.727107020 -0400
@@ -122,8 +122,12 @@ def get_python_lib(plat_specific=0, stan
prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
@ -35,10 +35,10 @@ diff -up Python-3.2b2/Lib/distutils/sysconfig.py.lib64 Python-3.2b2/Lib/distutil
if standard_lib:
return libpython
else:
diff -up Python-3.2b2/Lib/site.py.lib64 Python-3.2b2/Lib/site.py
--- Python-3.2b2/Lib/site.py.lib64 2010-10-12 18:23:23.000000000 -0400
+++ Python-3.2b2/Lib/site.py 2010-12-29 10:21:55.511184595 -0500
@@ -275,12 +275,16 @@ def getsitepackages():
diff -up Python-3.2.3/Lib/site.py.lib64 Python-3.2.3/Lib/site.py
--- Python-3.2.3/Lib/site.py.lib64 2012-04-11 02:54:03.000000000 -0400
+++ Python-3.2.3/Lib/site.py 2012-04-11 19:01:19.728107008 -0400
@@ -285,12 +285,16 @@ def getsitepackages():
if sys.platform in ('os2emx', 'riscos'):
sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
elif os.sep == '/':
@ -55,9 +55,9 @@ diff -up Python-3.2b2/Lib/site.py.lib64 Python-3.2b2/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-3.2b2/Lib/sysconfig.py.lib64 Python-3.2b2/Lib/sysconfig.py
--- Python-3.2b2/Lib/sysconfig.py.lib64 2010-11-24 20:34:47.000000000 -0500
+++ Python-3.2b2/Lib/sysconfig.py 2010-12-29 10:21:55.512184877 -0500
diff -up Python-3.2.3/Lib/sysconfig.py.lib64 Python-3.2.3/Lib/sysconfig.py
--- Python-3.2.3/Lib/sysconfig.py.lib64 2012-04-11 02:54:03.000000000 -0400
+++ Python-3.2.3/Lib/sysconfig.py 2012-04-11 19:01:19.728107008 -0400
@@ -21,10 +21,10 @@ __all__ = [
_INSTALL_SCHEMES = {
@ -86,13 +86,13 @@ diff -up Python-3.2b2/Lib/sysconfig.py.lib64 Python-3.2b2/Lib/sysconfig.py
'include': '{userbase}/include/python{py_version_short}',
'scripts': '{userbase}/bin',
'data' : '{userbase}',
diff -up Python-3.2b2/Lib/test/test_site.py.lib64 Python-3.2b2/Lib/test/test_site.py
--- Python-3.2b2/Lib/test/test_site.py.lib64 2010-12-29 10:35:12.417308989 -0500
+++ Python-3.2b2/Lib/test/test_site.py 2010-12-29 10:36:27.124059073 -0500
@@ -164,12 +164,15 @@ class HelperFunctionsTests(unittest.Test
wanted = os.path.join('xoxo', 'Lib', 'site-packages')
self.assertEqual(dirs[0], wanted)
diff -up Python-3.2.3/Lib/test/test_site.py.lib64 Python-3.2.3/Lib/test/test_site.py
--- Python-3.2.3/Lib/test/test_site.py.lib64 2012-04-11 02:54:05.000000000 -0400
+++ Python-3.2.3/Lib/test/test_site.py 2012-04-11 19:02:01.413585869 -0400
@@ -236,12 +236,15 @@ class HelperFunctionsTests(unittest.Test
self.assertEqual(dirs[2], wanted)
elif os.sep == '/':
# OS X non-framwework builds, Linux, FreeBSD, etc
- self.assertEqual(len(dirs), 2)
- wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
+ self.assertEqual(len(dirs), 3)
@ -106,12 +106,12 @@ diff -up Python-3.2b2/Lib/test/test_site.py.lib64 Python-3.2b2/Lib/test/test_sit
+ wanted = os.path.join('xoxo', 'lib', 'site-python')
+ self.assertEqual(dirs[2], wanted)
else:
# other platforms
self.assertEqual(len(dirs), 2)
self.assertEqual(dirs[0], 'xoxo')
diff -up Python-3.2b2/Makefile.pre.in.lib64 Python-3.2b2/Makefile.pre.in
--- Python-3.2b2/Makefile.pre.in.lib64 2010-12-29 10:21:55.506183982 -0500
+++ Python-3.2b2/Makefile.pre.in 2010-12-29 10:21:55.512184877 -0500
@@ -102,7 +102,7 @@ LIBDIR= @libdir@
diff -up Python-3.2.3/Makefile.pre.in.lib64 Python-3.2.3/Makefile.pre.in
--- Python-3.2.3/Makefile.pre.in.lib64 2012-04-11 19:01:19.722107084 -0400
+++ Python-3.2.3/Makefile.pre.in 2012-04-11 19:01:19.729106996 -0400
@@ -106,7 +106,7 @@ LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
@ -120,9 +120,9 @@ diff -up Python-3.2b2/Makefile.pre.in.lib64 Python-3.2b2/Makefile.pre.in
ABIFLAGS= @ABIFLAGS@
# Detailed destination directories
diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
--- Python-3.2b2/Modules/getpath.c.lib64 2010-12-03 15:14:31.000000000 -0500
+++ Python-3.2b2/Modules/getpath.c 2010-12-29 10:21:55.513184358 -0500
diff -up Python-3.2.3/Modules/getpath.c.lib64 Python-3.2.3/Modules/getpath.c
--- Python-3.2.3/Modules/getpath.c.lib64 2012-04-11 02:54:07.000000000 -0400
+++ Python-3.2.3/Modules/getpath.c 2012-04-11 19:01:19.729106996 -0400
@@ -122,8 +122,8 @@
#endif
@ -134,16 +134,16 @@ diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
#endif
#ifndef LANDMARK
@@ -134,7 +134,7 @@ static wchar_t prefix[MAXPATHLEN+1];
static wchar_t exec_prefix[MAXPATHLEN+1];
@@ -135,7 +135,7 @@ static wchar_t exec_prefix[MAXPATHLEN+1]
static wchar_t progpath[MAXPATHLEN+1];
static wchar_t *module_search_path = NULL;
static int module_search_path_malloced = 0;
-static wchar_t *lib_python = L"lib/python" VERSION;
+static wchar_t *lib_python = L"lib64/python" VERSION;
static void
reduce(wchar_t *dir)
@@ -582,7 +582,7 @@ calculate_path(void)
@@ -583,7 +583,7 @@ calculate_path(void)
}
else
wcsncpy(zip_path, _prefix, MAXPATHLEN);
@ -152,7 +152,7 @@ diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
bufsz = wcslen(zip_path); /* Replace "00" with version */
zip_path[bufsz - 6] = VERSION[0];
zip_path[bufsz - 5] = VERSION[2];
@@ -592,7 +592,7 @@ calculate_path(void)
@@ -593,7 +593,7 @@ calculate_path(void)
fprintf(stderr,
"Could not find platform dependent libraries <exec_prefix>\n");
wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
@ -161,19 +161,19 @@ diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
}
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
diff -up Python-3.2b2/setup.py.lib64 Python-3.2b2/setup.py
--- Python-3.2b2/setup.py.lib64 2010-12-04 13:36:03.000000000 -0500
+++ Python-3.2b2/setup.py 2010-12-29 10:21:55.514184248 -0500
@@ -373,7 +373,7 @@ class PyBuildExt(build_ext):
diff -up Python-3.2.3/setup.py.lib64 Python-3.2.3/setup.py
--- Python-3.2.3/setup.py.lib64 2012-04-11 02:54:08.000000000 -0400
+++ Python-3.2.3/setup.py 2012-04-11 19:01:19.730106984 -0400
@@ -396,7 +396,7 @@ class PyBuildExt(build_ext):
# Ensure that /usr/local is always used, but the local build
# directories (i.e. '.' and 'Include') must be first. See issue
# 10520.
- 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.include_dirs, '/usr/local/include')
self.add_multiarch_paths()
# Add paths specified in the environment variables LDFLAGS and
@@ -619,11 +619,11 @@ class PyBuildExt(build_ext):
@@ -643,11 +643,11 @@ class PyBuildExt(build_ext):
elif curses_library:
readline_libs.append(curses_library)
elif self.compiler.find_library_file(lib_dirs +
@ -187,7 +187,7 @@ diff -up Python-3.2b2/setup.py.lib64 Python-3.2b2/setup.py
extra_link_args=readline_extra_link_args,
libraries=readline_libs) )
else:
@@ -660,8 +660,8 @@ class PyBuildExt(build_ext):
@@ -684,8 +684,8 @@ class PyBuildExt(build_ext):
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,

View File

@ -1,12 +0,0 @@
diff -up Python-3.2b2/Lib/test/test_subprocess.py.non-readable-path Python-3.2b2/Lib/test/test_subprocess.py
--- Python-3.2b2/Lib/test/test_subprocess.py.non-readable-path 2010-12-29 16:25:38.498184175 -0500
+++ Python-3.2b2/Lib/test/test_subprocess.py 2010-12-29 16:25:51.094184539 -0500
@@ -578,7 +578,7 @@ class ProcessTestCase(BaseTestCase):
for i in range(1024):
# Windows raises IOError. Others raise OSError.
with self.assertRaises(EnvironmentError) as c:
- subprocess.Popen(['nonexisting_i_hope'],
+ subprocess.Popen(['/usr/bin/nonexisting_i_hope'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
if c.exception.errno != errno.ENOENT: # ignore "no such file"

View File

@ -3,8 +3,6 @@
# pybasever without the dot:
%global pyshortver 32
%global alphatag rc2
%global pylibdir %{_libdir}/python%{pybasever}
%global dynload_dir %{pylibdir}/lib-dynload
@ -112,11 +110,11 @@
Summary: Version 3 of the Python programming language aka Python 3000
Name: python3
Version: %{pybasever}
Release: 0.11.%{alphatag}%{?dist}
Version: %{pybasever}.3
Release: 1%{?dist}
License: Python
Group: Development/Languages
Source: http://python.org/ftp/python/%{version}/Python-%{version}%{alphatag}.tar.bz2
Source: http://python.org/ftp/python/%{version}/Python-%{version}.tar.bz2
# Avoid having various bogus auto-generated Provides lines for the various
# python c modules' SONAMEs:
@ -178,7 +176,7 @@ Patch3: python-3.2b2-remove-mimeaudio-tests.patch
# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
# a libpythonMAJOR.MINOR.a (bug 550692):
Patch6: python-3.2rc1-no-static-lib.patch
Patch6: python-3.2.1-no-static-lib.patch
# Systemtap support: add statically-defined probe points
# Patch based on upstream bug: http://bugs.python.org/issue4111
@ -187,7 +185,7 @@ Patch6: python-3.2rc1-no-static-lib.patch
# dmalcolm
Patch8: python-3.2b2-systemtap.patch
Patch102: python-3.2b2-lib64.patch
Patch102: python-3.2.3-lib64.patch
# Add configure-time support for the COUNT_ALLOCS and CALL_PROFILE options
# described at http://svn.python.org/projects/python/trunk/Misc/SpecialBuilds.txt
@ -229,7 +227,33 @@ Patch128: python-3.2b2-test_sys-COUNT_ALLOCS.patch
# Work around this by specifying an absolute path for the non-existant
# executable
# Not yet sent upstream
Patch129: python-3.2b2-fix-test-subprocess-with-nonreadable-path-dir.patch
Patch129: python-3.2.3-fix-test-subprocess-with-nonreadable-path-dir.patch
# Add non-standard hooks to unittest for use in the "check" phase below, when
# running selftests within the build:
# @unittest._skipInRpmBuild(reason)
# for tests that hang or fail intermittently within the build environment, and:
# @unittest._expectedFailureInRpmBuild
# for tests that always fail within the build environment
#
# The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the
# environment, which we set manually in the appropriate portion of the "check"
# phase below (and which potentially other python-* rpms could set, to reuse
# these unittest hooks in their own "check" phases)
Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch
# Fix a regex in test_gdb so that it doesn't choke when gdb provides a full
# path to Python/bltinmodule.c:
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
# Skip a test that requires sane DNS during rpmbuild, since this was failing
# inside Koji for some reason:
Patch154: 00154-skip-urllib-test-requiring-working-DNS.patch
# This is the generated patch to "configure"; see the description of
# %{regenerate_autotooling_patch}
@ -352,7 +376,7 @@ can load its own extensions.
%endif # with_debug_build
%prep
%setup -q -n Python-%{version}%{alphatag}
%setup -q -n Python-%{version}
chmod +x %{SOURCE1}
%if 0%{?with_systemtap}
@ -399,6 +423,12 @@ rm -r Modules/zlib || exit 1
%patch128 -p1
%patch129 -p1
%patch132 -p1
%patch152 -p0
%patch153 -p0
%patch154 -p1
# 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.
#
@ -737,6 +767,13 @@ for Module in %{buildroot}/%{dynload_dir}/*.so ; do
esac
done
# Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to
# avoid the user having to know the precise version and ABI flags. (see
# e.g. rhbz#676748):
ln -s \
%{_bindir}/python%{LDVERSION_debug} \
%{buildroot}%{_bindir}/python3-debug
#
# Systemtap hooks:
#
@ -754,13 +791,13 @@ mkdir -p %{buildroot}%{tapsetdir}
sed \
-e "s|LIBRARY_PATH|%{_libdir}/%{py_INSTSONAME_optimized}|" \
%{SOURCE6} \
%{_sourcedir}/libpython.stp \
> %{buildroot}%{tapsetdir}/%{libpython_stp_optimized}
%if 0%{?with_debug_build}
sed \
-e "s|LIBRARY_PATH|%{_libdir}/%{py_INSTSONAME_debug}|" \
%{SOURCE6} \
%{_sourcedir}/libpython.stp \
> %{buildroot}%{tapsetdir}/%{libpython_stp_debug}
%endif # with_debug_build
@ -774,31 +811,83 @@ CheckPython() {
echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
# Run the upstream test suite
LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest -x test_distutils test_httplib test_http_cookies test_socket test_telnet
# Notes about disabled tests:
#
# test_distutils.py
# This one tries to build an RPM inside the rpmbuild; I'll simply
# let this one fail for now (has trouble linking against -lpython3.1; perhaps
# LD_LIBRARY_PATH is being discarded somewhere?)
#
# test_http*
# I've seen occasional hangs in some http tests when running the test suite
# inside Koji on Python 3. For that reason I exclude them
#
# test_openpty:
# Fails in Koji, possibly due to a mock issue (rhbz#714627)
# test test_openpty failed -- Traceback (most recent call last):
# File "/builddir/build/BUILD/Python-3.2/Lib/test/test_openpty.py", line 12, in test
# master, slave = os.openpty()
# OSError: [Errno 2] No such file or directory
#
# test_pty:
# Fails in Koji, possibly due to a mock issue (rhbz#714627)
# test test_pty failed -- Traceback (most recent call last):
# File "/builddir/build/BUILD/Python-3.2/Lib/test/test_pty.py", line 114, in test_fork
# pid, master_fd = pty.fork()
# File "/builddir/build/BUILD/Python-3.2/Lib/pty.py", line 107, in fork
# master_fd, slave_fd = openpty()
# File "/builddir/build/BUILD/Python-3.2/Lib/pty.py", line 29, in openpty
# master_fd, slave_name = _open_terminal()
# File "/builddir/build/BUILD/Python-3.2/Lib/pty.py", line 70, in _open_terminal
# raise os.error('out of pty devices')
# OSError: out of pty devices
#
# test_socket:
# test_socket.py:testSockName can fail here if DNS isn't properly set up:
# my_ip_addr = socket.gethostbyname(socket.gethostname())
# socket.gaierror: [Errno -2] Name or service not known
#
# test_telnet:
# can get a "socket.error: [Errno 104] Connection reset by peer"
#
# Some additional tests fail when running the test suite as non-root outside of
# the build, due to permissions issues.
# Note that we're running the tests using the version of the code in the builddir,
# not in the buildroot.
%ifarch %{arm}
EXCLUDED_TESTS="\
test_distutils \
test_httplib \
test_http_cookies \
test_openpty \
test_pty.py \
test_pty \
test_socket \
test_telnet \
test_float \
%{nil}"
%else
EXCLUDED_TESTS="\
test_distutils \
test_httplib \
test_http_cookies \
test_openpty \
test_pty.py \
test_socket \
test_telnet \
%{nil}"
%endif
# I'm seeing occasional hangs in some http tests when running the test suite
# inside Koji. For that reason I exclude them
#
# Other known failures:
#
# (1) test_distutils.py: tries to build an RPM inside the rpmbuild; I'll simply
# let this one fail for now (has trouble linking against -lpython3.1; perhaps
# LD_LIBRARY_PATH is being discarded somewhere?)
#
# (2) test_socket.py:testSockName can fail here if DNS isn't properly set up:
# my_ip_addr = socket.gethostbyname(socket.gethostname())
# socket.gaierror: [Errno -2] Name or service not known
#
# (3) test_telnet: can get a "socket.error: [Errno 104] Connection reset by peer"
#
# Some additional tests fail when running the test suite as non-root outside of
# the build, due to permissions issues.
# Note that we're running the tests using the version of the code in the builddir,
# not in the buildroot.
echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfDir
# Run the upstream test suite, setting "WITHIN_PYTHON_RPM_BUILD" so that the
# our non-standard decorators take effect on the relevant tests:
# @unittest._skipInRpmBuild(reason)
# @unittest._expectedFailureInRpmBuild
WITHIN_PYTHON_RPM_BUILD= \
LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest -v -x $EXCLUDED_TESTS
echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
}
@ -830,7 +919,7 @@ rm -fr %{buildroot}
%doc LICENSE README
%dir %{pylibdir}
%dir %{dynload_dir}
%{dynload_dir}/Python-%{version}%{alphatag}-py%{pybasever}.egg-info
%{dynload_dir}/Python-%{version}-py%{pybasever}.egg-info
%{dynload_dir}/_bisect.%{SOABI_optimized}.so
%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so
%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so
@ -1063,6 +1152,7 @@ rm -fr %{buildroot}
# Analog of the core subpackage's files:
%{_bindir}/python%{LDVERSION_debug}
%{_bindir}/python3-debug
# Analog of the -libs subpackage's files:
# ...with debug builds of the built-in "extension" modules:
@ -1167,6 +1257,26 @@ rm -fr %{buildroot}
%changelog
* Thu Apr 12 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-1
- 3.2.3; refresh patch 6 (no static lib), patch 102 (lib64) and patch 129
(test_subprocess); fix test_gdb (patches 152 and 153); regenerate the autotool
intermediates patch (patch 300); run unit tests verbosely; add support for
skipping unit tests in rpmbuild (patch 132), use it to skip a specific urllib
test (patch 154)
* Sun Oct 09 2011 Daniel Drake <dsd@laptop.org> - 3.2-3
- don't run test_openpty and test_pty in %%check
- exclude failing tests on ARM
* Tue Apr 19 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-2
- fix the libpython.stp systemtap tapset (rhbz#697730)
* Mon Feb 21 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-1
- 3.2
- remove alphatag
- regenerate autotool patch
- add a /usr/bin/python3-debug symlink within the debug subpackage
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-0.11.rc2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

View File

@ -1 +1 @@
57ba48501a4261f3c227585b07629e27 Python-3.2rc2.tar.bz2
cea34079aeb2e21e7b60ee82a0ac286b Python-3.2.3.tar.bz2