SHA256
1
0
forked from pool/python
OBS User unknown
2008-09-23 22:12:56 +00:00
committed by Git OBS Bridge
parent db72344b6c
commit da47da1873
17 changed files with 838 additions and 361 deletions

View File

@@ -1,5 +1,5 @@
#
# spec file for package python (Version 2.6b3)
# spec file for package python (Version 2.6rc2)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,7 +18,7 @@
Name: python
BuildRequires: blt db-devel gcc-c++ gdbm-devel gmp-devel libbz2-devel libopenssl-devel ncurses-devel readline-devel sqlite-devel tk-devel xorg-x11-devel
BuildRequires: blt db-devel gdbm-devel gmp-devel libbz2-devel libopenssl-devel ncurses-devel readline-devel sqlite-devel tk-devel xorg-x11-devel
%if %suse_version >= 1030
BuildRequires: fdupes
%endif
@@ -27,9 +27,10 @@ Url: http://www.python.org/
License: X11/MIT
Group: Development/Languages/Python
AutoReqProv: on
Requires: python-base
Obsoletes: python-nothreads python21 python-elementtree python-sqlite
Summary: Python Interpreter
Version: 2.6b3
Version: 2.6rc2
Release: 1
%define tarname Python-%{version}
Source0: %{tarname}.tar.bz2
@@ -39,19 +40,16 @@ Source9: python.sh
Source10: python.csh
#Source11: testfiles.tar.bz2
# issues with copyrighted Unicode testing files
Source13: distutils.cfg
Patch01: Python-2.3.3-dirs.patch
Patch10: python-distutils-rpm-8.patch
Patch21: Python-2.6b1-multilib.patch
Patch23: ssl-compat.diff
Patch23: python-2.6b3-ssl-compat.patch
Patch25: python-2.6b1-canonicalize2.patch
Patch26: python-2.6b1-localpath.patch
Patch27: python-2.6b2-https_warn.patch
Patch30: python-2.5.1-sqlite.patch
Patch31: python-2.5.2-fwrapv.patch
Patch35: python-2.5.2-configure.patch
Patch37: python-2.6b2-CVE-2008-2316-hashlib.patch
Patch38: python-2.6b3-curses-panel.patch
Patch39: python-2.6rc2-sslwrap-simple.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define python_version %(echo %{version} | head -c 3)
%define idle_name idle
@@ -105,30 +103,6 @@ programs that are useful for building or extending Python.
Authors:
--------
Guido van Rossum <guido@python.org>
%package devel
License: Python Copyright
Requires: python = %{version} python-tk
Summary: Include Files and Libraries Mandatory for Building Python Modules
Group: Development/Languages/Python
AutoReqProv: on
%description devel
The Python programming language's interpreter can be extended with
dynamically loaded extensions and can be embedded in other programs.
This package contains header files, a static library, and development
tools for building Python modules, extending the Python interpreter or
embedding Python in applications.
This also includes the Python distutils, which were in the Python
package up to version 2.2.2.
Authors:
--------
Guido van Rossum <guido@python.org>
@@ -193,37 +167,24 @@ Authors:
--------
Guido van Rossum <guido@python.org>
%package xml
License: Python Copyright
Requires: python = %{version}
Summary: A Python XML Interface
Group: Development/Libraries/Python
AutoReqProv: on
%description xml
The expat module is a Python interface to the expat XML parser. Since
Python2.x, it is part of the core Python distribution.
%prep
#%%setup -q -n %{tarname} -a11
%setup -q -n %{tarname}
# patching
%patch01
%patch10 -p1
%patch21 -p1
%patch23
%patch25
%patch26
%patch27
%patch30
%patch31
#%if 0%{?suse_version}
#%endif
%patch35
%patch37
%if %suse_version > 1100
%patch38
%endif
%patch39
# some cleanup
find . -name .cvsignore -type f -print0 | xargs -0 rm -f
find . -name CVS -type d -print0 | xargs -0 rm -rf
@@ -256,26 +217,22 @@ touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h
# compile
########################################
make %{?jobs:-j%jobs} DESTDIR=$RPM_BUILD_ROOT
########################################
# test
########################################
%check
# on hppa, the threading of glibc is quite broken. The tests just stop
# at some point, and the machine does not build anything more until a
# timeout several hours later.
%ifnarch hppa %arm
# extensive bsddb test fails (probably on all 64-bit arches):
# Berkeley DB library configured to support only private environments
# test_file fails in autobuild env - "stdin.seek(-1)" wrongly succeeds. probably an issue with autobuild's stdin
# test_nis fails in autobuild env. probably a misconfiguration of mbuild servers
#EXCLUDE="-x test_file -x test_nis"
EXCLUDE="-x test_unicode -x test_urllib2 -x test_file"
# test_urllib2 fails in autobuild env, because it's notoriously impossible to resolve an address in autobuild
EXCLUDE="-x test_urllib2 -x test_file"
# these two tests work fine but are awfully slow
EXCLUDE="$EXCLUDE -x test_nis -x test_threading"
# Limit virtual memory to avoid spurious failures
if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then
ulimit -v 10000000 || :
fi
make test TESTOPTS="-l $EXCLUDE"
# test bsddb:
#make test TESTOPTS="-l -u bsddb"
# use network, be verbose:
#make test TESTOPTS="-l -u network -v"
%endif
@@ -291,10 +248,6 @@ make \
OPT="$RPM_OPT_FLAGS -fPIC" \
DESTDIR=$RPM_BUILD_ROOT \
install
# install site-specific tweaks
# install -m 644 %{S:12} ${RPM_BUILD_ROOT}%{_libdir}/python%{python_version}
install -m 644 %{S:13} ${RPM_BUILD_ROOT}%{_libdir}/python%{python_version}/distutils
ln -s python%{python_version} ${RPM_BUILD_ROOT}%{_bindir}/python2
########################################
# some cleanups
########################################
@@ -305,6 +258,92 @@ for dir in bin include %{_lib} ; do
done
# kill imageop.so, it's insecure
rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{python_version}/lib-dynload/imageop.so
#cleanup for -base
rm $RPM_BUILD_ROOT%{_bindir}/python{,2.6}
rm $RPM_BUILD_ROOT%{_bindir}/smtpd.py
rm $RPM_BUILD_ROOT%{_bindir}/pydoc
rm $RPM_BUILD_ROOT%{_bindir}/2to3
rm $RPM_BUILD_ROOT%{_mandir}/man1/python.1*
rm $RPM_BUILD_ROOT%{_libdir}/libpython*.so.*
rm $RPM_BUILD_ROOT%{_libdir}/python
find $RPM_BUILD_ROOT%{_libdir}/python%{python_version} -maxdepth 1 ! \( -name "ssl.py" \) -exec rm {} ";"
rm $RPM_BUILD_ROOT%{_bindir}/python%{python_version}-config
rm $RPM_BUILD_ROOT%{_bindir}/python-config
rm -r $RPM_BUILD_ROOT%{_includedir}/python
rm -r $RPM_BUILD_ROOT%{_includedir}/python%{python_version}
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/bsddb
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/compiler
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/config
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/ctypes
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/distutils
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/email
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/encodings
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/hotshot
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/json
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib2to3
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/logging
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/multiprocessing
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/plat-*
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/test
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/wsgiref
rm -r $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/xml
rm $RPM_BUILD_ROOT%{_libdir}/libpython%{python_version}.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/site-packages/README
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_bisect.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_bytesio.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_bsddb.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_csv.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_collections.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_ctypes.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_ctypes_test.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_elementtree.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_fileio.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_functools.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_heapq.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_hotshot.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_json.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_locale.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_lsprof.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_multiprocessing.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_random.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_socket.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_struct.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_testcapi.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_weakref.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/array.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/binascii.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/bz2.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/cPickle.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/cStringIO.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/cmath.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/crypt.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/datetime.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/fcntl.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/future_builtins.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/grp.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/itertools.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/linuxaudiodev.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/math.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/mmap.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/nis.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/operator.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/ossaudiodev.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/parser.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/pyexpat.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/resource.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/select.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/spwd.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/strop.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/syslog.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/termios.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/time.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/unicodedata.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/zlib.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_codecs*.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_multibytecodec.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/audioop.so
rm -f $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/dl.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/Python-%{version}-py%{python_version}.egg-info
%if %suse_version >= 1030
# replace duplicate .pyo/.pyc with hardlinks
%fdupes $RPM_BUILD_ROOT/%{_libdir}/python%{python_version}
@@ -338,11 +377,6 @@ install -d -m755 ${RPM_BUILD_ROOT}/etc/%{idle_name}
done
)
########################################
# devel
########################################
# install Makefile.pre.in and Makefile.pre
cp Makefile Makefile.pre.in Makefile.pre $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/config/
########################################
# startup script
########################################
install -m 644 %{S:8} $RPM_BUILD_ROOT/etc
@@ -389,124 +423,44 @@ rm -rf $RPM_BUILD_ROOT
%files gdbm
%defattr(644, root, root, 755)
%{_libdir}/python%{python_version}/lib-dynload/gdbm.so
%files xml
%defattr(644, root, root, 755)
%{_libdir}/python%{python_version}/xml
%{_libdir}/python%{python_version}/lib-dynload/pyexpat.so
%files devel
%defattr(-, root, root)
%{_libdir}/python%{python_version}/config
%defattr(644, root, root, 755)
%{_libdir}/libpython*.so
%{_prefix}/include/python*
%{_libdir}/python%{python_version}/test
%defattr(755, root, root)
%{_bindir}/python-config
%{_bindir}/python%{python_version}-config
%{_libdir}/python%{python_version}/lib-dynload/dbm.so
%files
%defattr(644, root, root, 755)
%config /etc/pythonstart
%config /etc/profile.d/python.*
%dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/README
%doc %{_docdir}/%{name}/LICENSE
%doc %{_docdir}/%{name}/README.SUSE
%doc %{_mandir}/man1/python.1*
%{_libdir}/libpython*.so.*
%{_libdir}/python
%config /etc/pythonstart
%config /etc/profile.d/python.*
%dir %{_libdir}/python%{python_version}
%{_libdir}/python%{python_version}/*.*
%{_libdir}/python%{python_version}/bsddb
%{_libdir}/python%{python_version}/compiler
%{_libdir}/python%{python_version}/ctypes
%{_libdir}/python%{python_version}/distutils
%{_libdir}/python%{python_version}/email
%{_libdir}/python%{python_version}/encodings
%{_libdir}/python%{python_version}/hotshot
%{_libdir}/python%{python_version}/json
%{_libdir}/python%{python_version}/lib2to3
%{_libdir}/python%{python_version}/logging
%{_libdir}/python%{python_version}/multiprocessing
%{_libdir}/python%{python_version}/plat-*
%{_libdir}/python%{python_version}/ssl.py*
%{_libdir}/python%{python_version}/sqlite3
%{_libdir}/python%{python_version}/wsgiref
%dir %{_libdir}/python%{python_version}/site-packages
%{_libdir}/python%{python_version}/site-packages/README
%dir %{_libdir}/python%{python_version}/lib-dynload
%{_libdir}/python%{python_version}/lib-dynload/_bisect.so
%{_libdir}/python%{python_version}/lib-dynload/_bytesio.so
%{_libdir}/python%{python_version}/lib-dynload/_bsddb.so
%{_libdir}/python%{python_version}/lib-dynload/_csv.so
%{_libdir}/python%{python_version}/lib-dynload/_collections.so
%{_libdir}/python%{python_version}/lib-dynload/_ctypes.so
%{_libdir}/python%{python_version}/lib-dynload/_ctypes_test.so
%{_libdir}/python%{python_version}/lib-dynload/_elementtree.so
%{_libdir}/python%{python_version}/lib-dynload/_fileio.so
%{_libdir}/python%{python_version}/lib-dynload/_functools.so
%{_libdir}/python%{python_version}/lib-dynload/_hashlib.so
%{_libdir}/python%{python_version}/lib-dynload/_heapq.so
%{_libdir}/python%{python_version}/lib-dynload/_hotshot.so
%{_libdir}/python%{python_version}/lib-dynload/_json.so
%{_libdir}/python%{python_version}/lib-dynload/_locale.so
%{_libdir}/python%{python_version}/lib-dynload/_lsprof.so
%{_libdir}/python%{python_version}/lib-dynload/_multiprocessing.so
%{_libdir}/python%{python_version}/lib-dynload/_random.so
%{_libdir}/python%{python_version}/lib-dynload/_socket.so
%{_libdir}/python%{python_version}/lib-dynload/_sqlite3.so
%{_libdir}/python%{python_version}/lib-dynload/_ssl.so
%{_libdir}/python%{python_version}/lib-dynload/_struct.so
%{_libdir}/python%{python_version}/lib-dynload/_testcapi.so
%{_libdir}/python%{python_version}/lib-dynload/_weakref.so
%{_libdir}/python%{python_version}/lib-dynload/array.so
%{_libdir}/python%{python_version}/lib-dynload/binascii.so
%{_libdir}/python%{python_version}/lib-dynload/bz2.so
%{_libdir}/python%{python_version}/lib-dynload/cPickle.so
%{_libdir}/python%{python_version}/lib-dynload/cStringIO.so
%{_libdir}/python%{python_version}/lib-dynload/cmath.so
%{_libdir}/python%{python_version}/lib-dynload/crypt.so
%{_libdir}/python%{python_version}/lib-dynload/datetime.so
%{_libdir}/python%{python_version}/lib-dynload/dbm.so
%{_libdir}/python%{python_version}/lib-dynload/fcntl.so
%{_libdir}/python%{python_version}/lib-dynload/future_builtins.so
%{_libdir}/python%{python_version}/lib-dynload/grp.so
%{_libdir}/python%{python_version}/lib-dynload/itertools.so
%{_libdir}/python%{python_version}/lib-dynload/linuxaudiodev.so
%{_libdir}/python%{python_version}/lib-dynload/math.so
%{_libdir}/python%{python_version}/lib-dynload/mmap.so
%{_libdir}/python%{python_version}/lib-dynload/nis.so
%{_libdir}/python%{python_version}/lib-dynload/operator.so
%{_libdir}/python%{python_version}/lib-dynload/ossaudiodev.so
%{_libdir}/python%{python_version}/lib-dynload/parser.so
%{_libdir}/python%{python_version}/lib-dynload/readline.so
%{_libdir}/python%{python_version}/lib-dynload/resource.so
%{_libdir}/python%{python_version}/lib-dynload/select.so
%{_libdir}/python%{python_version}/lib-dynload/spwd.so
%{_libdir}/python%{python_version}/lib-dynload/strop.so
%{_libdir}/python%{python_version}/lib-dynload/syslog.so
%{_libdir}/python%{python_version}/lib-dynload/termios.so
%{_libdir}/python%{python_version}/lib-dynload/time.so
%{_libdir}/python%{python_version}/lib-dynload/unicodedata.so
%{_libdir}/python%{python_version}/lib-dynload/zlib.so
%{_libdir}/python%{python_version}/lib-dynload/_codecs*.so
%{_libdir}/python%{python_version}/lib-dynload/_multibytecodec.so
%{_libdir}/python%{python_version}/lib-dynload/audioop.so
%{_libdir}/python%{python_version}/lib-dynload/Python-%{version}-py%{python_version}.egg-info
# these modules don't support 64-bit arches (disabled by setup.py)
%ifnarch alpha ia64 x86_64 s390x ppc64
# requires sizeof(int) == sizeof(long) == sizeof(char*)
%{_libdir}/python%{python_version}/lib-dynload/dl.so
%endif
%attr(755, root, root) %{_bindir}/pydoc
%attr(755, root, root) %{_bindir}/python
%attr(755, root, root) %{_bindir}/2to3
%attr(755, root, root) %{_bindir}/python%{python_version}
%attr(755, root, root) %{_bindir}/smtpd.py
%{_bindir}/python2
%changelog
* Fri Sep 19 2008 matejcik@suse.cz
- moved testsuite to %%check section
- update to 2.6rc2, removing the last remaining security patch
- included fix for socket.ssl() behavior regression, fixing
bnc#426563
* Tue Sep 16 2008 matejcik@suse.cz
- moved python-xml to subpackage of python-base
- moved dbm.so to gdbm subpackage
- moved ssl.py and sqlite3 module to this
* Mon Sep 15 2008 matejcik@suse.cz
- update to 2.6rc1 - bugfix-only pre-stable release
* Fri Sep 12 2008 matejcik@suse.cz
- split package, as per fate#305065
- moved python-devel to be a subpackage of python-base
- minor fixes & packaging cleanups
* Wed Sep 10 2008 matejcik@suse.cz
- fixed misapplied ssl-compat patch (caused segfaults when
opening SSL connections, bnc#425138 )
* Wed Sep 03 2008 matejcik@suse.cz
- updated to 2.6beta3 from BETA dist, summary of changes follows:
* patches update/cleanup