This commit is contained in:
parent
db72344b6c
commit
da47da1873
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:de4e8ac16a3ce4e0b903a8e025138feb1b94a970d22a65dc5a8d74c323626c79
|
||||
size 10921755
|
3
Python-2.6rc2.tar.bz2
Normal file
3
Python-2.6rc2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ad716bb6fa17e71643c9f05f9e20288893094ec37c11458d1ed9bb8a4232a35
|
||||
size 10801794
|
17
macros.python
Normal file
17
macros.python
Normal file
@ -0,0 +1,17 @@
|
||||
%py_ver %(python -c "import sys; v=sys.version_info[:2]; print '%%d.%%d'%%v" 2>/dev/null || echo PYTHON-NOT-FOUND)
|
||||
%py_prefix %(python -c "import sys; print sys.prefix" 2>/dev/null || echo PYTHON-NOT-FOUND)
|
||||
%py_libdir %{py_prefix}/%{_lib}/python%{py_ver}
|
||||
%py_incdir %{py_prefix}/include/python%{py_ver}
|
||||
%py_sitedir %{py_libdir}/site-packages
|
||||
%py_compile(O) \
|
||||
find %1 -name '*.pyc' -exec rm -f {} \\; \
|
||||
python -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \
|
||||
%{-O: \
|
||||
find %1 -name '*.pyo' -exec rm -f {} \\; \
|
||||
python -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \
|
||||
}
|
||||
%py_requires(d) \
|
||||
%define minver %py_ver \
|
||||
%define maxver %(python -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND) \
|
||||
BuildRequires: /usr/bin/python %{-d:python-devel} \
|
||||
PreReq: python >= %minver, python < %maxver
|
@ -1,6 +1,6 @@
|
||||
--- configure.in
|
||||
+++ configure.in
|
||||
@@ -450,9 +450,6 @@ then
|
||||
@@ -509,9 +509,6 @@
|
||||
fi
|
||||
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
-
|
||||
# Check for unsupported systems
|
||||
case $ac_sys_system/$ac_sys_release in
|
||||
Linux*/1*)
|
||||
@@ -513,6 +510,9 @@ SunOS*)
|
||||
atheos*|Linux*/1*)
|
||||
@@ -572,6 +569,9 @@
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -20,13 +20,13 @@
|
||||
AC_SUBST(ARCH)
|
||||
AC_MSG_CHECKING(ARCH)
|
||||
ARCH=`uname -m`
|
||||
@@ -3153,9 +3153,18 @@ then
|
||||
@@ -3406,9 +3406,18 @@
|
||||
fi
|
||||
|
||||
# check for readline 4.0
|
||||
-AC_CHECK_LIB(readline, rl_pre_input_hook,
|
||||
- AC_DEFINE(HAVE_RL_PRE_INPUT_HOOK, 1,
|
||||
- [Define if you have readline 4.0]), , )
|
||||
- [Define if you have readline 4.0]), ,$READLINE_LIBS)
|
||||
+AC_MSG_CHECKING([for rl_pre_input_hook in -lreadline])
|
||||
+AC_CACHE_VAL(ac_cv_have_rl_re_input_hook, [
|
||||
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>
|
||||
@ -40,5 +40,5 @@
|
||||
+ [Define if you have readline 4.0])
|
||||
+fi
|
||||
|
||||
# check for readline 4.2
|
||||
AC_CHECK_LIB(readline, rl_completion_matches,
|
||||
# also in 4.0
|
||||
AC_CHECK_LIB(readline, rl_completion_display_matches_hook,
|
||||
|
@ -1,156 +0,0 @@
|
||||
Index: Lib/test/test_hashlib.py
|
||||
===================================================================
|
||||
--- Lib/test/test_hashlib.py (revision 64624)
|
||||
+++ Lib/test/test_hashlib.py (working copy)
|
||||
@@ -9,8 +9,8 @@
|
||||
import hashlib
|
||||
import unittest
|
||||
from test import test_support
|
||||
+from test.test_support import _4G, precisionbigmemtest
|
||||
|
||||
-
|
||||
def hexstr(s):
|
||||
import string
|
||||
h = string.hexdigits
|
||||
@@ -55,7 +55,6 @@
|
||||
m2.update(aas + bees + cees)
|
||||
self.assertEqual(m1.digest(), m2.digest())
|
||||
|
||||
-
|
||||
def check(self, name, data, digest):
|
||||
# test the direct constructors
|
||||
computed = getattr(hashlib, name)(data).hexdigest()
|
||||
@@ -74,8 +73,23 @@
|
||||
def test_case_md5_2(self):
|
||||
self.check('md5', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
|
||||
'd174ab98d277d9f5a5611c2c9f419d9f')
|
||||
+
|
||||
+ @precisionbigmemtest(size=_4G + 5, memuse=1)
|
||||
+ def test_case_md5_huge(self, size):
|
||||
+ if size == _4G + 5:
|
||||
+ try:
|
||||
+ self.check('md5', 'A'*size, 'c9af2dff37468ce5dfee8f2cfc0a9c6d')
|
||||
+ except OverflowError:
|
||||
+ pass # 32-bit arch
|
||||
+
|
||||
+ @precisionbigmemtest(size=_4G - 1, memuse=1)
|
||||
+ def test_case_md5_uintmax(self, size):
|
||||
+ if size == _4G - 1:
|
||||
+ try:
|
||||
+ self.check('md5', 'A'*size, '28138d306ff1b8281f1a9067e1a1a2b3')
|
||||
+ except OverflowError:
|
||||
+ pass # 32-bit arch
|
||||
|
||||
-
|
||||
# use the three examples from Federal Information Processing Standards
|
||||
# Publication 180-1, Secure Hash Standard, 1995 April 17
|
||||
# http://www.itl.nist.gov/div897/pubs/fip180-1.htm
|
||||
Index: Modules/_hashopenssl.c
|
||||
===================================================================
|
||||
--- Modules/_hashopenssl.c (revision 64624)
|
||||
+++ Modules/_hashopenssl.c (working copy)
|
||||
@@ -19,7 +19,9 @@
|
||||
/* EVP is the preferred interface to hashing in OpenSSL */
|
||||
#include <openssl/evp.h>
|
||||
|
||||
+#define MUNCH_SIZE INT_MAX
|
||||
|
||||
+
|
||||
#ifndef HASH_OBJ_CONSTRUCTOR
|
||||
#define HASH_OBJ_CONSTRUCTOR 0
|
||||
#endif
|
||||
@@ -164,9 +166,18 @@
|
||||
if (!PyArg_ParseTuple(args, "s#:update", &cp, &len))
|
||||
return NULL;
|
||||
|
||||
+ if (len > 0 && len <= MUNCH_SIZE) {
|
||||
EVP_DigestUpdate(&self->ctx, cp, Py_SAFE_DOWNCAST(len, Py_ssize_t,
|
||||
unsigned int));
|
||||
-
|
||||
+ } else {
|
||||
+ Py_ssize_t offset = 0;
|
||||
+ while (len) {
|
||||
+ unsigned int process = len > MUNCH_SIZE ? MUNCH_SIZE : len;
|
||||
+ EVP_DigestUpdate(&self->ctx, cp + offset, process);
|
||||
+ len -= process;
|
||||
+ offset += process;
|
||||
+ }
|
||||
+ }
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
}
|
||||
@@ -255,10 +266,21 @@
|
||||
self->name = name_obj;
|
||||
Py_INCREF(self->name);
|
||||
|
||||
- if (cp && len)
|
||||
+ if (cp && len) {
|
||||
+ if (len > 0 && len <= MUNCH_SIZE) {
|
||||
EVP_DigestUpdate(&self->ctx, cp, Py_SAFE_DOWNCAST(len, Py_ssize_t,
|
||||
unsigned int));
|
||||
-
|
||||
+ } else {
|
||||
+ Py_ssize_t offset = 0;
|
||||
+ while (len) {
|
||||
+ unsigned int process = len > MUNCH_SIZE ? MUNCH_SIZE : len;
|
||||
+ EVP_DigestUpdate(&self->ctx, cp + offset, process);
|
||||
+ len -= process;
|
||||
+ offset += process;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
@@ -327,7 +349,7 @@
|
||||
static PyObject *
|
||||
EVPnew(PyObject *name_obj,
|
||||
const EVP_MD *digest, const EVP_MD_CTX *initial_ctx,
|
||||
- const unsigned char *cp, unsigned int len)
|
||||
+ const unsigned char *cp, Py_ssize_t len)
|
||||
{
|
||||
EVPobject *self;
|
||||
|
||||
@@ -345,8 +367,20 @@
|
||||
EVP_DigestInit(&self->ctx, digest);
|
||||
}
|
||||
|
||||
- if (cp && len)
|
||||
- EVP_DigestUpdate(&self->ctx, cp, len);
|
||||
+ if (cp && len) {
|
||||
+ if (len > 0 && len <= MUNCH_SIZE) {
|
||||
+ EVP_DigestUpdate(&self->ctx, cp, Py_SAFE_DOWNCAST(len, Py_ssize_t,
|
||||
+ unsigned int));
|
||||
+ } else {
|
||||
+ Py_ssize_t offset = 0;
|
||||
+ while (len) {
|
||||
+ unsigned int process = len > MUNCH_SIZE ? MUNCH_SIZE : len;
|
||||
+ EVP_DigestUpdate(&self->ctx, cp + offset, process);
|
||||
+ len -= process;
|
||||
+ offset += process;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
return (PyObject *)self;
|
||||
}
|
||||
@@ -383,8 +417,7 @@
|
||||
|
||||
digest = EVP_get_digestbyname(name);
|
||||
|
||||
- return EVPnew(name_obj, digest, NULL, cp, Py_SAFE_DOWNCAST(len, Py_ssize_t,
|
||||
- unsigned int));
|
||||
+ return EVPnew(name_obj, digest, NULL, cp, len);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -409,7 +442,7 @@
|
||||
CONST_ ## NAME ## _name_obj, \
|
||||
NULL, \
|
||||
CONST_new_ ## NAME ## _ctx_p, \
|
||||
- cp, Py_SAFE_DOWNCAST(len, Py_ssize_t, unsigned int)); \
|
||||
+ cp, len); \
|
||||
}
|
||||
|
||||
/* a PyMethodDef structure for the constructor */
|
@ -1,14 +0,0 @@
|
||||
--- Lib/urllib.py
|
||||
+++ Lib/urllib.py
|
||||
@@ -1281,7 +1282,10 @@
|
||||
for name, value in os.environ.items():
|
||||
name = name.lower()
|
||||
if value and name[-6:] == '_proxy':
|
||||
- proxies[name[:-6]] = value
|
||||
+ if name == 'https_proxy':
|
||||
+ warnings.warn ("urllib can't handle https proxies, your https_proxy setting will not work", RuntimeWarning, stacklevel=2)
|
||||
+ else:
|
||||
+ proxies[name[:-6]] = value
|
||||
return proxies
|
||||
|
||||
if sys.platform == 'darwin':
|
11
python-2.6b3-ssl-compat.patch
Normal file
11
python-2.6b3-ssl-compat.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- Modules/_ssl.c
|
||||
+++ Modules/_ssl.c
|
||||
@@ -311,6 +311,8 @@
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+ SSL_CTX_set_options(self->ctx, SSL_OP_ALL); /* ssl compatibility */
|
||||
+
|
||||
if (certreq != PY_SSL_CERT_NONE) {
|
||||
if (cacerts_file == NULL) {
|
||||
errstr = ERRSTR("No root certificates specified for "
|
16
python-2.6rc1-bug-no-proxy.patch
Normal file
16
python-2.6rc1-bug-no-proxy.patch
Normal file
@ -0,0 +1,16 @@
|
||||
|
||||
=== modified file 'Lib/urllib.py'
|
||||
--- Lib/urllib.py 2008-07-02 01:57:08 +0000
|
||||
+++ Lib/urllib.py 2008-09-16 12:21:26 +0000
|
||||
@@ -1299,9 +1299,6 @@
|
||||
proxies = {}
|
||||
for name, value in os.environ.items():
|
||||
name = name.lower()
|
||||
- if name == 'no_proxy':
|
||||
- # handled in proxy_bypass_environment
|
||||
- continue
|
||||
if value and name[-6:] == '_proxy':
|
||||
proxies[name[:-6]] = value
|
||||
return proxies
|
||||
|
||||
|
133
python-2.6rc2-https-proxy.patch
Normal file
133
python-2.6rc2-https-proxy.patch
Normal file
@ -0,0 +1,133 @@
|
||||
Index: Lib/httplib.py
|
||||
===================================================================
|
||||
--- Lib/httplib.py (revision 66111)
|
||||
+++ Lib/httplib.py (working copy)
|
||||
@@ -651,11 +651,17 @@
|
||||
self.__response = None
|
||||
self.__state = _CS_IDLE
|
||||
self._method = None
|
||||
+ self._tunnel_host = None
|
||||
+ self._tunnel_port = None
|
||||
|
||||
self._set_hostport(host, port)
|
||||
if strict is not None:
|
||||
self.strict = strict
|
||||
|
||||
+ def _set_tunnel(self, host, port=None):
|
||||
+ self._tunnel_host = host
|
||||
+ self._tunnel_port = port
|
||||
+
|
||||
def _set_hostport(self, host, port):
|
||||
if port is None:
|
||||
i = host.rfind(':')
|
||||
@@ -676,10 +682,24 @@
|
||||
def set_debuglevel(self, level):
|
||||
self.debuglevel = level
|
||||
|
||||
+ def _tunnel(self):
|
||||
+ self._set_hostport(self._tunnel_host, self._tunnel_port)
|
||||
+ self.send("CONNECT %s:%d HTTP/1.0\r\n\r\n" % (self.host, self.port))
|
||||
+ response = self.response_class(self.sock, strict = self.strict, method = self._method)
|
||||
+ (version, code, message) = response._read_status()
|
||||
+ if code != 200:
|
||||
+ self.close()
|
||||
+ raise socket.error, "Tunnel connection failed: %d %s" % (code, message.strip())
|
||||
+ while True:
|
||||
+ line = response.fp.readline()
|
||||
+ if line == '\r\n': break
|
||||
+
|
||||
def connect(self):
|
||||
"""Connect to the host and port specified in __init__."""
|
||||
self.sock = socket.create_connection((self.host,self.port),
|
||||
self.timeout)
|
||||
+ if self._tunnel_host:
|
||||
+ self._tunnel()
|
||||
|
||||
def close(self):
|
||||
"""Close the connection to the HTTP server."""
|
||||
@@ -1069,6 +1089,9 @@
|
||||
"Connect to a host on a given (SSL) port."
|
||||
|
||||
sock = socket.create_connection((self.host, self.port), self.timeout)
|
||||
+ if self._tunnel_host:
|
||||
+ self.sock = sock
|
||||
+ self._tunnel()
|
||||
self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file)
|
||||
|
||||
__all__.append("HTTPSConnection")
|
||||
Index: Lib/urllib2.py
|
||||
===================================================================
|
||||
--- Lib/urllib2.py (revision 66111)
|
||||
+++ Lib/urllib2.py (working copy)
|
||||
@@ -192,6 +192,7 @@
|
||||
# self.__r_type is what's left after doing the splittype
|
||||
self.host = None
|
||||
self.port = None
|
||||
+ self._tunnel_host = None
|
||||
self.data = data
|
||||
self.headers = {}
|
||||
for key, value in headers.items():
|
||||
@@ -252,9 +253,14 @@
|
||||
return self.__r_host
|
||||
|
||||
def set_proxy(self, host, type):
|
||||
- self.host, self.type = host, type
|
||||
- self.__r_host = self.__original
|
||||
+ if self.type == 'https' and not self._tunnel_host:
|
||||
+ self._tunnel_host = self.host
|
||||
+ else:
|
||||
+ self.type = type
|
||||
+ self.__r_host = self.__original
|
||||
+ self.host = host
|
||||
|
||||
+
|
||||
def has_proxy(self):
|
||||
return self.__r_host == self.__original
|
||||
|
||||
@@ -700,7 +706,7 @@
|
||||
req.add_header('Proxy-authorization', 'Basic ' + creds)
|
||||
hostport = unquote(hostport)
|
||||
req.set_proxy(hostport, proxy_type)
|
||||
- if orig_type == proxy_type:
|
||||
+ if orig_type == proxy_type or orig_type == 'https':
|
||||
# let other handlers take care of it
|
||||
return None
|
||||
else:
|
||||
@@ -1098,6 +1104,9 @@
|
||||
headers["Connection"] = "close"
|
||||
headers = dict(
|
||||
(name.title(), val) for name, val in headers.items())
|
||||
+
|
||||
+ if req._tunnel_host:
|
||||
+ h._set_tunnel(req._tunnel_host)
|
||||
try:
|
||||
h.request(req.get_method(), req.get_selector(), req.data, headers)
|
||||
r = h.getresponse()
|
||||
Index: Lib/test/test_urllib2.py
|
||||
===================================================================
|
||||
--- Lib/test/test_urllib2.py (revision 66111)
|
||||
+++ Lib/test/test_urllib2.py (working copy)
|
||||
@@ -939,6 +939,23 @@
|
||||
self.assertEqual([(handlers[0], "http_open")],
|
||||
[tup[0:2] for tup in o.calls])
|
||||
|
||||
+ def test_proxy_https(self):
|
||||
+ o = OpenerDirector()
|
||||
+ ph = urllib2.ProxyHandler(dict(https="proxy.example.com:3128"))
|
||||
+ o.add_handler(ph)
|
||||
+ meth_spec = [
|
||||
+ [("https_open", "return response")]
|
||||
+ ]
|
||||
+ handlers = add_ordered_mock_handlers(o, meth_spec)
|
||||
+
|
||||
+ req = Request("https://www.example.com/")
|
||||
+ self.assertEqual(req.get_host(), "www.example.com")
|
||||
+ r = o.open(req)
|
||||
+ self.assertEqual(req.get_host(), "proxy.example.com:3128")
|
||||
+
|
||||
+ self.assertEqual([(handlers[0], "https_open")],
|
||||
+ [tup[0:2] for tup in o.calls])
|
||||
+
|
||||
def test_basic_auth(self, quote_char='"'):
|
||||
opener = OpenerDirector()
|
||||
password_manager = MockPasswordManager()
|
42
python-2.6rc2-sslwrap-simple.patch
Normal file
42
python-2.6rc2-sslwrap-simple.patch
Normal file
@ -0,0 +1,42 @@
|
||||
Index: Lib/ssl.py
|
||||
===================================================================
|
||||
--- Lib/ssl.py (revision 66515)
|
||||
+++ Lib/ssl.py (working copy)
|
||||
@@ -434,7 +434,10 @@
|
||||
for compability with Python 2.5 and earlier. Will disappear in
|
||||
Python 3.0."""
|
||||
|
||||
- ssl_sock = _ssl.sslwrap(sock._sock, 0, keyfile, certfile, CERT_NONE,
|
||||
+ if hasattr(sock, "_sock"):
|
||||
+ sock = sock._sock
|
||||
+
|
||||
+ ssl_sock = _ssl.sslwrap(sock, 0, keyfile, certfile, CERT_NONE,
|
||||
PROTOCOL_SSLv23, None)
|
||||
ssl_sock.do_handshake()
|
||||
return ssl_sock
|
||||
Index: Lib/test/test_ssl.py
|
||||
===================================================================
|
||||
--- Lib/test/test_ssl.py (revision 66515)
|
||||
+++ Lib/test/test_ssl.py (working copy)
|
||||
@@ -58,6 +58,21 @@
|
||||
finally:
|
||||
s.close()
|
||||
|
||||
+ def testSimpleSSLwrap(self):
|
||||
+ try:
|
||||
+ ssl.sslwrap_simple(socket.socket(socket.AF_INET))
|
||||
+ except IOError, e:
|
||||
+ if e.errno == 32: # broken pipe when ssl_sock.do_handshake(), this test doesn't care about that
|
||||
+ pass
|
||||
+ else:
|
||||
+ raise
|
||||
+ try:
|
||||
+ ssl.sslwrap_simple(socket.socket(socket.AF_INET)._sock)
|
||||
+ except IOError, e:
|
||||
+ if e.errno == 32: # broken pipe when ssl_sock.do_handshake(), this test doesn't care about that
|
||||
+ pass
|
||||
+ else:
|
||||
+ raise
|
||||
|
||||
def testCrucialConstants(self):
|
||||
ssl.PROTOCOL_SSLv2
|
46
python-base.changes
Normal file
46
python-base.changes
Normal file
@ -0,0 +1,46 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 19 20:09:50 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- moved tests to %check section
|
||||
- update to 2.6rc2
|
||||
- included patch for https proxy support that resolves bnc#214983
|
||||
(in a proper way) and bnc#298378
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 17 22:09:12 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- included /etc/rpm/macros.python to fix the split-caused breakage
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 16 18:12:10 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- applied bug-no-proxy patch from python#3879, which should improve
|
||||
backwards compatibility (important i.e. for bzr)
|
||||
- moved python-xml to a subpackage of this (brings no additional
|
||||
dependencies, so it can as well stay)
|
||||
- moved Makefile and pyconfig.h to python-base, removing the need
|
||||
to have python-devel for installation
|
||||
- improved compatibility with older distros for 11.0
|
||||
- moved ssl.py and sqlite3 module to python package - they won't work
|
||||
without their respective binary modules anyway
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 15 18:34:27 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- updated to 2.6rc1 - bugfix-only pre-stable release
|
||||
- renamed python-base-devel to python-devel as it should be
|
||||
- removed macros from libpython package name
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 12 14:46:00 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- moved python-devel to a subpackage of this
|
||||
- created libpython subpackage
|
||||
- moved essential files from -devel to -base, so that distutils
|
||||
should now be able to install without -devel package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 9 20:30:11 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- initial release of python-base
|
||||
|
398
python-base.spec
Normal file
398
python-base.spec
Normal file
@ -0,0 +1,398 @@
|
||||
#
|
||||
# spec file for package python-base (Version 2.6rc2)
|
||||
#
|
||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
|
||||
Name: python-base
|
||||
BuildRequires: zlib-devel
|
||||
%if %suse_version >= 1030
|
||||
BuildRequires: fdupes
|
||||
%endif
|
||||
Url: http://www.python.org/
|
||||
License: X11/MIT
|
||||
Group: Development/Languages/Python
|
||||
AutoReqProv: on
|
||||
Summary: Python Interpreter base package
|
||||
Version: 2.6rc2
|
||||
Release: 1
|
||||
%define tarname Python-%{version}
|
||||
Source0: %{tarname}.tar.bz2
|
||||
Source1: macros.python
|
||||
Source6: README.SUSE
|
||||
Source13: distutils.cfg
|
||||
Patch01: Python-2.3.3-dirs.patch
|
||||
Patch10: python-distutils-rpm-8.patch
|
||||
Patch21: Python-2.6b1-multilib.patch
|
||||
Patch25: python-2.6b1-canonicalize2.patch
|
||||
Patch26: python-2.6b1-localpath.patch
|
||||
Patch31: python-2.5.2-fwrapv.patch
|
||||
Patch35: python-2.5.2-configure.patch
|
||||
Patch36: python-2.6rc1-bug-no-proxy.patch
|
||||
Patch37: python-2.6rc2-https-proxy.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%define python_version %(echo %{version} | head -c 3)
|
||||
|
||||
%description
|
||||
Python is an interpreted, object-oriented programming language, and is
|
||||
often compared to Tcl, Perl, Scheme, or Java. You can find an overview
|
||||
of Python in the documentation and tutorials included in the python-doc
|
||||
(HTML) or python-doc-pdf (PDF) packages.
|
||||
|
||||
This package contains all of stand-alone Python files, minus binary
|
||||
modules that would pull in extra dependencies.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Guido van Rossum <guido@python.org>
|
||||
|
||||
%package -n python-devel
|
||||
License: Python Copyright
|
||||
Requires: python-base = %{version}
|
||||
Summary: Include Files and Libraries Mandatory for Building Python Modules
|
||||
Group: Development/Languages/Python
|
||||
AutoReqProv: on
|
||||
|
||||
%description -n python-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.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Guido van Rossum <guido@python.org>
|
||||
|
||||
%package -n python-xml
|
||||
License: Python Copyright
|
||||
Requires: python-base = %{version}
|
||||
Summary: A Python XML Interface
|
||||
Group: Development/Libraries/Python
|
||||
AutoReqProv: on
|
||||
|
||||
%description -n python-xml
|
||||
The expat module is a Python interface to the expat XML parser. Since
|
||||
Python2.x, it is part of the core Python distribution.
|
||||
|
||||
|
||||
|
||||
%package -n libpython2_6-1_0
|
||||
License: X11/MIT
|
||||
Summary: Python Interpreter shared library
|
||||
Group: Development/Languages/Python
|
||||
AutoReqProv: on
|
||||
#%description -n libpython%{lib_version}
|
||||
|
||||
%description -n libpython2_6-1_0
|
||||
Python is an interpreted, object-oriented programming language, and is
|
||||
often compared to Tcl, Perl, Scheme, or Java. You can find an overview
|
||||
of Python in the documentation and tutorials included in the python-doc
|
||||
(HTML) or python-doc-pdf (PDF) packages.
|
||||
|
||||
This package contains libpython2.6 shared library for embedding in
|
||||
other applications.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Guido van Rossum <guido@python.org>
|
||||
|
||||
%prep
|
||||
%setup -q -n %{tarname}
|
||||
# patching
|
||||
%patch01
|
||||
%patch10 -p1
|
||||
%patch21 -p1
|
||||
%patch25
|
||||
%patch26
|
||||
%patch31
|
||||
%patch35
|
||||
%patch36
|
||||
%patch37
|
||||
# some cleanup
|
||||
find . -name .cvsignore -type f -print0 | xargs -0 rm -f
|
||||
find . -name CVS -type d -print0 | xargs -0 rm -rf
|
||||
|
||||
%build
|
||||
########################################
|
||||
# use rpm_opt_flags
|
||||
########################################
|
||||
export OPT="$RPM_OPT_FLAGS"
|
||||
########################################
|
||||
# regenerate
|
||||
########################################
|
||||
autoreconf -f -i . # Modules/_ctypes/libffi
|
||||
# prevent make from trying to rebuild asdl stuff, which requires existing
|
||||
# python installation
|
||||
touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h
|
||||
########################################
|
||||
# configure
|
||||
########################################
|
||||
./configure \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_libdir} \
|
||||
--mandir=%{_mandir} \
|
||||
--docdir=%{_docdir}/python \
|
||||
--with-fpectl \
|
||||
--enable-shared \
|
||||
--enable-unicode=ucs4
|
||||
########################################
|
||||
# compile
|
||||
########################################
|
||||
make %{?jobs:-j%jobs} DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
%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
|
||||
# test_file fails in autobuild env - "stdin.seek(-1)" wrongly succeeds. probably an issue with autobuild's stdin
|
||||
# test_urllib2 relies on being able to resolve local address, which is notoriously impossible in autobuild
|
||||
EXCLUDE="-x test_urllib2 -x test_file"
|
||||
# test_nis and test_threading are AWFULLY slow. uncomment this for sensible rebuild times
|
||||
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"
|
||||
# use network, be verbose:
|
||||
#make test TESTOPTS="-l -u network -v"
|
||||
%endif
|
||||
|
||||
%install
|
||||
# replace rest of /usr/local/bin/python or /usr/bin/python2.5 with /usr/bin/python
|
||||
find . -wholename "./Parser" -prune -o -name '*.py' -type f -print0 | xargs -0 grep -lE '^#! *(/usr/.*bin/(env +)?)?python' | xargs sed -r -i -e '1s@^#![[:space:]]*(/usr/(local/)?bin/(env +)?)?python([0-9]+\.[0-9]+)?@#!/usr/bin/python@'
|
||||
# the grep inbetween makes it much faster
|
||||
########################################
|
||||
# install it
|
||||
########################################
|
||||
make \
|
||||
OPT="$RPM_OPT_FLAGS -fPIC" \
|
||||
DESTDIR=$RPM_BUILD_ROOT \
|
||||
install
|
||||
# install site-specific tweaks
|
||||
ln -s python%{python_version} ${RPM_BUILD_ROOT}%{_bindir}/python2
|
||||
install -m 644 %{S:13} ${RPM_BUILD_ROOT}%{_libdir}/python%{python_version}/distutils
|
||||
install -d -m 755 ${RPM_BUILD_ROOT}/etc/rpm
|
||||
install -m 644 %{S:1} ${RPM_BUILD_ROOT}/etc/rpm
|
||||
########################################
|
||||
# some cleanups
|
||||
########################################
|
||||
# remove hard links and replace them with symlinks
|
||||
for dir in bin include %{_lib} ; do
|
||||
rm -f $RPM_BUILD_ROOT/%{_prefix}/$dir/python
|
||||
ln -s python%{python_version} $RPM_BUILD_ROOT/%{_prefix}/$dir/python
|
||||
done
|
||||
CLEANUP_DIR="$RPM_BUILD_ROOT%{_libdir}/python%{python_version}"
|
||||
# kill imageop.so, it's insecure
|
||||
rm -f $CLEANUP_DIR/lib-dynload/imageop.so
|
||||
# remove various things that don't need to be in python-base
|
||||
rm $RPM_BUILD_ROOT%{_bindir}/idle
|
||||
#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 $RPM_BUILD_ROOT%{_libdir}/libpython%{python_version}.so
|
||||
rm -r $CLEANUP_DIR/{curses,idlelib,lib-tk,sqlite3}
|
||||
rm $CLEANUP_DIR/ssl.py*
|
||||
# does not work without _ssl.so anyway
|
||||
%if %suse_version >= 1030
|
||||
# replace duplicate .pyo/.pyc with hardlinks
|
||||
%fdupes $RPM_BUILD_ROOT/%{_libdir}/python%{python_version}
|
||||
%endif
|
||||
########################################
|
||||
# documentation
|
||||
########################################
|
||||
export PDOCS=${RPM_BUILD_ROOT}%{_docdir}/%{name}
|
||||
install -d -m 755 $PDOCS
|
||||
install -c -m 644 %{SOURCE6} $PDOCS/
|
||||
install -c -m 644 LICENSE $PDOCS/
|
||||
install -c -m 644 README $PDOCS/
|
||||
########################################
|
||||
# devel
|
||||
########################################
|
||||
# install Makefile.pre.in and Makefile.pre
|
||||
cp Makefile Makefile.pre.in Makefile.pre $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/config/
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
#%post -n libpython%{lib_version}
|
||||
|
||||
%post -n libpython2_6-1_0
|
||||
%{run_ldconfig}
|
||||
#%postun -n libpython%{lib_version}
|
||||
|
||||
%postun -n libpython2_6-1_0
|
||||
%{run_ldconfig}
|
||||
|
||||
%files -n python-devel
|
||||
%defattr(-, root, root)
|
||||
%{_libdir}/python%{python_version}/config/*
|
||||
%defattr(644, root, root, 755)
|
||||
%{_libdir}/libpython*.so
|
||||
%{_includedir}/python*
|
||||
%{_libdir}/python%{python_version}/test
|
||||
%defattr(755, root, root)
|
||||
%{_bindir}/python-config
|
||||
%{_bindir}/python%{python_version}-config
|
||||
|
||||
%files -n python-xml
|
||||
%defattr(644, root, root, 755)
|
||||
%{_libdir}/python%{python_version}/xml
|
||||
%{_libdir}/python%{python_version}/lib-dynload/pyexpat.so
|
||||
#%files -n libpython%{lib_version}
|
||||
|
||||
%files -n libpython2_6-1_0
|
||||
%defattr(644, root, root)
|
||||
%{_libdir}/libpython*.so.*
|
||||
|
||||
%files
|
||||
%defattr(644, root, root, 755)
|
||||
%config /etc/rpm/macros.python
|
||||
%dir %{_docdir}/%{name}
|
||||
%doc %{_docdir}/%{name}/README
|
||||
%doc %{_docdir}/%{name}/LICENSE
|
||||
%doc %{_docdir}/%{name}/README.SUSE
|
||||
%doc %{_mandir}/man1/python.1*
|
||||
%dir %{_includedir}/python%{python_version}
|
||||
%{_includedir}/python%{python_version}/pyconfig.h
|
||||
%{_libdir}/python
|
||||
%dir %{_libdir}/python%{python_version}
|
||||
%dir %{_libdir}/python%{python_version}/config
|
||||
%{_libdir}/python%{python_version}/config/Setup
|
||||
%{_libdir}/python%{python_version}/config/Makefile
|
||||
%{_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}/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/_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/_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/_md5.so
|
||||
%{_libdir}/python%{python_version}/lib-dynload/_multiprocessing.so
|
||||
%{_libdir}/python%{python_version}/lib-dynload/_random.so
|
||||
%{_libdir}/python%{python_version}/lib-dynload/_sha.so
|
||||
%{_libdir}/python%{python_version}/lib-dynload/_sha256.so
|
||||
%{_libdir}/python%{python_version}/lib-dynload/_sha512.so
|
||||
%{_libdir}/python%{python_version}/lib-dynload/_socket.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/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/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 tests to %%check section
|
||||
- update to 2.6rc2
|
||||
- included patch for https proxy support that resolves bnc#214983
|
||||
(in a proper way) and bnc#298378
|
||||
* Thu Sep 18 2008 matejcik@suse.cz
|
||||
- included /etc/rpm/macros.python to fix the split-caused breakage
|
||||
* Tue Sep 16 2008 matejcik@suse.cz
|
||||
- applied bug-no-proxy patch from python#3879, which should improve
|
||||
backwards compatibility (important i.e. for bzr)
|
||||
- moved python-xml to a subpackage of this (brings no additional
|
||||
dependencies, so it can as well stay)
|
||||
- moved Makefile and pyconfig.h to python-base, removing the need
|
||||
to have python-devel for installation
|
||||
- improved compatibility with older distros for 11.0
|
||||
- moved ssl.py and sqlite3 module to python package - they won't work
|
||||
without their respective binary modules anyway
|
||||
* Mon Sep 15 2008 matejcik@suse.cz
|
||||
- updated to 2.6rc1 - bugfix-only pre-stable release
|
||||
- renamed python-base-devel to python-devel as it should be
|
||||
- removed macros from libpython package name
|
||||
* Fri Sep 12 2008 matejcik@suse.cz
|
||||
- moved python-devel to a subpackage of this
|
||||
- created libpython subpackage
|
||||
- moved essential files from -devel to -base, so that distutils
|
||||
should now be able to install without -devel package
|
||||
* Tue Sep 09 2008 matejcik@suse.cz
|
||||
- initial release of python-base
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 15 18:34:58 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- updated to build against 2.6rc1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 25 21:55:18 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
|
@ -24,8 +24,8 @@ Group: Development/Languages/Python
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Summary: Additional Package Documentation for Python.
|
||||
Version: 2.5.1
|
||||
Release: 104
|
||||
%define pyver 2.6b3
|
||||
Release: 109
|
||||
%define pyver 2.6rc2
|
||||
BuildArch: noarch
|
||||
%define tarname Python-%{pyver}
|
||||
%define pyname python
|
||||
@ -104,6 +104,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%doc %{_docdir}/%{pyname}/paper-letter
|
||||
|
||||
%changelog
|
||||
* Mon Sep 15 2008 matejcik@suse.cz
|
||||
- updated to build against 2.6rc1
|
||||
* Wed Jun 25 2008 matejcik@suse.cz
|
||||
- updated to build against 2.6b1
|
||||
- will update the docs when 2.6 final is out
|
||||
|
@ -1,3 +1,36 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 19 20:10:33 CEST 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 18:09:49 CEST 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 18:34:06 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- update to 2.6rc1 - bugfix-only pre-stable release
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 12 14:44:55 CEST 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 16:31:29 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
- fixed misapplied ssl-compat patch (caused segfaults when
|
||||
opening SSL connections, bnc#425138 )
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 3 17:17:06 CEST 2008 - matejcik@suse.cz
|
||||
|
||||
|
292
python.spec
292
python.spec
@ -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
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- Modules/_ssl.c
|
||||
+++ Modules/_ssl.c
|
||||
@@ -210,6 +210,7 @@
|
||||
errstr = "SSL_CTX_new error";
|
||||
goto fail;
|
||||
}
|
||||
+ SSL_CTX_set_options(self->ctx, SSL_OP_ALL); /* ssl compatibility */
|
||||
|
||||
if (key_file) {
|
||||
Py_BEGIN_ALLOW_THREADS
|
Loading…
x
Reference in New Issue
Block a user