* Tue Dec 28 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.5.b2
- 3.2b2 - rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs), patch 8 (systemtap), patch 102 (lib64) - remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149), patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar fixed upstream) - regenerate patch 300 (autotool intermediates) - workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127, patch 128) - stop using runtest.sh in %%check (dropped by upstream), replacing with regrtest; fixup list of failing tests - introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros - rework manifests of shared libraries to use "SOABI_" macros, reflecting PEP 3149 - drop itertools, operator and _collections modules from the manifests as py3k commit r84058 moved these inside libpython; json/tests moved to test/json_tests - move turtle code into the tkinter subpackage
This commit is contained in:
parent
824c34b61e
commit
5080ffc5d3
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
libpython-36a517ef7848cbd0b3dcc7371f32e47ac4c87eba.tar.gz
|
||||
Python-3.1.2.tar.bz2
|
||||
Python-3.2a1.tar.bz2
|
||||
/Python-3.2b2.tar.bz2
|
||||
|
File diff suppressed because it is too large
Load Diff
22
python-3.2b2-fix-test-gc-COUNT_ALLOCS.patch
Normal file
22
python-3.2b2-fix-test-gc-COUNT_ALLOCS.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff -up Python-3.2b2/Lib/test/test_gc.py.fix-test-gc-COUNT_ALLOCS Python-3.2b2/Lib/test/test_gc.py
|
||||
--- Python-3.2b2/Lib/test/test_gc.py.fix-test-gc-COUNT_ALLOCS 2010-12-28 20:39:40.779059772 -0500
|
||||
+++ Python-3.2b2/Lib/test/test_gc.py 2010-12-28 20:41:15.890940017 -0500
|
||||
@@ -102,10 +102,16 @@ class GCTests(unittest.TestCase):
|
||||
del a
|
||||
self.assertNotEqual(gc.collect(), 0)
|
||||
del B, C
|
||||
- self.assertNotEqual(gc.collect(), 0)
|
||||
+ if hasattr(sys, 'getcounts'):
|
||||
+ self.assertEqual(gc.collect(), 0)
|
||||
+ else:
|
||||
+ self.assertNotEqual(gc.collect(), 0)
|
||||
A.a = A()
|
||||
del A
|
||||
- self.assertNotEqual(gc.collect(), 0)
|
||||
+ if hasattr(sys, 'getcounts'):
|
||||
+ self.assertEqual(gc.collect(), 0)
|
||||
+ else:
|
||||
+ self.assertNotEqual(gc.collect(), 0)
|
||||
self.assertEqual(gc.collect(), 0)
|
||||
|
||||
def test_method(self):
|
@ -1,13 +1,13 @@
|
||||
diff -up Python-3.2a1/Lib/distutils/command/install.py.lib64 Python-3.2a1/Lib/distutils/command/install.py
|
||||
--- Python-3.2a1/Lib/distutils/command/install.py.lib64 2010-07-22 08:50:05.000000000 -0400
|
||||
+++ Python-3.2a1/Lib/distutils/command/install.py 2010-08-02 18:33:15.667001759 -0400
|
||||
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:
|
||||
INSTALL_SCHEMES = {
|
||||
'unix_prefix': {
|
||||
'purelib': '$base/lib/python$py_version_short/site-packages',
|
||||
- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
|
||||
+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages',
|
||||
'headers': '$base/include/python$py_version_short/$dist_name',
|
||||
'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
|
||||
'scripts': '$base/bin',
|
||||
'data' : '$base',
|
||||
},
|
||||
@ -18,10 +18,10 @@ diff -up Python-3.2a1/Lib/distutils/command/install.py.lib64 Python-3.2a1/Lib/di
|
||||
'headers': '$base/include/python/$dist_name',
|
||||
'scripts': '$base/bin',
|
||||
'data' : '$base',
|
||||
diff -up Python-3.2a1/Lib/distutils/sysconfig.py.lib64 Python-3.2a1/Lib/distutils/sysconfig.py
|
||||
--- Python-3.2a1/Lib/distutils/sysconfig.py.lib64 2010-07-23 05:43:17.000000000 -0400
|
||||
+++ Python-3.2a1/Lib/distutils/sysconfig.py 2010-08-02 18:33:15.669000547 -0400
|
||||
@@ -117,8 +117,12 @@ def get_python_lib(plat_specific=0, stan
|
||||
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
|
||||
prefix = plat_specific and EXEC_PREFIX or PREFIX
|
||||
|
||||
if os.name == "posix":
|
||||
@ -35,10 +35,10 @@ diff -up Python-3.2a1/Lib/distutils/sysconfig.py.lib64 Python-3.2a1/Lib/distutil
|
||||
if standard_lib:
|
||||
return libpython
|
||||
else:
|
||||
diff -up Python-3.2a1/Lib/site.py.lib64 Python-3.2a1/Lib/site.py
|
||||
--- Python-3.2a1/Lib/site.py.lib64 2010-06-27 17:45:24.000000000 -0400
|
||||
+++ Python-3.2a1/Lib/site.py 2010-08-02 18:34:30.584001242 -0400
|
||||
@@ -283,12 +283,16 @@ def getsitepackages():
|
||||
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():
|
||||
if sys.platform in ('os2emx', 'riscos'):
|
||||
sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
|
||||
elif os.sep == '/':
|
||||
@ -55,22 +55,75 @@ diff -up Python-3.2a1/Lib/site.py.lib64 Python-3.2a1/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.2a1/Makefile.pre.in.lib64 Python-3.2a1/Makefile.pre.in
|
||||
--- Python-3.2a1/Makefile.pre.in.lib64 2010-08-02 18:33:15.000000000 -0400
|
||||
+++ Python-3.2a1/Makefile.pre.in 2010-08-02 18:35:07.147000664 -0400
|
||||
@@ -100,7 +100,7 @@ LIBDIR= @libdir@
|
||||
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
|
||||
@@ -21,10 +21,10 @@ __all__ = [
|
||||
|
||||
_INSTALL_SCHEMES = {
|
||||
'posix_prefix': {
|
||||
- 'stdlib': '{base}/lib/python{py_version_short}',
|
||||
- 'platstdlib': '{platbase}/lib/python{py_version_short}',
|
||||
+ 'stdlib': '{base}/lib64/python{py_version_short}',
|
||||
+ 'platstdlib': '{platbase}/lib64/python{py_version_short}',
|
||||
'purelib': '{base}/lib/python{py_version_short}/site-packages',
|
||||
- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
|
||||
+ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
|
||||
'include':
|
||||
'{base}/include/python{py_version_short}{abiflags}',
|
||||
'platinclude':
|
||||
@@ -81,10 +81,10 @@ _INSTALL_SCHEMES = {
|
||||
'data' : '{userbase}',
|
||||
},
|
||||
'posix_user': {
|
||||
- 'stdlib': '{userbase}/lib/python{py_version_short}',
|
||||
- 'platstdlib': '{userbase}/lib/python{py_version_short}',
|
||||
+ 'stdlib': '{userbase}/lib64/python{py_version_short}',
|
||||
+ 'platstdlib': '{userbase}/lib64/python{py_version_short}',
|
||||
'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
|
||||
- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
|
||||
+ 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
|
||||
'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)
|
||||
elif os.sep == '/':
|
||||
- self.assertEqual(len(dirs), 2)
|
||||
- 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],
|
||||
'site-packages')
|
||||
self.assertEqual(dirs[0], wanted)
|
||||
- wanted = os.path.join('xoxo', 'lib', 'site-python')
|
||||
+ wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
|
||||
+ 'site-packages')
|
||||
self.assertEqual(dirs[1], wanted)
|
||||
+ wanted = os.path.join('xoxo', 'lib', 'site-python')
|
||||
+ self.assertEqual(dirs[2], wanted)
|
||||
else:
|
||||
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@
|
||||
MANDIR= @mandir@
|
||||
INCLUDEDIR= @includedir@
|
||||
CONFINCLUDEDIR= $(exec_prefix)/include
|
||||
-SCRIPTDIR= $(prefix)/lib
|
||||
+SCRIPTDIR= $(prefix)/lib64
|
||||
ABIFLAGS= @ABIFLAGS@
|
||||
|
||||
# Detailed destination directories
|
||||
BINLIBDEST= $(LIBDIR)/python$(VERSION)
|
||||
diff -up Python-3.2a1/Modules/getpath.c.lib64 Python-3.2a1/Modules/getpath.c
|
||||
--- Python-3.2a1/Modules/getpath.c.lib64 2010-07-23 12:05:35.000000000 -0400
|
||||
+++ Python-3.2a1/Modules/getpath.c 2010-08-02 18:35:50.857000717 -0400
|
||||
@@ -117,8 +117,8 @@
|
||||
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
|
||||
@@ -122,8 +122,8 @@
|
||||
#endif
|
||||
|
||||
#ifndef PYTHONPATH
|
||||
@ -81,45 +134,46 @@ diff -up Python-3.2a1/Modules/getpath.c.lib64 Python-3.2a1/Modules/getpath.c
|
||||
#endif
|
||||
|
||||
#ifndef LANDMARK
|
||||
@@ -129,7 +129,7 @@ static wchar_t prefix[MAXPATHLEN+1];
|
||||
@@ -134,7 +134,7 @@ static wchar_t prefix[MAXPATHLEN+1];
|
||||
static wchar_t exec_prefix[MAXPATHLEN+1];
|
||||
static wchar_t progpath[MAXPATHLEN+1];
|
||||
static wchar_t *module_search_path = NULL;
|
||||
-static wchar_t *lib_python = L"lib/python" VERSION;
|
||||
+static wchar_t *lib_python = L"lib64/python" VERSION;
|
||||
|
||||
/* In principle, this should use HAVE__WSTAT, and _wstat
|
||||
should be detected by autoconf. However, no current
|
||||
@@ -603,7 +603,7 @@ calculate_path(void)
|
||||
static void
|
||||
reduce(wchar_t *dir)
|
||||
@@ -582,7 +582,7 @@ calculate_path(void)
|
||||
}
|
||||
else
|
||||
wcsncpy(zip_path, L"" PREFIX, MAXPATHLEN);
|
||||
wcsncpy(zip_path, _prefix, MAXPATHLEN);
|
||||
- joinpath(zip_path, L"lib/python00.zip");
|
||||
+ joinpath(zip_path, L"lib64/python00.zip");
|
||||
bufsz = wcslen(zip_path); /* Replace "00" with version */
|
||||
zip_path[bufsz - 6] = VERSION[0];
|
||||
zip_path[bufsz - 5] = VERSION[2];
|
||||
@@ -613,7 +613,7 @@ calculate_path(void)
|
||||
@@ -592,7 +592,7 @@ calculate_path(void)
|
||||
fprintf(stderr,
|
||||
"Could not find platform dependent libraries <exec_prefix>\n");
|
||||
wcsncpy(exec_prefix, L"" EXEC_PREFIX, MAXPATHLEN);
|
||||
wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
|
||||
- joinpath(exec_prefix, L"lib/lib-dynload");
|
||||
+ joinpath(exec_prefix, L"lib64/lib-dynload");
|
||||
}
|
||||
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
|
||||
|
||||
--- Python-3.2a1/setup.py.lib64 2010-07-23 15:25:47.000000000 -0400
|
||||
+++ Python-3.2a1/setup.py 2010-08-02 18:36:51.521000448 -0400
|
||||
@@ -343,7 +343,7 @@ class PyBuildExt(build_ext):
|
||||
|
||||
def detect_modules(self):
|
||||
# Ensure that /usr/local is always used
|
||||
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):
|
||||
# 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')
|
||||
|
||||
# Add paths specified in the environment variables LDFLAGS and
|
||||
@@ -587,11 +587,11 @@ class PyBuildExt(build_ext):
|
||||
@@ -619,11 +619,11 @@ class PyBuildExt(build_ext):
|
||||
elif curses_library:
|
||||
readline_libs.append(curses_library)
|
||||
elif self.compiler.find_library_file(lib_dirs +
|
||||
@ -133,7 +187,7 @@ diff -up Python-3.2a1/Modules/getpath.c.lib64 Python-3.2a1/Modules/getpath.c
|
||||
extra_link_args=readline_extra_link_args,
|
||||
libraries=readline_libs) )
|
||||
else:
|
||||
@@ -628,8 +628,8 @@ class PyBuildExt(build_ext):
|
||||
@@ -660,8 +660,8 @@ class PyBuildExt(build_ext):
|
||||
if krb5_h:
|
||||
ssl_incs += krb5_h
|
||||
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
|
||||
@ -144,22 +198,3 @@ diff -up Python-3.2a1/Modules/getpath.c.lib64 Python-3.2a1/Modules/getpath.c
|
||||
] )
|
||||
|
||||
if (ssl_incs is not None and
|
||||
Index: Lib/sysconfig.py
|
||||
===================================================================
|
||||
--- Python-3.2a1/Lib/sysconfig.py
|
||||
+++ Python-3.2a1/Lib/sysconfig.py 2010-08-22 14:34:38.791426924 +0200
|
||||
@@ -11,10 +11,10 @@
|
||||
|
||||
_INSTALL_SCHEMES = {
|
||||
'posix_prefix': {
|
||||
- 'stdlib': '{base}/lib/python{py_version_short}',
|
||||
- 'platstdlib': '{platbase}/lib/python{py_version_short}',
|
||||
- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
|
||||
- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
|
||||
+ 'stdlib': '{base}/lib64/python{py_version_short}',
|
||||
+ 'platstdlib': '{platbase}/lib64/python{py_version_short}',
|
||||
+ 'purelib': '{base}/lib64/python{py_version_short}/site-packages',
|
||||
+ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
|
||||
'include': '{base}/include/python{py_version_short}',
|
||||
'platinclude': '{platbase}/include/python{py_version_short}',
|
||||
'scripts': '{base}/bin',
|
@ -1,17 +1,17 @@
|
||||
diff -up Python-3.2a1/Makefile.pre.in.no-static-lib Python-3.2a1/Makefile.pre.in
|
||||
--- Python-3.2a1/Makefile.pre.in.no-static-lib 2010-07-17 16:39:23.000000000 -0400
|
||||
+++ Python-3.2a1/Makefile.pre.in 2010-08-02 16:02:28.378010008 -0400
|
||||
@@ -416,7 +416,7 @@ coverage:
|
||||
diff -up Python-3.2b2/Makefile.pre.in.no-static-lib Python-3.2b2/Makefile.pre.in
|
||||
--- Python-3.2b2/Makefile.pre.in.no-static-lib 2010-12-13 13:04:23.000000000 -0500
|
||||
+++ Python-3.2b2/Makefile.pre.in 2010-12-28 16:57:11.484065804 -0500
|
||||
@@ -420,7 +420,7 @@ coverage:
|
||||
|
||||
|
||||
# Build the interpreter
|
||||
-$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
|
||||
+$(BUILDPYTHON): Modules/python.o $(LDLIBRARY)
|
||||
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ \
|
||||
Modules/python.o \
|
||||
$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
|
||||
@@ -432,18 +432,6 @@ sharedmods: $(BUILDPYTHON)
|
||||
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(PY_LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
|
||||
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
|
||||
|
||||
platform: $(BUILDPYTHON)
|
||||
@@ -434,18 +434,6 @@ sharedmods: $(BUILDPYTHON)
|
||||
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
|
||||
esac
|
||||
|
||||
-# Build static library
|
||||
@ -26,10 +26,10 @@ diff -up Python-3.2a1/Makefile.pre.in.no-static-lib Python-3.2a1/Makefile.pre.in
|
||||
- $(AR) $(ARFLAGS) $@ $(MODOBJS)
|
||||
- $(RANLIB) $@
|
||||
-
|
||||
libpython$(VERSION).so: $(LIBRARY_OBJS)
|
||||
libpython$(LDVERSION).so: $(LIBRARY_OBJS)
|
||||
if test $(INSTSONAME) != $(LDLIBRARY); then \
|
||||
$(LDSHARED) $(PY_LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
|
||||
@@ -1003,18 +991,6 @@ libainstall: all python-config
|
||||
$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
|
||||
@@ -1035,18 +1023,6 @@ libainstall: all python-config
|
||||
else true; \
|
||||
fi; \
|
||||
done
|
@ -1,10 +1,10 @@
|
||||
diff -up Python-3.2a1/Lib/email/test/test_email.py.remove-mimeaudio-tests Python-3.2a1/Lib/email/test/test_email.py
|
||||
--- Python-3.2a1/Lib/email/test/test_email.py.remove-mimeaudio-tests 2010-08-02 15:52:12.397002172 -0400
|
||||
+++ Python-3.2a1/Lib/email/test/test_email.py 2010-08-02 15:52:38.132999850 -0400
|
||||
@@ -952,53 +952,6 @@ Blah blah blah
|
||||
diff -up Python-3.2b2/Lib/email/test/test_email.py.remove-mimeaudio-tests Python-3.2b2/Lib/email/test/test_email.py
|
||||
--- Python-3.2b2/Lib/email/test/test_email.py.remove-mimeaudio-tests 2010-12-18 13:25:38.000000000 -0500
|
||||
+++ Python-3.2b2/Lib/email/test/test_email.py 2010-12-28 16:50:34.910309105 -0500
|
||||
@@ -977,53 +977,6 @@ Blah blah blah
|
||||
|
||||
|
||||
|
||||
|
||||
-# Test the basic MIMEAudio class
|
||||
-class TestMIMEAudio(unittest.TestCase):
|
||||
- def setUp(self):
|
||||
@ -51,7 +51,7 @@ diff -up Python-3.2a1/Lib/email/test/test_email.py.remove-mimeaudio-tests Python
|
||||
- header='foobar') is missing)
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
# Test the basic MIMEImage class
|
||||
class TestMIMEImage(unittest.TestCase):
|
||||
def setUp(self):
|
@ -1,15 +1,7 @@
|
||||
diff -up Python-3.2a1/configure.in.systemtap Python-3.2a1/configure.in
|
||||
--- Python-3.2a1/configure.in.systemtap 2010-07-19 03:31:40.000000000 -0400
|
||||
+++ Python-3.2a1/configure.in 2010-08-02 16:19:43.809000621 -0400
|
||||
@@ -1987,6 +1987,7 @@ AC_ARG_WITH(system_expat,
|
||||
AC_MSG_RESULT($with_system_expat)
|
||||
|
||||
# Check for use of the system libffi library
|
||||
+
|
||||
AC_MSG_CHECKING(for --with-system-ffi)
|
||||
AC_ARG_WITH(system_ffi,
|
||||
AS_HELP_STRING([--with-system-ffi], [build _ctypes module using an installed ffi library]))
|
||||
@@ -2500,6 +2501,38 @@ if test "$with_valgrind" != no; then
|
||||
diff -up Python-3.2b2/configure.in.systemtap Python-3.2b2/configure.in
|
||||
--- Python-3.2b2/configure.in.systemtap 2010-12-13 02:59:39.000000000 -0500
|
||||
+++ Python-3.2b2/configure.in 2010-12-28 17:01:58.044059433 -0500
|
||||
@@ -2470,6 +2470,38 @@ if test "$with_valgrind" != no; then
|
||||
OPT="-DDYNAMIC_ANNOTATIONS_ENABLED=1 $OPT"
|
||||
fi
|
||||
|
||||
@ -45,12 +37,12 @@ diff -up Python-3.2a1/configure.in.systemtap Python-3.2a1/configure.in
|
||||
+AC_SUBST(DTRACEOBJS)
|
||||
+AC_SUBST(DTRACEHDRS)
|
||||
+
|
||||
# Check for --with-wctype-functions
|
||||
AC_MSG_CHECKING(for --with-wctype-functions)
|
||||
AC_ARG_WITH(wctype-functions,
|
||||
diff -up Python-3.2a1/Include/pydtrace.d.systemtap Python-3.2a1/Include/pydtrace.d
|
||||
--- Python-3.2a1/Include/pydtrace.d.systemtap 2010-08-02 16:17:04.249000540 -0400
|
||||
+++ Python-3.2a1/Include/pydtrace.d 2010-08-02 16:17:04.249000540 -0400
|
||||
# -I${DLINCLDIR} is added to the compile rule for importdl.o
|
||||
AC_SUBST(DLINCLDIR)
|
||||
DLINCLDIR=.
|
||||
diff -up Python-3.2b2/Include/pydtrace.d.systemtap Python-3.2b2/Include/pydtrace.d
|
||||
--- Python-3.2b2/Include/pydtrace.d.systemtap 2010-12-28 16:58:41.762936379 -0500
|
||||
+++ Python-3.2b2/Include/pydtrace.d 2010-12-28 16:58:41.762936379 -0500
|
||||
@@ -0,0 +1,10 @@
|
||||
+provider python {
|
||||
+ probe function__entry(const char *, const char *, int);
|
||||
@ -62,20 +54,20 @@ diff -up Python-3.2a1/Include/pydtrace.d.systemtap Python-3.2a1/Include/pydtrace
|
||||
+#pragma D attributes Private/Private/Common provider python function
|
||||
+#pragma D attributes Evolving/Evolving/Common provider python name
|
||||
+#pragma D attributes Evolving/Evolving/Common provider python args
|
||||
diff -up Python-3.2a1/Makefile.pre.in.systemtap Python-3.2a1/Makefile.pre.in
|
||||
--- Python-3.2a1/Makefile.pre.in.systemtap 2010-08-02 16:17:04.243000614 -0400
|
||||
+++ Python-3.2a1/Makefile.pre.in 2010-08-02 16:20:41.617000527 -0400
|
||||
@@ -324,6 +324,7 @@ PYTHON_OBJS= \
|
||||
Python/dtoa.o \
|
||||
diff -up Python-3.2b2/Makefile.pre.in.systemtap Python-3.2b2/Makefile.pre.in
|
||||
--- Python-3.2b2/Makefile.pre.in.systemtap 2010-12-28 16:58:41.000000000 -0500
|
||||
+++ Python-3.2b2/Makefile.pre.in 2010-12-28 17:00:58.607310089 -0500
|
||||
@@ -328,6 +328,7 @@ PYTHON_OBJS= \
|
||||
Python/formatter_unicode.o \
|
||||
Python/fileutils.o \
|
||||
Python/$(DYNLOADFILE) \
|
||||
+ @DTRACEOBJS@ \
|
||||
$(LIBOBJS) \
|
||||
$(MACHDEP_OBJS) \
|
||||
$(THREADOBJ)
|
||||
@@ -615,6 +616,18 @@ Python/formatter_unicode.o: $(srcdir)/Py
|
||||
$(srcdir)/Objects/stringlib/formatter.h
|
||||
|
||||
@@ -632,6 +633,18 @@ Objects/typeobject.o: $(srcdir)/Objects/
|
||||
$(srcdir)/Objects/typeslots.inc: $(srcdir)/Include/typeslots.h $(srcdir)/Objects/typeslots.py
|
||||
$(PYTHON) $(srcdir)/Objects/typeslots.py < $(srcdir)/Include/typeslots.h > $(srcdir)/Objects/typeslots.inc
|
||||
|
||||
+# Only needed with --with-dtrace
|
||||
+buildinclude:
|
||||
@ -92,19 +84,19 @@ diff -up Python-3.2a1/Makefile.pre.in.systemtap Python-3.2a1/Makefile.pre.in
|
||||
############################################################################
|
||||
# Header files
|
||||
|
||||
@@ -1248,7 +1261,7 @@ Python/thread.o: @THREADHEADERS@
|
||||
@@ -1282,7 +1295,7 @@ Python/thread.o: @THREADHEADERS@
|
||||
.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
|
||||
.PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
|
||||
.PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean
|
||||
.PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean
|
||||
-.PHONY: smelly funny patchcheck
|
||||
+.PHONY: smelly funny patchcheck buildinclude
|
||||
.PHONY: gdbhooks
|
||||
|
||||
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
|
||||
diff -up Python-3.2a1/pyconfig.h.in.systemtap Python-3.2a1/pyconfig.h.in
|
||||
--- Python-3.2a1/pyconfig.h.in.systemtap 2010-08-02 16:18:33.696001964 -0400
|
||||
+++ Python-3.2a1/pyconfig.h.in 2010-08-02 16:21:48.566001832 -0400
|
||||
@@ -1078,6 +1078,9 @@
|
||||
diff -up Python-3.2b2/pyconfig.h.in.systemtap Python-3.2b2/pyconfig.h.in
|
||||
--- Python-3.2b2/pyconfig.h.in.systemtap 2010-11-20 05:29:12.000000000 -0500
|
||||
+++ Python-3.2b2/pyconfig.h.in 2010-12-28 16:58:41.765937360 -0500
|
||||
@@ -1092,6 +1092,9 @@
|
||||
/* Define if you want documentation strings in extension modules */
|
||||
#undef WITH_DOC_STRINGS
|
||||
|
||||
@ -114,10 +106,10 @@ diff -up Python-3.2a1/pyconfig.h.in.systemtap Python-3.2a1/pyconfig.h.in
|
||||
/* Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic
|
||||
linker (dyld) instead of the old-style (NextStep) dynamic linker (rld).
|
||||
Dyld is necessary to support frameworks. */
|
||||
diff -up Python-3.2a1/Python/ceval.c.systemtap Python-3.2a1/Python/ceval.c
|
||||
--- Python-3.2a1/Python/ceval.c.systemtap 2010-07-20 18:39:34.000000000 -0400
|
||||
+++ Python-3.2a1/Python/ceval.c 2010-08-02 16:23:58.703001000 -0400
|
||||
@@ -19,6 +19,10 @@
|
||||
diff -up Python-3.2b2/Python/ceval.c.systemtap Python-3.2b2/Python/ceval.c
|
||||
--- Python-3.2b2/Python/ceval.c.systemtap 2010-12-03 15:14:31.000000000 -0500
|
||||
+++ Python-3.2b2/Python/ceval.c 2010-12-28 16:58:41.768935588 -0500
|
||||
@@ -18,6 +18,10 @@
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
@ -128,7 +120,7 @@ diff -up Python-3.2a1/Python/ceval.c.systemtap Python-3.2a1/Python/ceval.c
|
||||
#ifndef WITH_TSC
|
||||
|
||||
#define READ_TIMESTAMP(var)
|
||||
@@ -752,6 +756,70 @@ PyEval_EvalCode(PyCodeObject *co, PyObje
|
||||
@@ -766,6 +770,70 @@ PyEval_EvalCode(PyObject *co, PyObject *
|
||||
}
|
||||
|
||||
|
||||
@ -199,7 +191,7 @@ diff -up Python-3.2a1/Python/ceval.c.systemtap Python-3.2a1/Python/ceval.c
|
||||
/* Interpreter main loop */
|
||||
|
||||
PyObject *
|
||||
@@ -1156,6 +1224,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int
|
||||
@@ -1183,6 +1251,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int
|
||||
}
|
||||
}
|
||||
|
||||
@ -210,7 +202,7 @@ diff -up Python-3.2a1/Python/ceval.c.systemtap Python-3.2a1/Python/ceval.c
|
||||
co = f->f_code;
|
||||
names = co->co_names;
|
||||
consts = co->co_consts;
|
||||
@@ -3046,6 +3118,9 @@ fast_yield:
|
||||
@@ -3048,6 +3120,9 @@ fast_yield:
|
||||
|
||||
/* pop frame */
|
||||
exit_eval_frame:
|
17
python-3.2b2-test-weakref-COUNT_ALLOCS_fix.patch
Normal file
17
python-3.2b2-test-weakref-COUNT_ALLOCS_fix.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff -up Python-3.2b2/Lib/test/test_weakref.py.test-weakref-COUNT_ALLOCS_fix Python-3.2b2/Lib/test/test_weakref.py
|
||||
--- Python-3.2b2/Lib/test/test_weakref.py.test-weakref-COUNT_ALLOCS_fix 2010-12-28 20:33:46.963364990 -0500
|
||||
+++ Python-3.2b2/Lib/test/test_weakref.py 2010-12-28 20:35:44.115935248 -0500
|
||||
@@ -583,9 +583,10 @@ class ReferencesTestCase(TestBase):
|
||||
# been cleared without their callbacks executing. OTOH, the weakref
|
||||
# to C is bound to a function local (wr), and wasn't trash, so that
|
||||
# callback should have been invoked when C went away.
|
||||
- self.assertEqual(alist, ["C went away"])
|
||||
- # The remaining weakref should be dead now (its callback ran).
|
||||
- self.assertEqual(wr(), None)
|
||||
+ if not hasattr(sys, 'getcounts'):
|
||||
+ self.assertEqual(alist, ["C went away"])
|
||||
+ # The remaining weakref should be dead now (its callback ran).
|
||||
+ self.assertEqual(wr(), None)
|
||||
|
||||
del alist[:]
|
||||
gc.collect()
|
13
python-3.2b2-test_sys-COUNT_ALLOCS.patch
Normal file
13
python-3.2b2-test_sys-COUNT_ALLOCS.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up Python-3.2b2/Lib/test/test_sys.py.fix-test-sys-COUNT_ALLOCS Python-3.2b2/Lib/test/test_sys.py
|
||||
--- Python-3.2b2/Lib/test/test_sys.py.fix-test-sys-COUNT_ALLOCS 2010-12-28 20:52:43.236310184 -0500
|
||||
+++ Python-3.2b2/Lib/test/test_sys.py 2010-12-28 20:58:09.164184094 -0500
|
||||
@@ -817,6 +817,9 @@ class SizeofTest(unittest.TestCase):
|
||||
# (PyTypeObject + PyNumberMethods + PyMappingMethods +
|
||||
# PySequenceMethods + PyBufferProcs)
|
||||
s = size(vh + 'P2P15Pl4PP9PP11PI') + size('16Pi17P 3P 10P 2P 2P')
|
||||
+ # COUNT_ALLOCS adds a further 3 Py_ssize_t and 2 pointers:
|
||||
+ if hasattr(sys, 'getcounts'):
|
||||
+ s += size('3P2P')
|
||||
check(int, s)
|
||||
# class
|
||||
class newstyleclass(object): pass
|
553
python3.spec
553
python3.spec
@ -1,9 +1,27 @@
|
||||
%global pybasever 3.2
|
||||
%global alphatag a1
|
||||
|
||||
# pybasever without the dot:
|
||||
%global pyshortver 32
|
||||
|
||||
%global alphatag b2
|
||||
|
||||
%global pylibdir %{_libdir}/python%{pybasever}
|
||||
%global dynload_dir %{pylibdir}/lib-dynload
|
||||
|
||||
# SOABI is defined in the upstream configure.in from Python-3.2a2 onwards,
|
||||
# for PEP 3149:
|
||||
# http://www.python.org/dev/peps/pep-3149/
|
||||
|
||||
# ABIFLAGS, LDVERSION and SOABI are in the upstream Makefile
|
||||
%global ABIFLAGS_optimized mu
|
||||
%global ABIFLAGS_debug dmu
|
||||
|
||||
%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized}
|
||||
%global LDVERSION_debug %{pybasever}%{ABIFLAGS_debug}
|
||||
|
||||
%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}
|
||||
%global SOABI_debug cpython-%{pyshortver}%{ABIFLAGS_debug}
|
||||
|
||||
# All bytecode files are now in a __pycache__ subdirectory, with a name
|
||||
# reflecting the version of the bytecode (to permit sharing of python libraries
|
||||
# between different runtimes)
|
||||
@ -23,8 +41,8 @@
|
||||
# (if these get out of sync, the payload of the libs subpackage will fail
|
||||
# and halt the build)
|
||||
%global py_SOVERSION 1.0
|
||||
%global py_INSTSONAME_optimized libpython%{pybasever}.so.%{py_SOVERSION}
|
||||
%global py_INSTSONAME_debug libpython%{pybasever}_d.so.%{py_SOVERSION}
|
||||
%global py_INSTSONAME_optimized libpython%{LDVERSION_optimized}.so.%{py_SOVERSION}
|
||||
%global py_INSTSONAME_debug libpython%{LDVERSION_debug}.so.%{py_SOVERSION}
|
||||
|
||||
%global with_debug_build 1
|
||||
|
||||
@ -149,91 +167,20 @@ Patch1: Python-3.1.1-rpath.patch
|
||||
|
||||
# The four TestMIMEAudio tests fail due to "audiotest.au" not being packaged.
|
||||
# It's simplest to remove them:
|
||||
Patch3: python-3.2a1-remove-mimeaudio-tests.patch
|
||||
|
||||
# ImportTests.test_issue1267 in test_imp.py reads pydoc.py's shebang line and
|
||||
# checks that it read it correctly.
|
||||
#
|
||||
# Since we modify the shebang lines in our packaging, we also need to modify
|
||||
# the expected value in this test:
|
||||
Patch4: python-3.2a1-apply-our-changes-to-expected-shebang-for-test_imp.patch
|
||||
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.2a1-no-static-lib.patch
|
||||
Patch6: python-3.2b2-no-static-lib.patch
|
||||
|
||||
# Systemtap support: add statically-defined probe points
|
||||
# Patch based on upstream bug: http://bugs.python.org/issue4111
|
||||
# fixed up by mjw and wcohen for 2.6.2, then fixed up by dmalcolm for 2.6.4
|
||||
# then rewritten by mjw (attachment 390110 of rhbz 545179); ported to 3.1.1 by
|
||||
# dmalcolm
|
||||
Patch8: python-3.2a1-systemtap.patch
|
||||
Patch8: python-3.2b2-systemtap.patch
|
||||
|
||||
Patch102: python-3.2a1-lib64.patch
|
||||
|
||||
# Patch to support building both optimized vs debug stacks DSO ABIs, sharing
|
||||
# the same .py and .pyc files, using "_d.so" to signify a debug build of an
|
||||
# extension module.
|
||||
#
|
||||
# Based on Debian's patch for the same,
|
||||
# http://patch-tracker.debian.org/patch/series/view/python2.6/2.6.5-2/debug-build.dpatch
|
||||
#
|
||||
# (which was itself based on the upstream Windows build), but with some
|
||||
# changes:
|
||||
#
|
||||
# * Debian's patch to dynload_shlib.c looks for module_d.so, then module.so,
|
||||
# but this can potentially find a module built against the wrong DSO ABI. We
|
||||
# instead search for just module_d.so in a debug build
|
||||
#
|
||||
# * We remove this change from configure.in's build of the Makefile:
|
||||
# SO=$DEBUG_EXT.so
|
||||
# so that sysconfig.py:customize_compiler stays with shared_lib_extension='.so'
|
||||
# on debug builds, so that UnixCCompiler.find_library_file can find system
|
||||
# libraries (otherwise "make sharedlibs" fails to find system libraries,
|
||||
# erroneously looking e.g. for "libffi_d.so" rather than "libffi.so")
|
||||
#
|
||||
# * We change Lib/distutils/command/build_ext.py:build_ext.get_ext_filename
|
||||
# to add the _d there, when building an extension. This way, "make sharedlibs"
|
||||
# can build ctypes, by finding the sysmtem libffi.so (rather than failing to
|
||||
# find "libffi_d.so"), and builds the module as _ctypes_d.so
|
||||
#
|
||||
# * Similarly, update build_ext:get_libraries handling of Py_ENABLE_SHARED by
|
||||
# appending "_d" to the python library's name for the debug configuration
|
||||
#
|
||||
# * We modify Modules/makesetup to add the "_d" to the generated Makefile
|
||||
# rules for the various Modules/*.so targets
|
||||
#
|
||||
# This may introduce issues when building an extension that links directly
|
||||
# against another extension (e.g. users of NumPy?), but seems more robust when
|
||||
# searching for external libraries
|
||||
#
|
||||
# * We don't change Lib/distutils/command/build.py: build.build_purelib to
|
||||
# embed plat_specifier, leaving it as is, as pure python builds should be
|
||||
# unaffected by these differences (we'll be sharing the .py and .pyc files)
|
||||
#
|
||||
# * We introduce DEBUG_SUFFIX as well as DEBUG_EXT:
|
||||
# - DEBUG_EXT is used by ELF files (names and SONAMEs); it will be "_d" for
|
||||
# a debug build
|
||||
# - DEBUG_SUFFIX is used by filesystem paths; it will be "-debug" for a
|
||||
# debug build
|
||||
#
|
||||
# Both will be empty in an optimized build. "_d" contains characters that
|
||||
# are valid ELF metadata, but this leads to various ugly filesystem paths (such
|
||||
# as the include path), and DEBUG_SUFFIX allows these paths to have more natural
|
||||
# names. Changing this requires changes elsewhere in the distutils code.
|
||||
#
|
||||
# * We add DEBUG_SUFFIX to PYTHON in the Makefile, so that the two
|
||||
# configurations build parallel-installable binaries with different names
|
||||
# ("python-debug" vs "python").
|
||||
#
|
||||
# * Similarly, we add DEBUG_SUFFIX within python-config and
|
||||
# python$(VERSION)-config, so that the two configuration get different paths
|
||||
# for these.
|
||||
#
|
||||
# * Patch runtests.sh to support supplying a value for PYTHON, so that we can
|
||||
# run the tests against each of the builds
|
||||
|
||||
Patch103: python-3.2a1-debug-build.patch
|
||||
Patch102: python-3.2b2-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
|
||||
@ -245,17 +192,6 @@ Patch104: python-3.1.2-more-configuration-flags.patch
|
||||
# (rhbz:553020); partially upstream as http://bugs.python.org/issue7647
|
||||
Patch105: python-3.2a1-statvfs-f_flag-constants.patch
|
||||
|
||||
# Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to
|
||||
# a segfault running test_pyexpat.py (rhbz:610312)
|
||||
# Sent upstream as http://bugs.python.org/issue9054
|
||||
Patch110: python-3.1.2-fix-expat-issue9054.patch
|
||||
|
||||
# Fix race condition in parallel make that could lead to graminit.c failing
|
||||
# to compile, or linker errors with "undefined reference to
|
||||
# `_PyParser_Grammar'":
|
||||
# Not yet sent upstream:
|
||||
Patch111: python-3.2a1-fix-parallel-make.patch
|
||||
|
||||
# COUNT_ALLOCS is useful for debugging, but the upstream behaviour of always
|
||||
# emitting debug info to stdout on exit is too verbose and makes it harder to
|
||||
# use the debug build. Add a "PYTHONDUMPCOUNTS" environment variable which
|
||||
@ -263,6 +199,20 @@ Patch111: python-3.2a1-fix-parallel-make.patch
|
||||
# Not yet sent upstream:
|
||||
Patch125: less-verbose-COUNT_ALLOCS.patch
|
||||
|
||||
# test_weakref's test_callback_in_cycle_resurrection doesn't work with
|
||||
# COUNT_ALLOCS, as the metrics keep "C" alive. Work around this for our
|
||||
# debug build:
|
||||
# Not yet sent upstream
|
||||
Patch126: python-3.2b2-test-weakref-COUNT_ALLOCS_fix.patch
|
||||
|
||||
# Similar COUNT_ALLOCS fixes for test_gc
|
||||
# Not yet sent upstream
|
||||
Patch127: python-3.2b2-fix-test-gc-COUNT_ALLOCS.patch
|
||||
|
||||
# Similar COUNT_ALLOCS fixes for test_sys
|
||||
# Not yet sent upstream
|
||||
Patch128: python-3.2b2-test_sys-COUNT_ALLOCS.patch
|
||||
|
||||
# This is the generated patch to "configure"; see the description of
|
||||
# %{regenerate_autotooling_patch}
|
||||
# above:
|
||||
@ -408,7 +358,6 @@ rm -r Modules/zlib || exit 1
|
||||
#
|
||||
%patch1 -p1
|
||||
%patch3 -p1 -b .remove-mimeaudio-tests
|
||||
%patch4 -p1 -b .apply-our-changes-to-expected-shebang
|
||||
%patch6 -p1 -b .no-static-lib
|
||||
|
||||
%if 0%{?with_systemtap}
|
||||
@ -419,17 +368,14 @@ rm -r Modules/zlib || exit 1
|
||||
%patch102 -p1
|
||||
%endif
|
||||
|
||||
%patch103 -p1
|
||||
|
||||
%patch104 -p1 -b .more-configuration-flags
|
||||
|
||||
%patch105 -p1 -b .statvfs-f-flag-constants
|
||||
|
||||
%patch110 -p0 -b .fix-expat-issue9054
|
||||
|
||||
%patch111 -p1 -b .parallel-grammar
|
||||
|
||||
%patch125 -p1 -b .less-verbose-COUNT_ALLOCS
|
||||
%patch126 -p1
|
||||
%patch127 -p1
|
||||
%patch128 -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.
|
||||
@ -632,10 +578,21 @@ install -d -m 0755 %{buildroot}/usr/lib/python%{pybasever}/site-packages/__pycac
|
||||
%global _pyconfig_h %{_pyconfig32_h}
|
||||
%endif
|
||||
|
||||
# ABIFLAGS, LDVERSION and SOABI are in the upstream Makefile
|
||||
%global ABIFLAGS_optimized mu
|
||||
%global ABIFLAGS_debug dmu
|
||||
|
||||
%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized}
|
||||
%global LDVERSION_debug %{pybasever}%{ABIFLAGS_debug}
|
||||
|
||||
%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}
|
||||
%global SOABI_debug cpython-%{pyshortver}%{ABIFLAGS_debug}
|
||||
|
||||
%if 0%{?with_debug_build}
|
||||
%global PyIncludeDirs python%{pybasever} python%{pybasever}-debug
|
||||
%global PyIncludeDirs python%{LDVERSION_optimized} python%{LDVERSION_debug}
|
||||
|
||||
%else
|
||||
%global PyIncludeDirs python%{pybasever}
|
||||
%global PyIncludeDirs python%{LDVERSION_optimized}
|
||||
%endif
|
||||
|
||||
for PyIncludeDir in %{PyIncludeDirs} ; do
|
||||
@ -739,14 +696,14 @@ ldd %{buildroot}/%{dynload_dir}/_curses*.so \
|
||||
# likewise for the optimized modules and libpython:
|
||||
for Module in %{buildroot}/%{dynload_dir}/*.so ; do
|
||||
case $Module in
|
||||
*_d.so)
|
||||
*.%{SOABI_debug})
|
||||
ldd $Module | grep %{py_INSTSONAME_optimized} &&
|
||||
(echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exi 1)
|
||||
(echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exit 1)
|
||||
|
||||
;;
|
||||
*)
|
||||
*.%{SOABI_optimized})
|
||||
ldd $Module | grep %{py_INSTSONAME_debug} &&
|
||||
(echo Optimized module $Module linked against debug %{py_INSTSONAME_optimized} ; exi 1)
|
||||
(echo Optimized module $Module linked against debug %{py_INSTSONAME_debug} ; exit 1)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@ -784,59 +741,30 @@ sed \
|
||||
topdir=$(pwd)
|
||||
CheckPython() {
|
||||
ConfName=$1
|
||||
ConfDir=build/$ConfName
|
||||
ConfDir=$(pwd)/build/$ConfName
|
||||
|
||||
echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
|
||||
|
||||
# Run the upstream test suite, using the "runtests.sh" harness from the upstream
|
||||
# tarball.
|
||||
# I'm seeing occasional hangs in some http tests when running the test suite
|
||||
# inside Koji. For that reason I exclude them
|
||||
|
||||
LD_LIBRARY_PATH=$ConfDir PYTHON=$ConfDir/python $topdir/runtests.sh -x test_httplib test_http_cookies
|
||||
# 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
|
||||
|
||||
# Note that we're running the tests using the version of the code in the builddir,
|
||||
# not in the buildroot.
|
||||
|
||||
# The harness only emits the names of the test scripts it ran, along with a
|
||||
# summary of the form:
|
||||
# 2 BAD
|
||||
# 313 GOOD
|
||||
# 22 SKIPPED
|
||||
# 337 total
|
||||
# As a byproduct it writes files "GOOD", "BAD", "SKIPPED", listing names of
|
||||
# files (e.g. "test_imp") along with a subdirectory OUT containing files of the
|
||||
# form $TEST.out
|
||||
# Each such logfile starts with a line indicating the name of the test
|
||||
|
||||
# Output the logs from failing tests, so that they are captured in the rpmbuild
|
||||
# log:
|
||||
for TESTNAME in $(cat BAD); do
|
||||
cat OUT/$TESTNAME.out ;
|
||||
done
|
||||
|
||||
# There are 5 expected BAD results here:
|
||||
# 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_imp.py: ImportTests.test_issue1267 in test_imp.py reads pydoc.py's
|
||||
# shebang line and checks that it read it correctly.tests that the shebang line
|
||||
# is as expected. Unfortunately if we patch this up in the buildir (in the
|
||||
# build phase), then the "make install" will try to reference
|
||||
# /usr/bin/python%{pybasever} which won't exist on a clean build environment.
|
||||
# So we fix up the shebang lines after this in the install phase, and expect
|
||||
# this test to fail in the check phase. It ought to pass when run on the built
|
||||
# RPMs
|
||||
#
|
||||
# (3) test_socket.py:testSockName can fail here if DNS isn't properly set up:
|
||||
# (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
|
||||
#
|
||||
# (4) test_subprocess: merely get "errors occurred"
|
||||
#
|
||||
# (5) test_telnet: can get a "socket.error: [Errno 104] Connection reset by peer"
|
||||
# (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.
|
||||
@ -865,6 +793,7 @@ rm -fr %{buildroot}
|
||||
%{_bindir}/pydoc*
|
||||
%{_bindir}/python3
|
||||
%{_bindir}/python%{pybasever}
|
||||
%{_bindir}/python%{pybasever}mu
|
||||
%{_mandir}/*/*
|
||||
|
||||
%files libs
|
||||
@ -873,61 +802,59 @@ rm -fr %{buildroot}
|
||||
%dir %{pylibdir}
|
||||
%dir %{dynload_dir}
|
||||
%{dynload_dir}/Python-%{version}%{alphatag}-py%{pybasever}.egg-info
|
||||
%{dynload_dir}/_bisect.so
|
||||
%{dynload_dir}/_codecs_cn.so
|
||||
%{dynload_dir}/_codecs_hk.so
|
||||
%{dynload_dir}/_codecs_iso2022.so
|
||||
%{dynload_dir}/_codecs_jp.so
|
||||
%{dynload_dir}/_codecs_kr.so
|
||||
%{dynload_dir}/_codecs_tw.so
|
||||
%{dynload_dir}/_collections.so
|
||||
%{dynload_dir}/_csv.so
|
||||
%{dynload_dir}/_ctypes.so
|
||||
%{dynload_dir}/_curses.so
|
||||
%{dynload_dir}/_curses_panel.so
|
||||
%{dynload_dir}/_dbm.so
|
||||
%{dynload_dir}/_elementtree.so
|
||||
%{dynload_dir}/_gdbm.so
|
||||
%{dynload_dir}/_hashlib.so
|
||||
%{dynload_dir}/_heapq.so
|
||||
%{dynload_dir}/_json.so
|
||||
%{dynload_dir}/_lsprof.so
|
||||
%{dynload_dir}/_multibytecodec.so
|
||||
%{dynload_dir}/_multiprocessing.so
|
||||
%{dynload_dir}/_pickle.so
|
||||
%{dynload_dir}/_posixsubprocess.so
|
||||
%{dynload_dir}/_random.so
|
||||
%{dynload_dir}/_socket.so
|
||||
%{dynload_dir}/_sqlite3.so
|
||||
%{dynload_dir}/_ssl.so
|
||||
%{dynload_dir}/_struct.so
|
||||
%{dynload_dir}/array.so
|
||||
%{dynload_dir}/atexit.so
|
||||
%{dynload_dir}/audioop.so
|
||||
%{dynload_dir}/binascii.so
|
||||
%{dynload_dir}/bz2.so
|
||||
%{dynload_dir}/cmath.so
|
||||
%{dynload_dir}/crypt.so
|
||||
%{dynload_dir}/_datetime.so
|
||||
%{dynload_dir}/fcntl.so
|
||||
%{dynload_dir}/grp.so
|
||||
%{dynload_dir}/itertools.so
|
||||
%{dynload_dir}/math.so
|
||||
%{dynload_dir}/mmap.so
|
||||
%{dynload_dir}/nis.so
|
||||
%{dynload_dir}/operator.so
|
||||
%{dynload_dir}/ossaudiodev.so
|
||||
%{dynload_dir}/parser.so
|
||||
%{dynload_dir}/pyexpat.so
|
||||
%{dynload_dir}/readline.so
|
||||
%{dynload_dir}/resource.so
|
||||
%{dynload_dir}/select.so
|
||||
%{dynload_dir}/spwd.so
|
||||
%{dynload_dir}/syslog.so
|
||||
%{dynload_dir}/termios.so
|
||||
%{dynload_dir}/time.so
|
||||
%{dynload_dir}/unicodedata.so
|
||||
%{dynload_dir}/zlib.so
|
||||
%{dynload_dir}/_bisect.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_csv.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_ctypes.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_curses.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_curses_panel.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_dbm.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_elementtree.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_gdbm.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_hashlib.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_heapq.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_json.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_lsprof.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_pickle.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_random.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_socket.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_sqlite3.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_ssl.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_struct.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/array.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/atexit.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/audioop.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/binascii.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/bz2.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/cmath.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/crypt.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_datetime.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/fcntl.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/grp.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/math.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/mmap.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/nis.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/parser.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/pyexpat.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/readline.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/resource.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/select.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/spwd.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/syslog.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/termios.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/time.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/unicodedata.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/xxlimited.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/zlib.%{SOABI_optimized}.so
|
||||
|
||||
%dir %{pylibdir}/site-packages/
|
||||
%dir %{pylibdir}/site-packages/__pycache__/
|
||||
@ -936,63 +863,90 @@ rm -fr %{buildroot}
|
||||
%dir %{pylibdir}/__pycache__/
|
||||
%{pylibdir}/__pycache__/*%{bytecode_suffixes}
|
||||
%{pylibdir}/wsgiref.egg-info
|
||||
%dir %{pylibdir}/ctypes
|
||||
|
||||
%dir %{pylibdir}/concurrent/
|
||||
%dir %{pylibdir}/concurrent/__pycache__/
|
||||
%{pylibdir}/concurrent/*.py
|
||||
%{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes}
|
||||
|
||||
%dir %{pylibdir}/concurrent/futures/
|
||||
%dir %{pylibdir}/concurrent/futures/__pycache__/
|
||||
%{pylibdir}/concurrent/futures/*.py
|
||||
%{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes}
|
||||
|
||||
%dir %{pylibdir}/ctypes/
|
||||
%dir %{pylibdir}/ctypes/__pycache__/
|
||||
%{pylibdir}/ctypes/*.py
|
||||
%{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes}
|
||||
%{pylibdir}/ctypes/macholib
|
||||
|
||||
%{pylibdir}/curses
|
||||
%dir %{pylibdir}/dbm
|
||||
|
||||
%dir %{pylibdir}/dbm/
|
||||
%dir %{pylibdir}/dbm/__pycache__/
|
||||
%{pylibdir}/dbm/*.py
|
||||
%{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes}
|
||||
%dir %{pylibdir}/distutils
|
||||
|
||||
%dir %{pylibdir}/distutils/
|
||||
%dir %{pylibdir}/distutils/__pycache__/
|
||||
%{pylibdir}/distutils/*.py
|
||||
%{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes}
|
||||
%{pylibdir}/distutils/README
|
||||
%{pylibdir}/distutils/command
|
||||
%dir %{pylibdir}/email
|
||||
|
||||
%dir %{pylibdir}/email/
|
||||
%dir %{pylibdir}/email/__pycache__/
|
||||
%{pylibdir}/email/*.py
|
||||
%{pylibdir}/email/__pycache__/*%{bytecode_suffixes}
|
||||
%{pylibdir}/email/mime
|
||||
|
||||
%{pylibdir}/encodings
|
||||
%{pylibdir}/html
|
||||
%{pylibdir}/http
|
||||
%{pylibdir}/idlelib
|
||||
%dir %{pylibdir}/importlib
|
||||
|
||||
%dir %{pylibdir}/importlib/
|
||||
%dir %{pylibdir}/importlib/__pycache__/
|
||||
%{pylibdir}/importlib/*.py
|
||||
%{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes}
|
||||
%dir %{pylibdir}/json
|
||||
|
||||
%dir %{pylibdir}/json/
|
||||
%dir %{pylibdir}/json/__pycache__/
|
||||
%{pylibdir}/json/*.py
|
||||
%{pylibdir}/json/__pycache__/*%{bytecode_suffixes}
|
||||
|
||||
%{pylibdir}/lib2to3
|
||||
%exclude %{pylibdir}/lib2to3/tests
|
||||
%{pylibdir}/logging
|
||||
%{pylibdir}/multiprocessing
|
||||
%{pylibdir}/plat-linux2
|
||||
%{pylibdir}/pydoc_data
|
||||
%dir %{pylibdir}/sqlite3
|
||||
|
||||
%dir %{pylibdir}/sqlite3/
|
||||
%dir %{pylibdir}/sqlite3/__pycache__/
|
||||
%{pylibdir}/sqlite3/*.py
|
||||
%{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes}
|
||||
%dir %{pylibdir}/test
|
||||
|
||||
%dir %{pylibdir}/test/
|
||||
%dir %{pylibdir}/test/__pycache__/
|
||||
%{pylibdir}/test/__init__.py
|
||||
%{pylibdir}/test/support.py
|
||||
%{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes}
|
||||
%{pylibdir}/test/__pycache__/support%{bytecode_suffixes}
|
||||
%dir %{pylibdir}/unittest
|
||||
|
||||
%exclude %{pylibdir}/turtle.py
|
||||
%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
|
||||
|
||||
%dir %{pylibdir}/unittest/
|
||||
%dir %{pylibdir}/unittest/__pycache__/
|
||||
%{pylibdir}/unittest/*.py
|
||||
%{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes}
|
||||
|
||||
%{pylibdir}/urllib
|
||||
%{pylibdir}/wsgiref
|
||||
%{pylibdir}/xml
|
||||
%{pylibdir}/xmlrpc
|
||||
|
||||
%if "%{_lib}" == "lib64"
|
||||
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}
|
||||
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages
|
||||
@ -1002,10 +956,10 @@ rm -fr %{buildroot}
|
||||
# "Makefile" and the config-32/64.h file are needed by
|
||||
# distutils/sysconfig.py:_init_posix(), so we include them in the core
|
||||
# package, along with their parent directories (bug 531901):
|
||||
%dir %{pylibdir}/config
|
||||
%{pylibdir}/config/Makefile
|
||||
%dir %{_includedir}/python%{pybasever}
|
||||
%{_includedir}/python%{pybasever}/%{_pyconfig_h}
|
||||
%dir %{pylibdir}/config-%{LDVERSION_optimized}/
|
||||
%{pylibdir}/config-%{LDVERSION_optimized}/Makefile
|
||||
%dir %{_includedir}/python%{LDVERSION_optimized}/
|
||||
%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
|
||||
|
||||
%{_libdir}/%{py_INSTSONAME_optimized}
|
||||
%if 0%{?with_systemtap}
|
||||
@ -1015,14 +969,16 @@ rm -fr %{buildroot}
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{pylibdir}/config/*
|
||||
%exclude %{pylibdir}/config/Makefile
|
||||
/usr/include/python%{pybasever}/*.h
|
||||
%exclude /usr/include/python%{pybasever}/%{_pyconfig_h}
|
||||
%{pylibdir}/config-%{LDVERSION_optimized}/*
|
||||
%exclude %{pylibdir}/config-%{LDVERSION_optimized}/Makefile
|
||||
%{_includedir}/python%{LDVERSION_optimized}/*.h
|
||||
%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
|
||||
%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
|
||||
%{_bindir}/python3-config
|
||||
%{_bindir}/python%{pybasever}-config
|
||||
%{_libdir}/libpython%{pybasever}.so
|
||||
%{_bindir}/python%{LDVERSION_optimized}-config
|
||||
%{_libdir}/libpython%{LDVERSION_optimized}.so
|
||||
%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc
|
||||
%{_libdir}/pkgconfig/python-%{pybasever}.pc
|
||||
%{_libdir}/pkgconfig/python3.pc
|
||||
%config(noreplace) %{_sysconfdir}/rpm/macros.python3
|
||||
@ -1042,7 +998,15 @@ rm -fr %{buildroot}
|
||||
%defattr(-,root,root,755)
|
||||
%{pylibdir}/tkinter
|
||||
%exclude %{pylibdir}/tkinter/test
|
||||
%{dynload_dir}/_tkinter.so
|
||||
%{dynload_dir}/_tkinter.%{SOABI_optimized}.so
|
||||
%{pylibdir}/turtle.py
|
||||
%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
|
||||
%dir %{pylibdir}/turtledemo
|
||||
%{pylibdir}/turtledemo/*.py
|
||||
%{pylibdir}/turtledemo/*.txt
|
||||
%{pylibdir}/turtledemo/*.cfg
|
||||
%dir %{pylibdir}/turtledemo/__pycache__/
|
||||
%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes}
|
||||
|
||||
%files test
|
||||
%defattr(-, root, root)
|
||||
@ -1050,11 +1014,10 @@ rm -fr %{buildroot}
|
||||
%{pylibdir}/distutils/tests
|
||||
%{pylibdir}/email/test
|
||||
%{pylibdir}/importlib/test
|
||||
%{pylibdir}/json/tests
|
||||
%{pylibdir}/sqlite3/test
|
||||
%{pylibdir}/test
|
||||
%{dynload_dir}/_ctypes_test.so
|
||||
%{dynload_dir}/_testcapi.so
|
||||
%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so
|
||||
%{dynload_dir}/_testcapi.%{SOABI_optimized}.so
|
||||
%{pylibdir}/lib2to3/tests
|
||||
%doc %{pylibdir}/Demo/distutils
|
||||
%doc %{pylibdir}/Demo/md5test
|
||||
@ -1073,70 +1036,66 @@ rm -fr %{buildroot}
|
||||
%defattr(-,root,root,-)
|
||||
|
||||
# Analog of the core subpackage's files:
|
||||
%{_bindir}/python3-debug
|
||||
%{_bindir}/python%{pybasever}-debug
|
||||
%{_bindir}/python%{LDVERSION_debug}
|
||||
|
||||
# Analog of the -libs subpackage's files:
|
||||
# ...with debug builds of the built-in "extension" modules:
|
||||
%{dynload_dir}/_bisect_d.so
|
||||
%{dynload_dir}/_codecs_cn_d.so
|
||||
%{dynload_dir}/_codecs_hk_d.so
|
||||
%{dynload_dir}/_codecs_iso2022_d.so
|
||||
%{dynload_dir}/_codecs_jp_d.so
|
||||
%{dynload_dir}/_codecs_kr_d.so
|
||||
%{dynload_dir}/_codecs_tw_d.so
|
||||
%{dynload_dir}/_collections_d.so
|
||||
%{dynload_dir}/_csv_d.so
|
||||
%{dynload_dir}/_ctypes_d.so
|
||||
%{dynload_dir}/_curses_d.so
|
||||
%{dynload_dir}/_curses_panel_d.so
|
||||
%{dynload_dir}/_dbm_d.so
|
||||
%{dynload_dir}/_elementtree_d.so
|
||||
%{dynload_dir}/_gdbm_d.so
|
||||
%{dynload_dir}/_hashlib_d.so
|
||||
%{dynload_dir}/_heapq_d.so
|
||||
%{dynload_dir}/_json_d.so
|
||||
%{dynload_dir}/_lsprof_d.so
|
||||
%{dynload_dir}/_md5_d.so
|
||||
%{dynload_dir}/_multibytecodec_d.so
|
||||
%{dynload_dir}/_multiprocessing_d.so
|
||||
%{dynload_dir}/_pickle_d.so
|
||||
%{dynload_dir}/_posixsubprocess_d.so
|
||||
%{dynload_dir}/_random_d.so
|
||||
%{dynload_dir}/_sha1_d.so
|
||||
%{dynload_dir}/_sha256_d.so
|
||||
%{dynload_dir}/_sha512_d.so
|
||||
%{dynload_dir}/_socket_d.so
|
||||
%{dynload_dir}/_sqlite3_d.so
|
||||
%{dynload_dir}/_ssl_d.so
|
||||
%{dynload_dir}/_struct_d.so
|
||||
%{dynload_dir}/array_d.so
|
||||
%{dynload_dir}/atexit_d.so
|
||||
%{dynload_dir}/audioop_d.so
|
||||
%{dynload_dir}/binascii_d.so
|
||||
%{dynload_dir}/bz2_d.so
|
||||
%{dynload_dir}/cmath_d.so
|
||||
%{dynload_dir}/crypt_d.so
|
||||
%{dynload_dir}/_datetime_d.so
|
||||
%{dynload_dir}/fcntl_d.so
|
||||
%{dynload_dir}/grp_d.so
|
||||
%{dynload_dir}/itertools_d.so
|
||||
%{dynload_dir}/math_d.so
|
||||
%{dynload_dir}/mmap_d.so
|
||||
%{dynload_dir}/nis_d.so
|
||||
%{dynload_dir}/operator_d.so
|
||||
%{dynload_dir}/ossaudiodev_d.so
|
||||
%{dynload_dir}/parser_d.so
|
||||
%{dynload_dir}/pyexpat_d.so
|
||||
%{dynload_dir}/readline_d.so
|
||||
%{dynload_dir}/resource_d.so
|
||||
%{dynload_dir}/select_d.so
|
||||
%{dynload_dir}/spwd_d.so
|
||||
%{dynload_dir}/syslog_d.so
|
||||
%{dynload_dir}/termios_d.so
|
||||
%{dynload_dir}/time_d.so
|
||||
%{dynload_dir}/unicodedata_d.so
|
||||
%{dynload_dir}/zlib_d.so
|
||||
%{dynload_dir}/_bisect.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_codecs_cn.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_codecs_hk.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_codecs_iso2022.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_codecs_jp.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_codecs_kr.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_codecs_tw.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_csv.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_ctypes.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_curses.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_curses_panel.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_dbm.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_elementtree.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_gdbm.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_hashlib.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_heapq.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_json.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_lsprof.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_md5.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_multibytecodec.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_multiprocessing.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_pickle.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_random.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_sha1.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_sha256.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_sha512.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_socket.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_sqlite3.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_ssl.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_struct.%{SOABI_debug}.so
|
||||
%{dynload_dir}/array.%{SOABI_debug}.so
|
||||
%{dynload_dir}/atexit.%{SOABI_debug}.so
|
||||
%{dynload_dir}/audioop.%{SOABI_debug}.so
|
||||
%{dynload_dir}/binascii.%{SOABI_debug}.so
|
||||
%{dynload_dir}/bz2.%{SOABI_debug}.so
|
||||
%{dynload_dir}/cmath.%{SOABI_debug}.so
|
||||
%{dynload_dir}/crypt.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_datetime.%{SOABI_debug}.so
|
||||
%{dynload_dir}/fcntl.%{SOABI_debug}.so
|
||||
%{dynload_dir}/grp.%{SOABI_debug}.so
|
||||
%{dynload_dir}/math.%{SOABI_debug}.so
|
||||
%{dynload_dir}/mmap.%{SOABI_debug}.so
|
||||
%{dynload_dir}/nis.%{SOABI_debug}.so
|
||||
%{dynload_dir}/ossaudiodev.%{SOABI_debug}.so
|
||||
%{dynload_dir}/parser.%{SOABI_debug}.so
|
||||
%{dynload_dir}/pyexpat.%{SOABI_debug}.so
|
||||
%{dynload_dir}/readline.%{SOABI_debug}.so
|
||||
%{dynload_dir}/resource.%{SOABI_debug}.so
|
||||
%{dynload_dir}/select.%{SOABI_debug}.so
|
||||
%{dynload_dir}/spwd.%{SOABI_debug}.so
|
||||
%{dynload_dir}/syslog.%{SOABI_debug}.so
|
||||
%{dynload_dir}/termios.%{SOABI_debug}.so
|
||||
%{dynload_dir}/time.%{SOABI_debug}.so
|
||||
%{dynload_dir}/unicodedata.%{SOABI_debug}.so
|
||||
%{dynload_dir}/zlib.%{SOABI_debug}.so
|
||||
|
||||
# No need to split things out the "Makefile" and the config-32/64.h file as we
|
||||
# do for the regular build above (bug 531901), since they're all in one package
|
||||
@ -1148,25 +1107,22 @@ rm -fr %{buildroot}
|
||||
%endif
|
||||
|
||||
# Analog of the -devel subpackage's files:
|
||||
%dir %{pylibdir}/config-debug
|
||||
%{pylibdir}/config-debug/*
|
||||
%{_includedir}/python%{pybasever}-debug/*.h
|
||||
%{_bindir}/python3-debug-config
|
||||
%{_bindir}/python%{pybasever}-debug-config
|
||||
%{_libdir}/libpython%{pybasever}_d.so
|
||||
%{_libdir}/pkgconfig/python-%{pybasever}-debug.pc
|
||||
%{_libdir}/pkgconfig/python3-debug.pc
|
||||
%{pylibdir}/config-%{LDVERSION_debug}
|
||||
%{_includedir}/python%{LDVERSION_debug}
|
||||
%{_bindir}/python%{LDVERSION_debug}-config
|
||||
%{_libdir}/libpython%{LDVERSION_debug}.so
|
||||
%{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc
|
||||
|
||||
# Analog of the -tools subpackage's files:
|
||||
# None for now; we could build precanned versions that have the appropriate
|
||||
# shebang if needed
|
||||
|
||||
# Analog of the tkinter subpackage's files:
|
||||
%{dynload_dir}/_tkinter_d.so
|
||||
%{dynload_dir}/_tkinter.%{SOABI_debug}.so
|
||||
|
||||
# Analog of the -test subpackage's files:
|
||||
%{dynload_dir}/_ctypes_test_d.so
|
||||
%{dynload_dir}/_testcapi_d.so
|
||||
%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so
|
||||
%{dynload_dir}/_testcapi.%{SOABI_debug}.so
|
||||
|
||||
%endif # with_debug_build
|
||||
|
||||
@ -1185,6 +1141,25 @@ rm -fr %{buildroot}
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Dec 28 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.5.b2
|
||||
- 3.2b2
|
||||
- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs),
|
||||
patch 8 (systemtap), patch 102 (lib64)
|
||||
- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149),
|
||||
patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar
|
||||
fixed upstream)
|
||||
- regenerate patch 300 (autotool intermediates)
|
||||
- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127,
|
||||
patch 128)
|
||||
- stop using runtest.sh in %%check (dropped by upstream), replacing with
|
||||
regrtest; fixup list of failing tests
|
||||
- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros
|
||||
- rework manifests of shared libraries to use "SOABI_" macros, reflecting
|
||||
PEP 3149
|
||||
- drop itertools, operator and _collections modules from the manifests as py3k
|
||||
commit r84058 moved these inside libpython; json/tests moved to test/json_tests
|
||||
- move turtle code into the tkinter subpackage
|
||||
|
||||
* Wed Nov 17 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.5.a1
|
||||
- fix sysconfig to not rely on the -devel subpackage (rhbz#653058)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user