move pyconfig.h and %{__libdir}/python/config from libpython27 to python27 [release 2.7.3-9mamba;Sat Feb 15 2014]

This commit is contained in:
Silvan Calarco 2024-01-05 16:58:20 +01:00
parent ce69088a7c
commit 3a570de24d
11 changed files with 1174 additions and 0 deletions

301
Python-2.6.5-xcompile.patch Normal file
View File

@ -0,0 +1,301 @@
diff -uN Python-2.6.2/configure Python-2.6.2POld/configure
--- Python-2.6.2/configure 2009-03-31 03:56:14.000000000 +1000
@@ -24326,14 +24326,14 @@
{ echo "$as_me:$LINENO: checking for %zd printf() format support" >&5
echo $ECHO_N "checking for %zd printf() format support... $ECHO_C" >&6; }
-if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
+#if test "$cross_compiling" = yes; then
+# { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+#See \`config.log' for more details." >&5
+#echo "$as_me: error: cannot run test program while cross compiling
+#See \`config.log' for more details." >&2;}
+# { (exit 1); exit 1; }; }
+#else
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -24411,7 +24411,7 @@
echo "${ECHO_T}no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
+#fi
diff -uN Python-2.6.2/configure.in Python-2.6.2POld/configure.in
--- Python-2.6.2/configure.in 2009-03-31 03:56:14.000000000 +1000
+++ Python-2.6.2POld/configure.in 2009-08-17 12:19:15.000000000 +1000
@@ -3656,48 +3656,48 @@
AC_MSG_RESULT(no)
fi
-AC_MSG_CHECKING(for %zd printf() format support)
-AC_TRY_RUN([#include <stdio.h>
-#include <stddef.h>
-#include <string.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef HAVE_SSIZE_T
-typedef ssize_t Py_ssize_t;
-#elif SIZEOF_VOID_P == SIZEOF_LONG
-typedef long Py_ssize_t;
-#else
-typedef int Py_ssize_t;
-#endif
-
-int main()
-{
- char buffer[256];
-
- if(sprintf(buffer, "%zd", (size_t)123) < 0)
- return 1;
-
- if (strcmp(buffer, "123"))
- return 1;
-
- if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
- return 1;
-
- if (strcmp(buffer, "-123"))
- return 1;
-
- return 0;
-}],
-[AC_MSG_RESULT(yes)
- AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
- AC_MSG_RESULT(no))
+#AC_MSG_CHECKING(for %zd printf() format support)
+#AC_TRY_RUN([#include <stdio.h>
+##include <stddef.h>
+##include <string.h>
+
+##ifdef HAVE_SYS_TYPES_H
+##include <sys/types.h>
+##endif
+
+##ifdef HAVE_SSIZE_T
+#typedef ssize_t Py_ssize_t;
+##elif SIZEOF_VOID_P == SIZEOF_LONG
+#typedef long Py_ssize_t;
+##else
+#typedef int Py_ssize_t;
+##endif
+#
+#int main()
+#{
+# char buffer[256];
+#
+# if(sprintf(buffer, "%zd", (size_t)123) < 0)
+# return 1;#
+#
+# if (strcmp(buffer, "123"))
+# return 1;
+#
+# if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
+# return 1;
+#
+# if (strcmp(buffer, "-123"))
+# return 1;
+#
+# return 0;
+#}],
+#[AC_MSG_RESULT(yes)
+# AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
+# AC_MSG_RESULT(no))
AC_CHECK_TYPE(socklen_t,,
AC_DEFINE(socklen_t,int,
- Define to `int' if <sys/socket.h> does not define.),[
+ Define to 'int' if <sys/socket.h> does not define.),[
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
diff -uN Python-2.6.2/Makefile.pre.in Python-2.6.2POld/Makefile.pre.in
--- Python-2.6.2/Makefile.pre.in 2009-02-24 21:07:44.000000000 +1000
+++ Python-2.6.2POld/Makefile.pre.in 2009-08-17 12:19:15.000000000 +1000
@@ -175,6 +175,7 @@
PYTHON= python$(EXE)
BUILDPYTHON= python$(BUILDEXE)
+HOSTPYTHON= ./$(BUILDPYTHON)
# The task to run while instrument when building the profile-opt target
PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
@@ -206,6 +207,8 @@
# Parser
PGEN= Parser/pgen$(EXE)
+HOSTPGEN= $(PGEN)
+
POBJS= \
Parser/acceler.o \
Parser/grammar1.o \
@@ -394,8 +397,8 @@
# Build the shared modules
sharedmods: $(BUILDPYTHON)
@case $$MAKEFLAGS in \
- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
esac
# Build static library
@@ -517,7 +520,7 @@
$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
-@$(INSTALL) -d Include
- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+ -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
$(PGEN): $(PGENOBJS)
$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
@@ -886,24 +889,24 @@
done; \
done
$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
-d $(LIBDEST) -f \
-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
-d $(LIBDEST) -f \
-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
+ $(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
-d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ $(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
-d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
+ $(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
# Create the PLATDIR source directory, if one wasn't distributed..
$(srcdir)/Lib/$(PLATDIR):
@@ -1001,7 +1004,8 @@
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall:
- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
+ CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILE='$(CROSS_COMPILE)' \
+ $(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \
--prefix=$(prefix) \
--install-scripts=$(BINDIR) \
--install-platlib=$(DESTSHARED) \
diff -uN Python-2.6.2/setup.py Python-2.6.2POld/setup.py
--- Python-2.6.2/setup.py 2009-04-01 04:20:48.000000000 +1000
+++ Python-2.6.2POld/setup.py 2009-08-17 12:19:15.000000000 +1000
@@ -17,7 +17,7 @@
from distutils.command.install_lib import install_lib
# This global variable is used to hold the list of modules to be disabled.
-disabled_module_list = []
+disabled_module_list = ['_ctypes']
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
@@ -267,33 +267,40 @@
self.announce('WARNING: skipping import check for Cygwin-based "%s"'
% ext.name)
return
+ if os.environ.get('CROSS_COMPILE_TARGET') == 'yes':
+ return
+
ext_filename = os.path.join(
self.build_lib,
self.get_ext_filename(self.get_ext_fullname(ext.name)))
try:
imp.load_dynamic(ext.name, ext_filename)
except ImportError, why:
- self.failed.append(ext.name)
- self.announce('*** WARNING: renaming "%s" since importing it'
- ' failed: %s' % (ext.name, why), level=3)
- assert not self.inplace
- basename, tail = os.path.splitext(ext_filename)
- newname = basename + "_failed" + tail
- if os.path.exists(newname):
- os.remove(newname)
- os.rename(ext_filename, newname)
-
- # XXX -- This relies on a Vile HACK in
- # distutils.command.build_ext.build_extension(). The
- # _built_objects attribute is stored there strictly for
- # use here.
- # If there is a failure, _built_objects may not be there,
- # so catch the AttributeError and move on.
- try:
- for filename in self._built_objects:
- os.remove(filename)
- except AttributeError:
- self.announce('unable to remove files (ignored)')
+ if os.environ.get('CROSS_COMPILE_TARGET') != "yes":
+ self.announce('*** WARNING: renaming "%s" since importing it'
+ ' failed: %s' % (ext.name, why), level=3)
+ assert not self.inplace
+ basename, tail = os.path.splitext(ext_filename)
+ newname = basename + "_failed" + tail
+ if os.path.exists(newname):
+ os.remove(newname)
+ os.rename(ext_filename, newname)
+
+ # XXX -- This relies on a Vile HACK in
+ # distutils.command.build_ext.build_extension(). The
+ # _built_objects attribute is stored there strictly for
+ # use here.
+ # If there is a failure, _built_objects may not be there,
+ # so catch the AttributeError and move on.
+ try:
+ for filename in self._built_objects:
+ os.remove(filename)
+ except AttributeError:
+ self.announce('unable to remove files (ignored)')
+ else:
+ self.announce('WARNING: "%s" failed importing, but we leave it '
+ 'because we are cross-compiling' %
+ ext.name)
except:
exc_type, why, tb = sys.exc_info()
self.announce('*** WARNING: importing extension "%s" '
@@ -665,7 +672,7 @@
if (ssl_incs is not None and
ssl_libs is not None and
- openssl_ver >= 0x00907000):
+ openssl_ver >= 0x00907000 and False):
# The _hashlib module wraps optimized implementations
# of hash functions from the OpenSSL library.
exts.append( Extension('_hashlib', ['_hashopenssl.c'],
@@ -685,7 +692,7 @@
depends = ['md5.h']) )
missing.append('_hashlib')
- if (openssl_ver < 0x00908000):
+ if (True or openssl_ver < 0x00908000):
# OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash
exts.append( Extension('_sha256', ['sha256module.c']) )
exts.append( Extension('_sha512', ['sha512module.c']) )

View File

@ -1,2 +1,11 @@
# python27
Python is an interpreted, interactive, object-oriented programming language.
It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax.
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
New built-in modules are easily written in C or C++.
Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...

View File

@ -0,0 +1,65 @@
Index: configure.in
===================================================================
--- configure.in (revision 65790)
+++ configure.in (working copy)
@@ -3693,7 +3693,7 @@
AC_MSG_RESULT(done)
# generate output files
-AC_CONFIG_FILES(Makefile.pre Modules/Setup.config)
+AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python-2.6.pc)
AC_OUTPUT
echo "creating Modules/Setup"
Index: Makefile.pre.in
===================================================================
--- Makefile.pre.in (revision 65790)
+++ Makefile.pre.in (working copy)
@@ -755,6 +755,8 @@
(cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON))
-rm -f $(DESTDIR)$(BINDIR)/python-config
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python-config)
+ -rm -f $(DESTDIR)$(LIBPC)/python.pc
+ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python.pc)
# Install the interpreter with $(VERSION) affixed
# This goes into $(exec_prefix)
@@ -928,8 +930,12 @@
# Install the library and miscellaneous stuff needed for extending/embedding
# This goes into $(exec_prefix)
LIBPL= $(LIBP)/config
+
+# pkgconfig diretory
+LIBPC= $(LIBDIR)/pkgconfig
+
libainstall: all
- @for i in $(LIBDIR) $(LIBP) $(LIBPL); \
+ @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
do \
if test ! -d $(DESTDIR)$$i; then \
echo "Creating directory $$i"; \
@@ -956,6 +962,7 @@
$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
$(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
$(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
+ $(INSTALL_DATA) Misc/python-2.6.pc $(DESTDIR)$(LIBPC)/python-2.6.pc
$(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
# Substitution happens here, as the completely-expanded BINDIR
Index: Misc/python-2.6.pc.in
===================================================================
--- Misc/python-2.6.pc.in (revision 0)
+++ Misc/python-2.6.pc.in (revision 0)
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: Python
+Description: Python library
+Requires:
+Version: @VERSION@
+Libs: -L${libdir} -lpython@VERSION@
+Cflags: -I${includedir}/python@VERSION@
+

26
python-2.7-macros.python Normal file
View File

@ -0,0 +1,26 @@
%__python27 /usr/bin/python2.7
#------------------------------------------------------------------------
# python(...) configuration.
#
# Path to scripts to autogenerate python package dependencies,
#
# Note: Used iff _use_internal_dependency_generator is non-zero. The
# helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}.
%__python27_provides %{_usrlibrpm}/pythondeps27.sh --provides
%__python27_requires %{_usrlibrpm}/pythondeps27.sh --requires
# Useful macros for building *.rpm python packages (for python > 1.6).
#
%python27_sitearch %(%{__python27} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
%python27_sitelib %(%{__python27} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
%python27_version %(%{__python27} -c "import sys; print(sys.version[0:3])")
%py27_compile(O) \
find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \
%{__python27} %{?O:-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 \
%py27_requires(d) \
%define maxver %(%{__python27} -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND) \
BuildRequires: python27, libpython27-devel \
PreReq: python27 >= %{python27_version}, python27 < %{maxver}

View File

@ -0,0 +1,14 @@
--- Python-2.7.3/Doc/Makefile.orig 2013-12-07 12:55:35.922434354 +0000
+++ Python-2.7.3/Doc/Makefile 2013-12-07 12:56:03.566148691 +0000
@@ -57,9 +57,9 @@
update: clean checkout
-build: checkout
+build:
mkdir -p build/$(BUILDER) build/doctrees
- $(PYTHON) tools/sphinx-build.py $(ALLSPHINXOPTS)
+ sphinx-build $(ALLSPHINXOPTS)
@echo
html: BUILDER = html

26
python-macros.python Normal file
View File

@ -0,0 +1,26 @@
%__python /usr/bin/python2.7
#------------------------------------------------------------------------
# python(...) configuration.
#
# Path to scripts to autogenerate python package dependencies,
#
# Note: Used iff _use_internal_dependency_generator is non-zero. The
# helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}.
%__python_provides %{_usrlibrpm}/pythondeps.sh --provides
%__python_requires %{_usrlibrpm}/pythondeps.sh --requires
# Useful macros for building *.rpm python packages (for python > 1.6).
#
%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
%python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
%python_version %(%{__python} -c "import sys; print(sys.version[0:3])")
%py_compile(O) \
find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \
%{__python} %{?O:-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 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: python27, libpython27-devel \
PreReq: python27 >= %{python_version}, python < %{maxver}

8
python27-2.7.3-cgi.patch Normal file
View File

@ -0,0 +1,8 @@
--- Python-2.4.2/Lib/cgi.py.orig 2006-02-27 11:22:07.000000000 +0100
+++ Python-2.4.2/Lib/cgi.py 2006-02-27 11:22:39.000000000 +0100
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/python
# NOTE: the above "/usr/local/bin/python" is NOT a mistake. It is
# intentionally NOT "/usr/bin/env python". On many systems

View File

@ -0,0 +1,62 @@
# HG changeset patch
# User Benjamin Peterson <benjamin@python.org>
# Date 1368295205 18000
# Node ID 94a7475d3a5f84d940121d059d145d504b4d996a
# Parent 0f8022ac88ad5a11ca9120d356615940d24a341d
-Wformat is needed by gcc 4.8 (closes #17547)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -223,6 +223,12 @@ Documentation
- Issue #6696: add documentation for the Profile objects, and improve
profile/cProfile docs. Patch by Tom Pinckney.
+Build
+-----
+
+- Issue #17547: In configure, explicitly pass -Wformat for the benefit for GCC
+ 4.8.
+
What's New in Python 3.3.1?
===========================
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -6525,7 +6525,7 @@ then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc supports ParseTuple __format__" >&5
$as_echo_n "checking whether gcc supports ParseTuple __format__... " >&6; }
save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS -Werror"
+ CFLAGS="$CFLAGS -Werror -Wformat"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -1331,7 +1331,7 @@ if test "$GCC" = "yes"
then
AC_MSG_CHECKING(whether gcc supports ParseTuple __format__)
save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS -Werror"
+ CFLAGS="$CFLAGS -Werror -Wformat"
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[void f(char*,...)__attribute((format(PyArg_ParseTuple, 1, 2)));]], [[]])
],[
diff --git a/pyconfig.h.in b/pyconfig.h.in
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -1187,9 +1187,6 @@
/* Define if setpgrp() must be called as setpgrp(0, 0). */
#undef SETPGRP_HAVE_ARG
-/* Define this to be extension of shared libraries (including the dot!). */
-#undef SHLIB_EXT
-
/* Define if i>>j for signed int i does not extend the sign bit when i < 0 */
#undef SIGNED_RIGHT_SHIFT_ZERO_FILLS

167
python27-2.7.3-lib64.patch Normal file
View File

@ -0,0 +1,167 @@
diff -up Python-2.6.8/Lib/distutils/command/install.py.lib64 Python-2.6.8/Lib/distutils/command/install.py
--- Python-2.6.8/Lib/distutils/command/install.py.lib64 2012-04-10 11:32:04.000000000 -0400
+++ Python-2.6.8/Lib/distutils/command/install.py 2012-04-12 13:23:24.929428232 -0400
@@ -42,14 +42,14 @@ else:
INSTALL_SCHEMES = {
'unix_prefix': {
'purelib': '$base/lib/python$py_version_short/site-packages',
- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages',
'headers': '$base/include/python$py_version_short/$dist_name',
'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',
diff -up Python-2.6.8/Lib/distutils/sysconfig.py.lib64 Python-2.6.8/Lib/distutils/sysconfig.py
--- Python-2.6.8/Lib/distutils/sysconfig.py.lib64 2012-04-10 11:32:04.000000000 -0400
+++ Python-2.6.8/Lib/distutils/sysconfig.py 2012-04-12 13:23:24.930428219 -0400
@@ -119,8 +119,12 @@ def get_python_lib(plat_specific=0, stan
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:
diff -up Python-2.6.8/Lib/site.py.lib64 Python-2.6.8/Lib/site.py
--- Python-2.6.8/Lib/site.py.lib64 2012-04-10 11:32:06.000000000 -0400
+++ Python-2.6.8/Lib/site.py 2012-04-12 13:23:24.931428206 -0400
@@ -300,12 +300,16 @@ def getsitepackages():
if sys.platform in ('os2emx', 'riscos'):
sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
elif os.sep == '/':
+ sitepackages.append(os.path.join(prefix, "lib64",
+ "python" + sys.version[:3],
+ "site-packages"))
sitepackages.append(os.path.join(prefix, "lib",
"python" + sys.version[:3],
"site-packages"))
sitepackages.append(os.path.join(prefix, "lib", "site-python"))
else:
sitepackages.append(prefix)
+ sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
if sys.platform == "darwin":
# for framework builds *only* we add the standard Apple
diff -up Python-2.6.8/Makefile.pre.in.lib64 Python-2.6.8/Makefile.pre.in
--- Python-2.6.8/Makefile.pre.in.lib64 2012-04-12 13:23:24.000000000 -0400
+++ Python-2.6.8/Makefile.pre.in 2012-04-12 13:24:31.619594491 -0400
@@ -91,7 +91,7 @@ LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
-SCRIPTDIR= $(prefix)/lib
+SCRIPTDIR= $(prefix)/lib64
# Detailed destination directories
BINLIBDEST= $(LIBDIR)/python$(VERSION)
diff -up Python-2.6.8/Modules/getpath.c.lib64 Python-2.6.8/Modules/getpath.c
--- Python-2.6.8/Modules/getpath.c.lib64 2012-04-10 11:32:09.000000000 -0400
+++ Python-2.6.8/Modules/getpath.c 2012-04-12 13:24:52.443334157 -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 prefix[MAXPATHLEN+1];
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 @@ calculate_path(void)
}
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 @@ calculate_path(void)
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.) */
--- Python-2.7.3/Modules/Setup.dist.lib64 2012-08-31 14:26:12.000000000 -0700
+++ Python-2.7.3/Modules/Setup.dist 2012-08-31 14:28:58.000000000 -0700
@@ -414,7 +414,7 @@
#DB=/usr/local/BerkeleyDB.4.0
#DBLIBVER=4.0
#DBINC=$(DB)/include
-#DBLIB=$(DB)/lib
+#DBLIB=$(DB)/lib64
#_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
# Historical Berkeley DB 1.85
@@ -460,7 +460,7 @@ GLHACK=-Dclear=__GLclear
# 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
#
diff -up Python-2.6.8/setup.py.lib64 Python-2.6.8/setup.py
--- Python-2.6.8/setup.py.lib64 2012-04-12 13:23:24.657431631 -0400
+++ Python-2.6.8/setup.py 2012-04-12 13:23:24.935428157 -0400
@@ -356,7 +356,7 @@ class PyBuildExt(build_ext):
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
@@ -677,11 +677,11 @@ class PyBuildExt(build_ext):
elif curses_library:
readline_libs.append(curses_library)
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) )
else:
@@ -703,8 +703,8 @@ class PyBuildExt(build_ext):
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

View File

@ -0,0 +1,11 @@
--- Python-2.6.4/Lib/platform.py.orig 2010-01-08 22:35:26.000000000 +0100
+++ Python-2.6.4/Lib/platform.py 2010-01-08 22:36:02.000000000 +0100
@@ -243,7 +243,7 @@
_supported_dists = (
'SuSE', 'debian', 'fedora', 'redhat', 'centos',
'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo',
- 'UnitedLinux', 'turbolinux')
+ 'UnitedLinux', 'turbolinux', 'openmamba')
def _parse_release_file(firstline):

485
python27.spec Normal file
View File

@ -0,0 +1,485 @@
# majversion define needed when upgrading from 2.x to 2.(x+1) releases
%define majversion %(echo %version | cut -d. -f 1-2)
%define libname libpython27
%define _Rpatchdir /usr/src/RPM/SPECS
# FIXME: x86_64: install also platform dependent stuff in /usr/lib or it does not work
#% define __libdir %{_prefix}/lib
%define __libdir %{_libdir}
Name: python27
Version: 2.7.3
Release: 9mamba
Summary: An interpreted, interactive, object-oriented programming language
Group: Applications/Development
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.python.org
Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.bz2
Source1: python-2.7-macros.python
Source2: python-macros.python
Patch1: %{name}-2.7.3-cgi.patch
Patch2: %{name}-2.7.3-platform_add_openmamba_distro.patch
# Cross-compile patches available from:
# http://randomsplat.com/id5-cross-compiling-python-for-embedded-linux.html
Patch5: Python-2.6.5-xcompile.patch
Patch6: python-2.6.7-pkgconfig.patch
Patch7: python27-2.7.3-gcc-4.8.patch
Patch8: python-2.7.3-use_system_Sphinx.patch
Patch9: python27-2.7.3-lib64.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libbzip2-devel
BuildRequires: libdb47-devel
BuildRequires: libgdbm-devel
BuildRequires: libncurses-devel >= 5.4
BuildRequires: libopenssl-devel
BuildRequires: libreadline-devel
BuildRequires: libsqlite-devel
BuildRequires: libtcl-devel
%if "%{stage1}" != "1"
BuildRequires: libtk-devel
BuildRequires: libX11-devel
%endif
BuildRequires: libz-devel
## AUTOBUILDREQ-END
%if "%{stage1}" != "1"
BuildRequires: latex2html >= 2002
BuildRequires: tetex >= 3.0
BuildRequires: libtk >= 8.4.11
BuildRequires: libbluez-devel >= 2.21
BuildRequires: python-Sphinx
BuildRequires: python-Jinja2
%endif
Requires: %{libname} = %{?epoch:epoch:}%{version}-%{release}
Provides: python-abi = %{majversion}
Provides: python(abi) = %{majversion}
Provides: /usr/bin/python
Provides: python
Obsoletes: python
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
Python is an interpreted, interactive, object-oriented programming language.
It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax.
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
New built-in modules are easily written in C or C++.
Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
%package -n %{libname}
Group: System/Libraries/Python
Summary: Libraries for Python
Provides: libpython
Obsoletes: libpython
%description -n %{libname}
Python is an interpreted, interactive, object-oriented programming language.
It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax.
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
New built-in modules are easily written in C or C++.
Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
This package contains the libraries for Python.
%package -n %{libname}-devel
Group: Development/Libraries/Python
Summary: Devel package for Python
Requires: %{libname} = %{?epoch:epoch:}%{version}-%{release}
Provides: %{name}-devel = %{version}
Obsoletes: %{name}-devel
Provides: libpython-devel
Obsoletes: libpython-devel
Provides: python-devel
Obsoletes: python-devel
%description -n %{libname}-devel
Python is an interpreted, interactive, object-oriented programming language.
It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax.
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
New built-in modules are easily written in C or C++.
Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
This package contains the development files for Python.
%package doc
Group: Documentation
Summary: Documentation package for Python
Requires: %{name} = %{?epoch:epoch:}%{version}-%{release}
Provides: python-doc
Obsoletes: python-doc
%description doc
Python is an interpreted, interactive, object-oriented programming language.
It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax.
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
New built-in modules are easily written in C or C++.
Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
This package contains the documentation files for Python in HTML format.
%package tk
Group: System/Libraries/Python
Summary: Tk library for Python
Requires: %{name} = %{?epoch:epoch:}%{version}-%{release}
Provides: python-tk
Obsoletes: python-tk
%description tk
Python is an interpreted, interactive, object-oriented programming language.
It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax.
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
New built-in modules are easily written in C or C++.
Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
This package contains the tk library for Python.
%prep
%setup -q -n Python-%{version}
%patch1 -p1
%patch2 -p1
%if "%{_host}" != "%{_build}"
%patch5 -p1
%endif
%patch7 -p1
%patch8 -p1
%ifarch x86_64
%patch9 -p1
%endif
TMPFILE=`mktemp --tmpdir=/dev/shm`
[ -e $TMPFILE ] || {
echo "ERROR: sanity check for /dev/shm failed; aborting."
exit 1
}
rm -f $TMPFILE
%build
autoreconf
#%if "%{_host}" != "%{_build}"
#
#%configure --disable-shared
#make CC=%{_build}-gcc python Parser/pgen
#mv python hostpython
#mv Parser/pgen Parser/hostpgen
#make distclean
#%configure \
# --enable-shared
#%make \
# HOSTPYTHON=./hostpython \
# HOSTPGEN=./Parser/hostpgen \
# BLDSHARED="%{_host}-gcc -shared" \
# CROSS_COMPILE="%{_host}-" \
# CROSS_COMPILE_TARGET=yes
#
#%else
%configure \
--libdir=%{__libdir} \
--enable-shared \
%if "%{_host}" == "%{_build}"
--enable-ipv6 \
%else
--disable-ipv6 \
CROSS_COMPILE="%{_host}-" \
CROSS_COMPILE_TARGET=yes
%endif
%make
#%endif
# create DLFCN.py
cd Tools/scripts
./h2py.py %{_includedir}/dlfcn.h
cd ../..
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%if "%{_host}" != "%{_build}"
%makeinstall \
HOSTPYTHON=./hostpython \
BLDSHARED="%{_host}-gcc -shared" \
CROSS_COMPILE="%{_host}-" \
CROSS_COMPILE_TARGET=yes
%else
%makeinstall
%endif
#install -d %{buildroot}%{__libdir}/python/site-packages
#ln -s python%{majversion} %{buildroot}%{__libdir}/python
ln -s python%{majversion} %{buildroot}%{_includedir}/python
# fix library permission
chmod 755 %{buildroot}%{__libdir}/libpython%{majversion}.so.*
%if "%{stage1}" != "1"
# build the HTML documentation
cd Doc
###sed -i s@/usr/bin/env@/bin/env@ tools/mkhowto
PATH=$PATH:%{_builddir}/Python-%{version}/Doc/tools
make html
install -d %{buildroot}%{_defaultdocdir}/%{name}-%{version}
cp -R build/html build/doctrees %{buildroot}%{_defaultdocdir}/%{name}-%{version}
rm -f 'find %{buildroot}%{_defaultdocdir}/%{name}-%{version}/html/.cvsignore'
cd ..
#make PAPER=a4 pdf
%endif
install -D -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.python%{majversion}
install -D -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/rpm/macros.python
# install i18n tools for development
install -D -m0755 Tools/i18n/msgfmt.py %{buildroot}%{_bindir}/msgfmt%{majversion}.py
install -D -m0755 Tools/i18n/pygettext.py %{buildroot}%{_bindir}/pygettext%{majversion}.py
# install DLFCN.py
install -D -m0755 Tools/scripts/DLFCN.py %{buildroot}%{__libdir}/python%{majversion}/DLFCN.py
rm -f %{buildroot}%{_bindir}/python
#rm -f %{buildroot}%{__libdir}/pkgconfig/python.pc
#rm -f %{buildroot}%{_bindir}/2to3
#rm -f %{buildroot}%{_bindir}/python-config
#rm -f %{buildroot}%{_includedir}/python
#
ln -s idle %{buildroot}%{_bindir}/idle%{majversion}
ln -s pydoc %{buildroot}%{_bindir}/pydoc%{majversion}
ln -s smtpd.py %{buildroot}%{_bindir}/smtpd%{majversion}.py
%ifarch x86_64
# FIXME: workaround
install -d -m0755 %{buildroot}%{_prefix}/lib/python%{majversion}
ln -sf ../../lib64/python%{majversion}/config %{buildroot}%{_prefix}/lib/python%{majversion}/config
%endif
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post
/usr/sbin/update-alternatives --install %{_bindir}/python python %{_bindir}/python%{majversion} 75
/usr/sbin/update-alternatives --auto python
exit 0
%preun
if [ $1 -eq 0 ]; then
/usr/sbin/update-alternatives --remove python %{_bindir}/python%{majversion}
fi
exit 0
%posttrans
[ -e %{_bindir}/python ] || \
/usr/sbin/update-alternatives --install %{_bindir}/python python %{_bindir}/python%{majversion} 75
exit 0
%ifarch x86_64
%pre -n %{libname}
[ -d %{_prefix}/lib/python%{majversion}/config ] &&
mv %{_prefix}/lib/python%{majversion}/config %{_prefix}/lib/python%{majversion}/config.old.`date +%s`
:
%endif
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/2to3
%{_bindir}/idle
%{_bindir}/idle%{majversion}
%{_bindir}/pydoc
%{_bindir}/pydoc%{majversion}
%{_bindir}/python2
%{_bindir}/python%{majversion}
%{_bindir}/smtpd.py
%{_bindir}/smtpd%{majversion}.py
%dir %{_includedir}/python%{majversion}
%{_includedir}/python%{majversion}/pyconfig.h
%ifarch x86_64
%{_prefix}/lib/python%{majversion}/config
%endif
%dir %{__libdir}/python%{majversion}/config
%{__libdir}/python%{majversion}/config/*
%{_mandir}/man1/*
%files -n %{libname}
%defattr(-,root,root)
%dir %{__libdir}/python%{majversion}
%exclude %{__libdir}/python%{majversion}/config
%{__libdir}/python%{majversion}/*
%{_libdir}/libpython%{majversion}.so.*
%{_libdir}/libpython%{majversion}.so
%if "%{stage1}" != "1"
#%exclude %{__libdir}/python%{majversion}/lib-tk
%exclude %{__libdir}/python%{majversion}/lib-dynload/_tkinter.so
%endif
%files -n %{libname}-devel
%defattr(-,root,root)
%{_sysconfdir}/rpm/macros.python%{majversion}
%{_sysconfdir}/rpm/macros.python
%{_bindir}/msgfmt%{majversion}.py
%{_bindir}/pygettext%{majversion}.py
%{_bindir}/python*-config
%{_includedir}/python
%dir %{_includedir}/python%{majversion}
%{_includedir}/python%{majversion}/*.h
%exclude %{_includedir}/python%{majversion}/pyconfig.h
%{_libdir}/pkgconfig/python-%{majversion}.pc
%{_libdir}/pkgconfig/python2.pc
%{_libdir}/pkgconfig/python.pc
%if "%{stage1}" != "1"
%files tk
%defattr(-,root,root)
#%{__libdir}/python%{majversion}/lib-tk
%{__libdir}/python%{majversion}/lib-dynload/_tkinter.so
%files doc
%defattr(-,root,root)
%dir %{_defaultdocdir}/%{name}-%{version}/html/
%{_defaultdocdir}/%{name}-%{version}/html/*
%{_defaultdocdir}/%{name}-%{version}/html/.buildinfo
%dir %{_defaultdocdir}/%{name}-%{version}/doctrees
%{_defaultdocdir}/%{name}-%{version}/doctrees/*
%endif
%changelog
* Sat Feb 15 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-9mamba
- move pyconfig.h and %{__libdir}/python/config from libpython27 to python27
* Mon Jan 20 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-8mamba
- x86_64: build with lib64 patch to install under /usr/lib64
* Thu Dec 05 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-7mamba
- rebuilt with /dev/shm working in x86_64 chroot environment to enable semaphores support
- patch to use system Sphinx
* Mon May 27 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-6mamba
- added upstream patch to fix error: PyArg_ParseTuple is an unrecognized format function type
(see http://bugs.python.org/issue17547)
* Thu May 23 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-5mamba
- libpython-devel: also provide/obsolete python-devel
* Wed May 15 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-4mamba
- make it the default python version
* Tue Mar 26 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-3mamba
- don't remove %{_bindir}/python2.7-config
* Wed Mar 06 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-2mamba
- %{_includedir}/python2.7/pyconfig.h is needed by python runtime, moved
- fixed an error in %py27_version in rmp macros file
* Sat Dec 22 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-1mamba
- update to 2.7.3
* Fri May 04 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.8-1mamba
- update to 2.6.8
- create and install DLFCN.py (see http://forums.bodhilinux.com/index.php?/topic/4228-python-qt4-designer-pyuic4-no-module-named-dlfcn-solution-found/)
* Tue Apr 10 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.7-1mamba
- update to 2.6.7
- added pkgconfig support files
* Tue Apr 26 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.6-2mamba
- libpython-devel: install pygettext.py and msgfmt.py files for i18n development
* Thu Nov 11 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.6-1mamba
- update to 2.6.6
* Mon Apr 12 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.5-1mamba
- update to 2.6.5
* Fri Jan 08 2010 Davide Madrisan <davide.madrisan@gmail.com> 2.6.4-3mamba
- Lib/platform.py: include openmamba in the list of supported Linux distributions
* Sat Jan 02 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.4-2mamba
- moved libpython2.6.so to main package to fix problem with system-config-printer-kde.py (see http://www.kdedevelopers.org/node/3841)
- added requirement for python-Sphinx and python-Jinja2
* Thu Dec 03 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.4-1mamba
- update to 2.6.4
* Sun Jan 25 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6-4mamba
- raise alternative priority to overcome python 2.4 and make the default
* Thu Oct 23 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6-3mamba
- python-devel: install rpm's macros.python file
* Thu Oct 16 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6-2mamba
- removed /usr/lib/site-packages directory
- fixed maintainer email
* Thu Oct 02 2008 gil <puntogil@libero.it> 2.6-1mamba
- update to 2.6
* Wed Jun 28 2008 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 2.5.2-1mamba
- update to 2.5.2.
* Sat Jun 25 2008 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 2.4.4-1mamba
- renamed to legacy python24 - changed doc to pdf due to a problem with latex2html
* Fri Mar 30 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.4-1mamba
- update to version 2.4.4 by autospec
* Fri Mar 31 2006 Davide Madrisan <davide.madrisan@qilinux.it> 2.4.3-1qilnx
- update to version 2.4.3 by autospec
* Mon Feb 27 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 2.4.2-3qilnx
- added cgi script patch
* Mon Jan 09 2006 Davide Madrisan <davide.madrisan@qilinux.it> 2.4.2-2qilnx
- provides python-abi, python(abi)
* Fri Sep 30 2005 Davide Madrisan <davide.madrisan@qilinux.it> 2.4.2-1qilnx
- update to version 2.4.2 by autospec
- also fix the security issues CAN-2005-1849 and CAN-2005-2096
- patch to build python documentation with TeX3 updated
* Tue Aug 09 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.1-2qilnx
- remove %%pre script
* Thu Jul 21 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.1-1qilnx
- new version build
* Thu Apr 07 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.5-2qilnx
- remove Xorg-libs dependency by adding subpackage python-tk
* Thu Feb 10 2005 Davide Madrisan <davide.madrisan@qilinux.it> 2.3.5-1qilnx
- update to version 2.3.5 by autospec
- also fix the security issue QSA-2005-013 (CAN-2005-0089)
* Wed Feb 02 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.5-1qilnx
- rebuilt with shared libraries
* Thu May 27 2004 Davide Madrisan <davide.madrisan@qilinux.it> 2.3.4-1qilnx
- new version rebuild (bugfix release)
- added the doc package with the Python documentation in HTML format
* Tue Dec 24 2003 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.3-2qilnx
- renamed lib and includes destdir to /usr/include/python
* Tue Dec 23 2003 Davide Madrisan <davide.madrisan@qilinux.it> 2.3.3-1qilnx
- rebuild with Python 2.3.3
* Mon Oct 27 2003 Davide Madrisan <davide.madrisan@qilinux.it> 2.3.2-1qilnx
- rebuild with Python 2.3.2
* Tue Jul 01 2003 Silvan Calarco <silvan.calarco@qinet.it> 2.2.3-1qilnx
- first build