diff --git a/python-2.5-config.patch b/python-2.5-config.patch index c800780..509224f 100644 --- a/python-2.5-config.patch +++ b/python-2.5-config.patch @@ -1,5 +1,5 @@ ---- Python-2.5.1/Include/pyexpat.h.rhconfig 2007-06-26 18:40:21.000000000 -0400 -+++ Python-2.5.1/Include/pyexpat.h 2007-06-26 18:41:16.000000000 -0400 +--- Python-2.5.1/Include/pyexpat.h.rhconfig 2006-06-19 19:21:25.000000000 -0400 ++++ Python-2.5.1/Include/pyexpat.h 2007-06-27 10:12:45.000000000 -0400 @@ -5,6 +5,19 @@ #define PyExpat_CAPI_MAGIC "pyexpat.expat_CAPI 1.0" @@ -21,7 +21,7 @@ { char* magic; /* set to PyExpat_CAPI_MAGIC */ --- Python-2.5.1/Modules/Setup.dist.rhconfig 2006-08-06 03:26:21.000000000 -0400 -+++ Python-2.5.1/Modules/Setup.dist 2007-06-26 18:41:40.000000000 -0400 ++++ Python-2.5.1/Modules/Setup.dist 2007-06-27 10:12:45.000000000 -0400 @@ -149,7 +149,7 @@ GLHACK=-Dclear=__GLclear # modules are to be built as shared libraries (see above for more # detail; also note that *static* reverses this effect): @@ -312,3 +312,21 @@ # Example -- included for reference only: # xx xxmodule.c +--- Python-2.5.1/setup.py.rhconfig 2007-06-27 10:26:41.000000000 -0400 ++++ Python-2.5.1/setup.py 2007-06-27 10:26:51.000000000 -0400 +@@ -998,7 +998,6 @@ class PyBuildExt(build_ext): + + exts.append(Extension('pyexpat', + define_macros = define_macros, +- include_dirs = [expatinc], + sources = ['pyexpat.c', + 'expat/xmlparse.c', + 'expat/xmlrole.c', +@@ -1013,7 +1012,6 @@ class PyBuildExt(build_ext): + define_macros.append(('USE_PYEXPAT_CAPI', None)) + exts.append(Extension('_elementtree', + define_macros = define_macros, +- include_dirs = [expatinc], + sources = ['_elementtree.c'], + )) + diff --git a/python.spec b/python.spec index 62362cc..674a863 100644 --- a/python.spec +++ b/python.spec @@ -20,7 +20,7 @@ Summary: An interpreted, interactive, object-oriented programming language. Name: %{python} Version: 2.5.1 -Release: 3%{?dist} +Release: 4%{?dist} License: Python Software Foundation License v2 Group: Development/Languages Provides: python-abi = %{pybasever} @@ -332,6 +332,15 @@ sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" $RPM_BUILD_ROOT%{_libdir}/python%{p # Get rid of egg-info files (core python modules are installed through rpms) rm $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/*.egg-info +# python's build is stupid and doesn't fail if extensions fail to build +# let's list a few that we care about... +for so in _bsddb.so _ctypes.so _cursesmodule.so _elementtree.so _sqlite3.so _ssl.so readline.so _hashlib.so zlibmodule.so bz2.so pyexpat.so; do + if [ ! -f $RPM_BUILD_ROOT/%{_libdir}/python%{pybasever}/lib-dynload/$so ]; then + echo "Missing $so!!!" + exit 1 + fi +done + %clean rm -fr $RPM_BUILD_ROOT @@ -405,6 +414,11 @@ rm -fr $RPM_BUILD_ROOT %{_libdir}/python%{pybasever}/lib-dynload/_tkinter.so %changelog +* Wed Jun 27 2007 Jeremy Katz - 2.5.1-4 +- fix _elementtree.so build (#245703) +- ensure that extension modules we expect are actually built rather than + having them silently fall out of the package + * Tue Jun 26 2007 Jeremy Katz - 2.5.1-3 - link with system expat (#245703)