auto-import python-2.5-0 on branch devel from python-2.5-0.src.rpm

This commit is contained in:
Jeremy Katz 2006-12-05 21:34:32 +00:00
parent d0fd1b0b3c
commit 60b7a5f84f
8 changed files with 676 additions and 99 deletions

View File

@ -1,5 +1 @@
Python-2.4.1.tar.bz2 Python-2.5.tar.bz2
JapaneseCodecs-1.4.11.tar.gz
Python-2.4.2.tar.bz2
Python-2.4.3.tar.bz2
Python-2.4.4.tar.bz2

11
python-2.5-cflags.patch Normal file
View File

@ -0,0 +1,11 @@
--- Python-2.5c1/Makefile.pre.in.cflags 2006-08-18 11:05:40.000000000 -0400
+++ Python-2.5c1/Makefile.pre.in 2006-08-18 11:09:26.000000000 -0400
@@ -334,7 +334,7 @@
# Build the interpreter
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
- $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
+ $(LINKCC) $(CFLAGS) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
Modules/python.o \
$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)

285
python-2.5-config.patch Normal file
View File

@ -0,0 +1,285 @@
--- Python-2.5/Modules/Setup.dist.rhconfig 2006-08-06 03:26:21.000000000 -0400
+++ Python-2.5/Modules/Setup.dist 2006-10-30 16:25:16.000000000 -0500
@@ -149,7 +149,7 @@
# modules are to be built as shared libraries (see above for more
# detail; also note that *static* reverses this effect):
-#*shared*
+*shared*
# GNU readline. Unlike previous Python incarnations, GNU readline is
# now incorporated in an optional module, configured in the Setup file
@@ -159,69 +159,69 @@
# it, depending on your system -- see the GNU readline instructions.
# It's okay for this to be a shared library, too.
-#readline readline.c -lreadline -ltermcap
+readline readline.c -lreadline -ltermcap
# Modules that should always be present (non UNIX dependent):
-#array arraymodule.c # array objects
-#cmath cmathmodule.c # -lm # complex math library functions
-#math mathmodule.c # -lm # math library functions, e.g. sin()
-#_struct _struct.c # binary structure packing/unpacking
-#time timemodule.c # -lm # time operations and variables
-#operator operator.c # operator.add() and similar goodies
-#_weakref _weakref.c # basic weak reference support
-#_testcapi _testcapimodule.c # Python C API test module
-#_random _randommodule.c # Random number generator
-#collections collectionsmodule.c # Container types
-#itertools itertoolsmodule.c # Functions creating iterators for efficient looping
-#strop stropmodule.c # String manipulations
+array arraymodule.c # array objects
+cmath cmathmodule.c # -lm # complex math library functions
+math mathmodule.c # -lm # math library functions, e.g. sin()
+_struct _struct.c # binary structure packing/unpacking
+time timemodule.c # -lm # time operations and variables
+operator operator.c # operator.add() and similar goodies
+_weakref _weakref.c # basic weak reference support
+_testcapi _testcapimodule.c # Python C API test module
+_random _randommodule.c # Random number generator
+collections collectionsmodule.c # Container types
+itertools itertoolsmodule.c # Functions creating iterators for efficient looping
+strop stropmodule.c # String manipulations
-#unicodedata unicodedata.c # static Unicode character database
+unicodedata unicodedata.c # static Unicode character database
# access to ISO C locale support
-#_locale _localemodule.c # -lintl
+_locale _localemodule.c # -lintl
# Modules with some UNIX dependencies -- on by default:
# (If you have a really backward UNIX, select and socket may not be
# supported...)
-#fcntl fcntlmodule.c # fcntl(2) and ioctl(2)
-#spwd spwdmodule.c # spwd(3)
-#grp grpmodule.c # grp(3)
-#select selectmodule.c # select(2); not on ancient System V
+fcntl fcntlmodule.c # fcntl(2) and ioctl(2)
+spwd spwdmodule.c # spwd(3)
+grp grpmodule.c # grp(3)
+select selectmodule.c # select(2); not on ancient System V
# Memory-mapped files (also works on Win32).
-#mmap mmapmodule.c
+mmap mmapmodule.c
# CSV file helper
-#_csv _csv.c
+_csv _csv.c
# Socket module helper for socket(2)
-#_socket socketmodule.c
+_socket socketmodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
-#_ssl _ssl.c \
-# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-# -L$(SSL)/lib -lssl -lcrypto
+_ssl _ssl.c \
+ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
+ -L$(SSL)/lib -lssl -lcrypto
# The crypt module is now disabled by default because it breaks builds
# on many systems (where -lcrypt is needed), e.g. Linux (I believe).
#
# First, look at Setup.config; configure may have set this for you.
-#crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
+crypt cryptmodule.c -lcrypt # crypt(3); needs -lcrypt on some systems
# Some more UNIX dependent modules -- off by default, since these
# are not supported by all UNIX systems:
-#nis nismodule.c -lnsl # Sun yellow pages -- not everywhere
-#termios termios.c # Steen Lumholt's termios module
-#resource resource.c # Jeremy Hylton's rlimit interface
+nis nismodule.c -lnsl # Sun yellow pages -- not everywhere
+termios termios.c # Steen Lumholt's termios module
+resource resource.c # Jeremy Hylton's rlimit interface
# Multimedia modules -- off by default.
@@ -229,9 +229,9 @@
# #993173 says audioop works on 64-bit platforms, though.
# These represent audio samples or images as strings:
-#audioop audioop.c # Operations on audio samples
-#imageop imageop.c # Operations on images
-#rgbimg rgbimgmodule.c # Read SGI RGB image files (but coded portably)
+audioop audioop.c # Operations on audio samples
+imageop imageop.c # Operations on images
+rgbimg rgbimgmodule.c # Read SGI RGB image files (but coded portably)
# Note that the _md5 and _sha modules are normally only built if the
@@ -241,12 +241,12 @@
# Message-Digest Algorithm, described in RFC 1321. The necessary files
# md5.c and md5.h are included here.
-#_md5 md5module.c md5.c
+_md5 md5module.c md5.c
# The _sha module implements the SHA checksum algorithm.
# (NIST's Secure Hash Algorithm.)
-#_sha shamodule.c
+_sha shamodule.c
# SGI IRIX specific modules -- off by default.
@@ -293,12 +293,12 @@
# A Linux specific module -- off by default; this may also work on
# some *BSDs.
-#linuxaudiodev linuxaudiodev.c
+linuxaudiodev linuxaudiodev.c
# George Neville-Neil's timing module:
-#timing timingmodule.c
+timing timingmodule.c
# The _tkinter module.
@@ -313,7 +313,7 @@
# every system.
# *** Always uncomment this (leave the leading underscore in!):
-# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
+_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
# -L/usr/local/lib \
# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
@@ -323,7 +323,7 @@
# *** Or uncomment this for Solaris:
# -I/usr/openwin/include \
# *** Uncomment and edit for Tix extension only:
-# -DWITH_TIX -ltix8.1.8.2 \
+ -DWITH_TIX -ltix \
# *** Uncomment and edit for BLT extension only:
# -DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
# *** Uncomment and edit for PIL (TkImaging) extension only:
@@ -332,7 +332,7 @@
# *** Uncomment and edit for TOGL extension only:
# -DWITH_TOGL togl.c \
# *** Uncomment and edit to reflect your Tcl/Tk versions:
-# -ltk8.2 -ltcl8.2 \
+ -ltk -ltcl \
# *** Uncomment and edit to reflect where your X11 libraries are:
# -L/usr/X11R6/lib \
# *** Or uncomment this for Solaris:
@@ -342,7 +342,7 @@
# *** Uncomment for AIX:
# -lld \
# *** Always uncomment this; X11 libraries to link with:
-# -lX11
+ -lX11
# Lance Ellinghaus's syslog module
#syslog syslogmodule.c # syslog daemon interface
@@ -354,9 +354,9 @@
#
# First, look at Setup.config; configure may have set this for you.
-#_curses _cursesmodule.c -lcurses -ltermcap
+_curses _cursesmodule.c -lcurses -ltermcap
# Wrapper for the panel library that's part of ncurses and SYSV curses.
-#_curses_panel _curses_panel.c -lpanel -lncurses
+_curses_panel _curses_panel.c -lpanel -lncurses
# Generic (SunOS / SVR4) dynamic loading module.
@@ -364,7 +364,7 @@
# it is a highly experimental and dangerous device for calling
# *arbitrary* C functions in *arbitrary* shared libraries:
-#dl dlmodule.c
+dl dlmodule.c
# Modules that provide persistent dictionary-like semantics. You will
@@ -387,7 +387,7 @@
#
# First, look at Setup.config; configure may have set this for you.
-#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
+gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
# Sleepycat Berkeley DB interface.
@@ -402,11 +402,10 @@
#
# Edit the variables DB and DBLIBVERto point to the db top directory
# and the subdirectory of PORT where you built it.
-#DB=/usr/local/BerkeleyDB.4.0
-#DBLIBVER=4.0
-#DBINC=$(DB)/include
-#DBLIB=$(DB)/lib
-#_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
+DBLIBVER=4.3
+DBINC=/usr/include/db4
+DBLIB=/usr/lib
+_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
# Historical Berkeley DB 1.85
#
@@ -421,14 +420,14 @@
# Helper module for various ascii-encoders
-#binascii binascii.c
+binascii binascii.c
# Fred Drake's interface to the Python parser
-#parser parsermodule.c
+parser parsermodule.c
# cStringIO and cPickle
-#cStringIO cStringIO.c
-#cPickle cPickle.c
+cStringIO cStringIO.c
+cPickle cPickle.c
# Lee Busby's SIGFPE modules.
@@ -451,7 +450,7 @@
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
-#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
+zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
# Interface to the Expat XML parser
#
@@ -471,14 +470,14 @@
# Hye-Shik Chang's CJKCodecs
# multibytecodec is required for all the other CJK codec modules
-#_multibytecodec cjkcodecs/multibytecodec.c
+_multibytecodec cjkcodecs/multibytecodec.c
-#_codecs_cn cjkcodecs/_codecs_cn.c
-#_codecs_hk cjkcodecs/_codecs_hk.c
-#_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
-#_codecs_jp cjkcodecs/_codecs_jp.c
-#_codecs_kr cjkcodecs/_codecs_kr.c
-#_codecs_tw cjkcodecs/_codecs_tw.c
+_codecs_cn cjkcodecs/_codecs_cn.c
+_codecs_hk cjkcodecs/_codecs_hk.c
+_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
+_codecs_jp cjkcodecs/_codecs_jp.c
+_codecs_kr cjkcodecs/_codecs_kr.c
+_codecs_tw cjkcodecs/_codecs_tw.c
# Example -- included for reference only:
# xx xxmodule.c

View File

@ -0,0 +1,75 @@
--- Python-2.5a2/Lib/distutils/command/bdist_rpm.py.bdist-rpm 2005-04-15 02:17:20.000000000 -0400
+++ Python-2.5a2/Lib/distutils/command/bdist_rpm.py 2006-06-19 09:14:28.000000000 -0400
@@ -337,37 +337,47 @@
if not self.keep_temp:
rpm_cmd.append('--clean')
rpm_cmd.append(spec_path)
+ # Determine the binary rpm names that should be built out of this spec
+ # file
+ # Note that some of these may not be really built (if the file
+ # list is empty)
+ nvr_string = "%{name}-%{version}-%{release}"
+ src_rpm = nvr_string + ".src.rpm"
+ non_src_rpm = "%{arch}/" + nvr_string + ".%{arch}.rpm"
+ q_cmd = r"rpm -q --qf '%s %s\n' --specfile '%s'" % (
+ src_rpm, non_src_rpm, spec_path)
+
+ out = os.popen(q_cmd)
+ binary_rpms = []
+ source_rpm = None
+ while 1:
+ line = out.readline()
+ if not line:
+ break
+ l = string.split(string.strip(line))
+ assert(len(l) == 2)
+ binary_rpms.append(l[1])
+ # The source rpm is named after the first entry in the spec file
+ if source_rpm is None:
+ source_rpm = l[0]
+
+ status = out.close()
+ if status:
+ raise DistutilsExecError("Failed to execute: %s" % repr(q_cmd))
+
self.spawn(rpm_cmd)
- # XXX this is a nasty hack -- we really should have a proper way to
- # find out the names of the RPM files created; also, this assumes
- # that RPM creates exactly one source and one binary RPM.
if not self.dry_run:
if not self.binary_only:
- srpms = glob.glob(os.path.join(rpm_dir['SRPMS'], "*.rpm"))
- assert len(srpms) == 1, \
- "unexpected number of SRPM files found: %s" % srpms
- dist_file = ('bdist_rpm', 'any',
- self._dist_path(srpms[0]))
- self.distribution.dist_files.append(dist_file)
- self.move_file(srpms[0], self.dist_dir)
+ srpm = os.path.join(rpm_dir['SRPMS'], source_rpm)
+ assert(os.path.exists(srpm))
+ self.move_file(srpm, self.dist_dir)
if not self.source_only:
- rpms = glob.glob(os.path.join(rpm_dir['RPMS'], "*/*.rpm"))
- debuginfo = glob.glob(os.path.join(rpm_dir['RPMS'],
- "*/*debuginfo*.rpm"))
- if debuginfo:
- rpms.remove(debuginfo[0])
- assert len(rpms) == 1, \
- "unexpected number of RPM files found: %s" % rpms
- dist_file = ('bdist_rpm', get_python_version(),
- self._dist_path(rpms[0]))
- self.distribution.dist_files.append(dist_file)
- self.move_file(rpms[0], self.dist_dir)
- if debuginfo:
- dist_file = ('bdist_rpm', get_python_version(),
- self._dist_path(debuginfo[0]))
- self.move_file(debuginfo[0], self.dist_dir)
+ for rpm in binary_rpms:
+ rpm = os.path.join(rpm_dir['RPMS'], rpm)
+ if os.path.exists(rpm):
+ self.move_file(rpm, self.dist_dir)
# run()
def _dist_path(self, path):

165
python-2.5-lib64.patch Normal file
View File

@ -0,0 +1,165 @@
--- Python-2.5b1/Lib/distutils/command/install.py.lib64 2006-03-27 16:55:21.000000000 -0500
+++ Python-2.5b1/Lib/distutils/command/install.py 2006-06-22 12:20:35.000000000 -0400
@@ -39,14 +39,14 @@
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',
'scripts': '$base/bin',
'data' : '$base',
},
'unix_home': {
'purelib': '$base/lib/python',
- 'platlib': '$base/lib/python',
+ 'platlib': '$base/lib64/python',
'headers': '$base/include/python/$dist_name',
'scripts': '$base/bin',
'data' : '$base',
--- Python-2.5b1/Lib/distutils/sysconfig.py.lib64 2006-05-23 08:01:11.000000000 -0400
+++ Python-2.5b1/Lib/distutils/sysconfig.py 2006-06-22 12:20:35.000000000 -0400
@@ -99,8 +99,12 @@
prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
+ if plat_specific or standard_lib:
+ lib = "lib64"
+ else:
+ lib = "lib"
libpython = os.path.join(prefix,
- "lib", "python" + get_python_version())
+ lib, "python" + get_python_version())
if standard_lib:
return libpython
else:
--- Python-2.5b1/Lib/site.py.lib64 2006-06-12 04:23:02.000000000 -0400
+++ Python-2.5b1/Lib/site.py 2006-06-22 12:20:35.000000000 -0400
@@ -182,9 +182,14 @@
sitedirs = [os.path.join(prefix, "Lib", "site-packages")]
elif os.sep == '/':
sitedirs = [os.path.join(prefix,
- "lib",
+ "lib64",
"python" + sys.version[:3],
"site-packages"),
+ os.path.join(prefix,
+ "lib",
+ "python" + sys.version[:3],
+ "site-packages"),
+ os.path.join(prefix, "lib64", "site-python"),
os.path.join(prefix, "lib", "site-python")]
else:
sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")]
--- Python-2.5b1/setup.py.lib64 2006-06-05 19:38:06.000000000 -0400
+++ Python-2.5b1/setup.py 2006-06-22 12:22:14.000000000 -0400
@@ -244,7 +244,7 @@
def detect_modules(self):
# Ensure that /usr/local is always used
- 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
@@ -496,11 +496,11 @@
elif self.compiler.find_library_file(lib_dirs, 'curses'):
readline_libs.append('curses')
elif self.compiler.find_library_file(lib_dirs +
- ['/usr/lib/termcap'],
+ ['/usr/lib64/termcap'],
'termcap'):
readline_libs.append('termcap')
exts.append( Extension('readline', ['readline.c'],
- library_dirs=['/usr/lib/termcap'],
+ library_dirs=['/usr/lib64/termcap'],
extra_link_args=readline_extra_link_args,
libraries=readline_libs) )
if platform not in ['mac']:
@@ -532,8 +532,8 @@
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
- ['/usr/local/ssl/lib',
- '/usr/contrib/ssl/lib/'
+ ['/usr/local/ssl/lib64',
+ '/usr/contrib/ssl/lib64/'
] )
if (ssl_incs is not None and
--- Python-2.5b1/Makefile.pre.in.lib64 2006-06-11 15:45:57.000000000 -0400
+++ Python-2.5b1/Makefile.pre.in 2006-06-22 12:20:34.000000000 -0400
@@ -84,11 +84,11 @@
# Expanded directories
BINDIR= $(exec_prefix)/bin
-LIBDIR= $(exec_prefix)/lib
+LIBDIR= $(exec_prefix)/lib64
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
-SCRIPTDIR= $(prefix)/lib
+SCRIPTDIR= $(prefix)/lib64
# Detailed destination directories
BINLIBDEST= $(LIBDIR)/python$(VERSION)
--- Python-2.5b1/Modules/Setup.dist.lib64 2006-06-22 12:20:34.000000000 -0400
+++ Python-2.5b1/Modules/Setup.dist 2006-06-22 12:20:35.000000000 -0400
@@ -401,7 +401,7 @@
# and the subdirectory of PORT where you built it.
DBLIBVER=4.3
DBINC=/usr/include/db4
-DBLIB=/usr/lib
+DBLIB=/usr/lib64
_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
# Historical Berkeley DB 1.85
@@ -447,7 +447,7 @@
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
-zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
+zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz
# Interface to the Expat XML parser
#
--- Python-2.5b1/Modules/getpath.c.lib64 2006-04-12 22:06:09.000000000 -0400
+++ Python-2.5b1/Modules/getpath.c 2006-06-22 12:20:35.000000000 -0400
@@ -117,8 +117,8 @@
#endif
#ifndef PYTHONPATH
-#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \
- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload"
+#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \
+ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload"
#endif
#ifndef LANDMARK
@@ -129,7 +129,7 @@
static char exec_prefix[MAXPATHLEN+1];
static char progpath[MAXPATHLEN+1];
static char *module_search_path = NULL;
-static char lib_python[] = "lib/python" VERSION;
+static char lib_python[] = "lib64/python" VERSION;
static void
reduce(char *dir)
@@ -524,7 +524,7 @@
}
else
strncpy(zip_path, PREFIX, MAXPATHLEN);
- joinpath(zip_path, "lib/python00.zip");
+ joinpath(zip_path, "lib64/python00.zip");
bufsz = strlen(zip_path); /* Replace "00" with version */
zip_path[bufsz - 6] = VERSION[0];
zip_path[bufsz - 5] = VERSION[2];
@@ -534,7 +534,7 @@
fprintf(stderr,
"Could not find platform dependent libraries <exec_prefix>\n");
strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN);
- joinpath(exec_prefix, "lib/lib-dynload");
+ joinpath(exec_prefix, "lib64/lib-dynload");
}
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */

69
python-db45.patch Normal file
View File

@ -0,0 +1,69 @@
--- Python-2.5/setup.py.db45 2006-08-09 19:42:18.000000000 -0400
+++ Python-2.5/setup.py 2006-12-05 16:05:43.000000000 -0500
@@ -606,7 +606,7 @@
# a release. Most open source OSes come with one or more
# versions of BerkeleyDB already installed.
- max_db_ver = (4, 4)
+ max_db_ver = (4, 5)
min_db_ver = (3, 3)
db_setup_debug = False # verbose debug prints from this script?
@@ -623,7 +623,7 @@
'/sw/include/db3',
]
# 4.x minor number specific paths
- for x in (0,1,2,3,4):
+ for x in (0,1,2,3,4,5):
db_inc_paths.append('/usr/include/db4%d' % x)
db_inc_paths.append('/usr/include/db4.%d' % x)
db_inc_paths.append('/usr/local/BerkeleyDB.4.%d/include' % x)
--- Python-2.5/Modules/_bsddb.c.db45 2006-12-05 16:12:08.000000000 -0500
+++ Python-2.5/Modules/_bsddb.c 2006-12-05 16:15:44.000000000 -0500
@@ -4129,6 +4129,7 @@
}
+#if (DBVER < 45)
static PyObject*
DBEnv_set_lk_max(DBEnvObject* self, PyObject* args)
{
@@ -4144,7 +4145,7 @@
RETURN_IF_ERR();
RETURN_NONE();
}
-
+#endif
#if (DBVER >= 32)
@@ -5233,7 +5234,9 @@
{"set_lg_regionmax",(PyCFunction)DBEnv_set_lg_regionmax, METH_VARARGS},
#endif
{"set_lk_detect", (PyCFunction)DBEnv_set_lk_detect, METH_VARARGS},
+#if (DBVER <= 40)
{"set_lk_max", (PyCFunction)DBEnv_set_lk_max, METH_VARARGS},
+#endif
#if (DBVER >= 32)
{"set_lk_max_locks", (PyCFunction)DBEnv_set_lk_max_locks, METH_VARARGS},
{"set_lk_max_lockers", (PyCFunction)DBEnv_set_lk_max_lockers, METH_VARARGS},
@@ -5835,7 +5838,9 @@
ADD_INT(d, DB_AFTER);
ADD_INT(d, DB_APPEND);
ADD_INT(d, DB_BEFORE);
+#if (DBVER <= 40)
ADD_INT(d, DB_CACHED_COUNTS);
+#endif
#if (DBVER >= 41)
_addIntToDict(d, "DB_CHECKPOINT", 0);
#else
@@ -5870,7 +5875,9 @@
ADD_INT(d, DB_POSITION);
ADD_INT(d, DB_PREV);
ADD_INT(d, DB_PREV_NODUP);
+#if (DBVER <= 40)
ADD_INT(d, DB_RECORDCOUNT);
+#endif
ADD_INT(d, DB_SET);
ADD_INT(d, DB_SET_RANGE);
ADD_INT(d, DB_SET_RECNO);

View File

@ -1,4 +1,5 @@
%{!?__python_ver:%define __python_ver EMPTY} %{!?__python_ver:%define __python_ver EMPTY}
#define __python_ver 25
%define unicode ucs4 %define unicode ucs4
%if "%{__python_ver}" != "EMPTY" %if "%{__python_ver}" != "EMPTY"
@ -11,49 +12,39 @@
%define tkinter tkinter %define tkinter tkinter
%endif %endif
%define pybasever 2.4 %define pybasever 2.5
%define jp_codecs 1.4.11
%define tools_dir %{_libdir}/python%{pybasever}/Tools %define tools_dir %{_libdir}/python%{pybasever}/Tools
%define demo_dir %{_libdir}/python%{pybasever}/Demo %define demo_dir %{_libdir}/python%{pybasever}/Demo
%define doc_tools_dir %{_libdir}/python%{pybasever}/Doc/tools %define doc_tools_dir %{_libdir}/python%{pybasever}/Doc/tools
Summary: An interpreted, interactive, object-oriented programming language. Summary: An interpreted, interactive, object-oriented programming language.
Name: %{python} Name: %{python}
Version: %{pybasever}.4 #Version: %{pybasever}.3
Release: 2%{?dist} Version: 2.5
Release: 0%{?dist}
License: PSF - see LICENSE License: PSF - see LICENSE
Group: Development/Languages Group: Development/Languages
Provides: python-abi = %{pybasever} Provides: python-abi = %{pybasever}
Provides: python(abi) = %{pybasever} Provides: python(abi) = %{pybasever}
# optik is part of python 2.3 as optparse
Provides: python-optik = 1.4.1
Obsoletes: python-optik
Source: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.bz2 Source: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.bz2
Source5: http://www.python.jp/pub/JapaneseCodecs/JapaneseCodecs-%{jp_codecs}.tar.gz
Source6: http://gigue.peabody.jhu.edu/~mdboom/omi/source/shm_source/shmmodule.c
Source7: python-2.3.4-optik.py
Patch0: python-2.4.3-config.patch Patch0: python-2.5-config.patch
Patch3: Python-2.2.1-pydocnogui.patch Patch1: Python-2.2.1-pydocnogui.patch
Patch7: python-2.3.4-lib64-regex.patch Patch2: python-2.5-distutils-bdist-rpm.patch
Patch8: python-2.4.4-lib64.patch Patch3: python-2.3.4-pydocnodoc.patch
Patch9: japanese-codecs-lib64.patch Patch4: python-2.4.1-canonicalize.patch
Patch13: python-2.4-distutils-bdist-rpm.patch Patch5: python-2.5-cflags.patch
Patch14: python-2.3.4-pydocnodoc.patch Patch6: python-db45.patch
Patch15: python-2.4.1-canonicalize.patch
Patch16: python-2.4-gen-assert.patch # lib64 patches
Patch17: python-2.4-webbrowser.patch Patch101: python-2.3.4-lib64-regex.patch
Patch18: python-2.4.3-cflags.patch Patch102: python-2.5-lib64.patch
Patch19: python-2.4.3-locale.patch
%if %{main_python} %if %{main_python}
Obsoletes: Distutils Obsoletes: Distutils
Provides: Distutils Provides: Distutils
Obsoletes: python2 Obsoletes: python2
Provides: python2 = %{version} Provides: python2 = %{version}
BuildPrereq: db4-devel >= 4.3
%else
#BuildPrereq: db3-devel
%endif %endif
BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRoot: %{_tmppath}/%{name}-%{version}-root
@ -61,8 +52,10 @@ BuildPrereq: readline-devel, libtermcap-devel, openssl-devel, gmp-devel
BuildPrereq: ncurses-devel, gdbm-devel, zlib-devel, expat-devel BuildPrereq: ncurses-devel, gdbm-devel, zlib-devel, expat-devel
BuildPrereq: libGL-devel tk tix gcc-c++ libX11-devel glibc-devel BuildPrereq: libGL-devel tk tix gcc-c++ libX11-devel glibc-devel
BuildPrereq: bzip2 tar /usr/bin/find pkgconfig tcl-devel tk-devel BuildPrereq: bzip2 tar /usr/bin/find pkgconfig tcl-devel tk-devel
BuildPrereq: tix-devel bzip2-devel BuildPrereq: tix-devel bzip2-devel sqlite-devel
BuildPrereq: autoconf BuildPrereq: autoconf
BuildPrereq: db4-devel >= 4.3
URL: http://www.python.org/ URL: http://www.python.org/
%description %description
@ -138,22 +131,21 @@ You should install the tkinter package if you'd like to use a graphical
user interface for Python programming. user interface for Python programming.
%prep %prep
%setup -q -n Python-%{version} -a 5 %setup -q -n Python-%{version}
%patch0 -p1 -b .rhconfig %patch0 -p1 -b .rhconfig
%patch3 -p1 -b .no_gui %patch1 -p1 -b .no_gui
%patch2 -p1 -b .bdist-rpm
%patch3 -p1 -b .no-doc
%patch4 -p1 -b .canonicalize
%patch5 -p1 -b .cflags
%patch6 -p1 -b .db45
%if %{_lib} == lib64 %if %{_lib} == lib64
%patch7 -p1 -b .lib64-regex %patch101 -p1 -b .lib64-regex
%patch8 -p1 -b .lib64 %patch102 -p1 -b .lib64
%patch9 -p0 -b .lib64-j
%endif %endif
%patch13 -p1 -b .bdist-rpm
%patch14 -p1 -b .no-doc
%patch15 -p1 -b .canonicalize
%patch16 -p2 -b .gen-assert
%patch17 -p0 -b .web-browser
%patch18 -p1 -b .cflags
%patch19 -p2 -b .locale
# This shouldn't be necesarry, but is right now (2.2a3) # This shouldn't be necesarry, but is right now (2.2a3)
find -name "*~" |xargs rm -f find -name "*~" |xargs rm -f
@ -162,17 +154,6 @@ find -name "*~" |xargs rm -f
# as executable files # as executable files
chmod 0644 Lib/test/test_*.py chmod 0644 Lib/test/test_*.py
# shm module
cp %{SOURCE6} Modules
cat >> Modules/Setup.dist << EOF
# Shared memory module
shm shmmodule.c
EOF
# Backwards compatible optik
install -m 0644 %{SOURCE7} Lib/optik.py
%build %build
topdir=`pwd` topdir=`pwd`
export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC" export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC"
@ -185,13 +166,18 @@ if pkg-config openssl ; then
fi fi
# Force CC # Force CC
export CC=gcc export CC=gcc
# For patch 15, need to get a newer configure generated out of configure.in # For patch 4, need to get a newer configure generated out of configure.in
autoconf autoconf
%configure --enable-ipv6 --enable-unicode=%{unicode} --enable-shared %configure --enable-ipv6 --enable-unicode=%{unicode} --enable-shared
make OPT="$CFLAGS" %{?_smp_mflags} make OPT="$CFLAGS" %{?_smp_mflags}
LD_LIBRARY_PATH=$topdir $topdir/python Tools/scripts/pathfix.py -i "%{_bindir}/env python%{pybasever}" . LD_LIBRARY_PATH=$topdir $topdir/python Tools/scripts/pathfix.py -i "%{_bindir}/env python%{pybasever}" .
make OPT="$CFLAGS" %{?_smp_mflags} # Rebuild with new python
# We need a link to a versioned python in the build directory
ln -s python python%{pybasever}
LD_LIBRARY_PATH=$topdir PATH=$PATH:$topdir make -s OPT="$CFLAGS" %{?_smp_mflags}
%install %install
[ -d $RPM_BUILD_ROOT ] && rm -fr $RPM_BUILD_ROOT [ -d $RPM_BUILD_ROOT ] && rm -fr $RPM_BUILD_ROOT
@ -272,7 +258,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/site-packages/modulator/Templ
# Clean up the testsuite - we don't need compiled files for it # Clean up the testsuite - we don't need compiled files for it
find $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/test \ find $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/test \
-name "*.pyc" -o -name "*.pyo" | xargs rm -f -name "*.pyc" -o -name "*.pyo" | xargs rm -f
rm -f $RPM_BUILD_ROOT%{_libdir}/python2.2/LICENSE.txt rm -f $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/LICENSE.txt
#make the binaries install side by side with the main python #make the binaries install side by side with the main python
@ -288,14 +274,6 @@ mv pydoc pydoc%{__python_ver}
popd popd
%endif %endif
# Japanese codecs
pushd JapaneseCodecs-%{jp_codecs}
# We need to set LD_LIBRARY_PATH since python is now compiled as shared, and
# we always want to use the currently compiled one
LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} \
../python setup.py install --root=$RPM_BUILD_ROOT
popd
find $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/lib-dynload -type d | sed "s|$RPM_BUILD_ROOT|%dir |" > dynfiles find $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/lib-dynload -type d | sed "s|$RPM_BUILD_ROOT|%dir |" > dynfiles
find $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/lib-dynload -type f | grep -v "_tkinter.so$" | sed "s|$RPM_BUILD_ROOT||" >> dynfiles find $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/lib-dynload -type f | grep -v "_tkinter.so$" | sed "s|$RPM_BUILD_ROOT||" >> dynfiles
@ -333,6 +311,9 @@ EOF
# Fix for bug 201434: make sure distutils looks at the right pyconfig.h file # Fix for bug 201434: make sure distutils looks at the right pyconfig.h file
sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/distutils/sysconfig.py sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/distutils/sysconfig.py
# Get rid of egg-info files (core python modules are installed through rpms)
rm $RPM_BUILD_ROOT%{_libdir}/python%{pybasever}/*.egg-info
%clean %clean
rm -fr $RPM_BUILD_ROOT rm -fr $RPM_BUILD_ROOT
@ -345,27 +326,26 @@ rm -fr $RPM_BUILD_ROOT
%{_libdir}/libpython%{pybasever}.so* %{_libdir}/libpython%{pybasever}.so*
%dir %{_libdir}/python%{pybasever} %dir %{_libdir}/python%{pybasever}
%{_libdir}/python%{pybasever}/site-packages/japanese.pth
%dir %{_libdir}/python%{pybasever}/site-packages %dir %{_libdir}/python%{pybasever}/site-packages
%{_libdir}/python%{pybasever}/site-packages/japanese
%{_libdir}/python%{pybasever}/site-packages/README %{_libdir}/python%{pybasever}/site-packages/README
%{_libdir}/python%{pybasever}/LICENSE.txt
%{_libdir}/python%{pybasever}/*.py* %{_libdir}/python%{pybasever}/*.py*
%{_libdir}/python%{pybasever}/*.doc %{_libdir}/python%{pybasever}/*.doc
%{_libdir}/python%{pybasever}/bsddb %{_libdir}/python%{pybasever}/bsddb
%{_libdir}/python%{pybasever}/compiler
%dir %{_libdir}/python%{pybasever}/config %dir %{_libdir}/python%{pybasever}/config
%{_libdir}/python%{pybasever}/config/Makefile %{_libdir}/python%{pybasever}/config/Makefile
%{_libdir}/python%{pybasever}/ctypes
%{_libdir}/python%{pybasever}/curses %{_libdir}/python%{pybasever}/curses
%{_libdir}/python%{pybasever}/distutils %{_libdir}/python%{pybasever}/distutils
%{_libdir}/python%{pybasever}/encodings
%{_libdir}/python%{pybasever}/idlelib
%{_libdir}/python%{pybasever}/lib-old
%{_libdir}/python%{pybasever}/logging
%{_libdir}/python%{pybasever}/xml
%{_libdir}/python%{pybasever}/email %{_libdir}/python%{pybasever}/email
%{_libdir}/python%{pybasever}/compiler %{_libdir}/python%{pybasever}/encodings
%{_libdir}/python%{pybasever}/plat-linux2
%{_libdir}/python%{pybasever}/hotshot %{_libdir}/python%{pybasever}/hotshot
%{_libdir}/python%{pybasever}/idlelib
%{_libdir}/python%{pybasever}/logging
%{_libdir}/python%{pybasever}/plat-linux2
%{_libdir}/python%{pybasever}/sqlite3
%{_libdir}/python%{pybasever}/wsgiref
%{_libdir}/python%{pybasever}/xml
%if %{_lib} == lib64 %if %{_lib} == lib64
%attr(0755,root,root) %dir /usr/lib/python%{pybasever} %attr(0755,root,root) %dir /usr/lib/python%{pybasever}
%attr(0755,root,root) %dir /usr/lib/python%{pybasever}/site-packages %attr(0755,root,root) %dir /usr/lib/python%{pybasever}/site-packages
@ -399,33 +379,31 @@ rm -fr $RPM_BUILD_ROOT
%{_libdir}/python%{pybasever}/lib-dynload/_tkinter.so %{_libdir}/python%{pybasever}/lib-dynload/_tkinter.so
%changelog %changelog
* Fri Nov 10 2006 Jeremy Katz <katzj@redhat.com> - 2.4.4-2 * Tue Dec 5 2006 Jeremy Katz <katzj@redhat.com>
- rebuild against new db - support db 4.5
* Mon Oct 23 2006 Jeremy Katz <katzj@redhat.com> - 2.4.4-1 * Mon Oct 30 2006 Jeremy Katz <katzj@redhat.com>
- update to 2.4.4 - fix _md5 and _sha modules (Robert Sheck)
- no longer provide optik compat; it's been a couple of years now
- no longer provide the old shm module; if this is still needed, let's
build it separately
- no longer provide japanese codecs; should be a separate package
* Sun Oct 01 2006 Jesse Keating <jkeating@redhat.com> - 2.4.3-18 * Mon Oct 23 2006 Jeremy Katz <katzj@redhat.com> - 2.5-0
- rebuilt for unwind info generation, broken in gcc-4.1.1-21 - update to 2.5.0 final
* Tue Sep 26 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-17 * Fri Aug 18 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.99.c1
- Fixed bug #208166 / CVE-2006-4980: repr unicode buffer overflow - Updated to 2.5c1. Merged fixes from FC6 too:
* Thu Aug 17 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-15
- Fixed bug #201434 (distutils.sysconfig is confused by the change to make
python-devel multilib friendly)
* Fri Jul 21 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-14
- Fixed bug #198971 (case conversion not locale safe in logging library)
* Thu Jul 20 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-13
- Fixed bug #199373 (on some platforms CFLAGS is needed when linking) - Fixed bug #199373 (on some platforms CFLAGS is needed when linking)
- Fixed bug #198971 (case conversion not locale safe in logging library)
- Verified bug #201434 (distutils.sysconfig is confused by the change to make
python-devel multilib friendly) is fixed upstream
* Mon Jul 17 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-12 * Sun Jul 16 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.99.b2
- added dist tag back - Updated to 2.5b2 (which for comparison reasons is re-labeled 2.4.99.b2)
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.4.3-11.FC6.1 * Fri Jun 23 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.99.b1
- rebuild - Updated to 2.5b1 (which for comparison reasons is re-labeled 2.4.99.b1)
* Tue Jun 13 2006 Jeremy Katz <katzj@redhat.com> - 2.4.3-11.FC6 * Tue Jun 13 2006 Jeremy Katz <katzj@redhat.com> - 2.4.3-11.FC6
- and fix it for real - and fix it for real

View File

@ -1,3 +1 @@
e4f2ed866f4ce978fb54bb962eab4fdf JapaneseCodecs-1.4.11.tar.gz ddb7401e711354ca83b7842b733825a3 Python-2.5.tar.bz2
141c683447d5e76be1d2bd4829574f02 Python-2.4.3.tar.bz2
0ba90c79175c017101100ebf5978e906 Python-2.4.4.tar.bz2