Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b218f78daf | ||
|
fa4c8e4737 | ||
|
23be90746c | ||
|
607ce95f34 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
68
00132-add-rpmbuild-hooks-to-unittest.patch
Normal file
68
00132-add-rpmbuild-hooks-to-unittest.patch
Normal 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)
|
11
00152-fix-test-gdb-regex.patch
Normal file
11
00152-fix-test-gdb-regex.patch
Normal 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))
|
35
00153-fix-test_gdb-noise.patch
Normal file
35
00153-fix-test_gdb-noise.patch
Normal 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
|
11
00154-skip-urllib-test-requiring-working-DNS.patch
Normal file
11
00154-skip-urllib-test-requiring-working-DNS.patch
Normal 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)
|
@ -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
|
||||
|
@ -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
|
@ -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
|
@ -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,
|
@ -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"
|
178
python3.spec
178
python3.spec
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user