Jan Matejek 2011-05-24 15:33:04 +00:00 committed by Git OBS Bridge
parent 688caf8d33
commit ca11443145
15 changed files with 139 additions and 304 deletions

3
Python-2.7.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:80e387bcf57eae8ce26726753584fd63e060ec11682d1145af921e85fd612292
size 11722546

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:935d3316edfec5eb98c2f6930756b47b00dc27192541e62d6fd0077ffa008af8
size 11735195

View File

@ -1,13 +0,0 @@
Index: Python-2.7/configure.in
===================================================================
--- Python-2.7.orig/configure.in
+++ Python-2.7/configure.in
@@ -12,7 +12,7 @@ m4_define([version_required],
[],
[m4_fatal([Autoconf version $1 is required for Python], 63)])
])
-version_required(2.65)
+dnl version_required(2.65)
AC_REVISION($Revision: 81582 $)
AC_INIT(python, PYTHON_VERSION, http://bugs.python.org/)

View File

@ -18,12 +18,12 @@ Index: Python-2.7/Lib/distutils/tests/test_build_ext.py
+ cmd.inplace = 1 + cmd.inplace = 1
+ cmd.run() + cmd.run()
+ so_file = cmd.get_outputs()[0] + so_file = cmd.get_outputs()[0]
self.assert_(os.path.exists(so_file)) self.assertTrue(os.path.exists(so_file))
self.assertEquals(os.path.splitext(so_file)[-1], self.assertEqual(os.path.splitext(so_file)[-1],
sysconfig.get_config_var('SO')) sysconfig.get_config_var('SO'))
so_dir = os.path.dirname(so_file) so_dir = os.path.dirname(so_file)
- self.assertEquals(so_dir, other_tmp_dir) - self.assertEqual(so_dir, other_tmp_dir)
+ self.assertEquals(so_dir, os.getcwd()) + self.assertEqual(so_dir, os.getcwd())
cmd.compiler = None cmd.compiler = None
cmd.inplace = 0 cmd.inplace = 0
cmd.run() cmd.run()

View File

@ -0,0 +1,21 @@
Index: Python-3.2/Makefile.pre.in
===================================================================
--- Python-3.2.orig/Makefile.pre.in
+++ Python-3.2/Makefile.pre.in
@@ -554,7 +554,15 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
$(SIGNAL_OBJS) \
$(MODOBJS) \
$(srcdir)/Modules/getbuildinfo.c
- $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c
+ $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" \
+ -DDATE="\"`LC_ALL=C date -u -r Makefile.pre.in +"%b %d %Y"`\"" \
+ -DTIME="\"`LC_ALL=C date -u -r Makefile.pre.in +"%T"`\"" \
+ -o $@ $(srcdir)/Modules/getbuildinfo.c
+
+Python/getcompiler.o: $(srcdir)/Python/getcompiler.c Makefile
+ $(CC) -c $(PY_CFLAGS) \
+ -DCOMPILER='"[GCC]"' \
+ -o $@ $(srcdir)/Python/getcompiler.c
Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
$(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \

View File

@ -1,7 +1,7 @@
Index: Python-2.7/Include/pythonrun.h Index: Python-2.7.1/Include/pythonrun.h
=================================================================== ===================================================================
--- Python-2.7.orig/Include/pythonrun.h --- Python-2.7.1.orig/Include/pythonrun.h
+++ Python-2.7/Include/pythonrun.h +++ Python-2.7.1/Include/pythonrun.h
@@ -108,6 +108,8 @@ PyAPI_FUNC(char *) Py_GetPath(void); @@ -108,6 +108,8 @@ PyAPI_FUNC(char *) Py_GetPath(void);
/* In their own files */ /* In their own files */
PyAPI_FUNC(const char *) Py_GetVersion(void); PyAPI_FUNC(const char *) Py_GetVersion(void);
@ -11,10 +11,10 @@ Index: Python-2.7/Include/pythonrun.h
PyAPI_FUNC(const char *) Py_GetCopyright(void); PyAPI_FUNC(const char *) Py_GetCopyright(void);
PyAPI_FUNC(const char *) Py_GetCompiler(void); PyAPI_FUNC(const char *) Py_GetCompiler(void);
PyAPI_FUNC(const char *) Py_GetBuildInfo(void); PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
Index: Python-2.7/Lib/distutils/command/install.py Index: Python-2.7.1/Lib/distutils/command/install.py
=================================================================== ===================================================================
--- Python-2.7.orig/Lib/distutils/command/install.py --- Python-2.7.1.orig/Lib/distutils/command/install.py
+++ Python-2.7/Lib/distutils/command/install.py +++ Python-2.7.1/Lib/distutils/command/install.py
@@ -22,6 +22,8 @@ from site import USER_BASE @@ -22,6 +22,8 @@ from site import USER_BASE
from site import USER_SITE from site import USER_SITE
@ -33,10 +33,10 @@ Index: Python-2.7/Lib/distutils/command/install.py
'headers': '$base/include/python$py_version_short/$dist_name', 'headers': '$base/include/python$py_version_short/$dist_name',
'scripts': '$base/bin', 'scripts': '$base/bin',
'data' : '$base', 'data' : '$base',
Index: Python-2.7/Lib/distutils/sysconfig.py Index: Python-2.7.1/Lib/distutils/sysconfig.py
=================================================================== ===================================================================
--- Python-2.7.orig/Lib/distutils/sysconfig.py --- Python-2.7.1.orig/Lib/distutils/sysconfig.py
+++ Python-2.7/Lib/distutils/sysconfig.py +++ Python-2.7.1/Lib/distutils/sysconfig.py
@@ -114,8 +114,11 @@ def get_python_lib(plat_specific=0, stan @@ -114,8 +114,11 @@ def get_python_lib(plat_specific=0, stan
prefix = plat_specific and EXEC_PREFIX or PREFIX prefix = plat_specific and EXEC_PREFIX or PREFIX
@ -51,10 +51,10 @@ Index: Python-2.7/Lib/distutils/sysconfig.py
if standard_lib: if standard_lib:
return libpython return libpython
else: else:
Index: Python-2.7/Lib/pydoc.py Index: Python-2.7.1/Lib/pydoc.py
=================================================================== ===================================================================
--- Python-2.7.orig/Lib/pydoc.py --- Python-2.7.1.orig/Lib/pydoc.py
+++ Python-2.7/Lib/pydoc.py +++ Python-2.7.1/Lib/pydoc.py
@@ -349,7 +349,7 @@ class Doc: @@ -349,7 +349,7 @@ class Doc:
docloc = os.environ.get("PYTHONDOCS", docloc = os.environ.get("PYTHONDOCS",
@ -64,11 +64,11 @@ Index: Python-2.7/Lib/pydoc.py
"python"+sys.version[0:3]) "python"+sys.version[0:3])
if (isinstance(object, type(os)) and if (isinstance(object, type(os)) and
(object.__name__ in ('errno', 'exceptions', 'gc', 'imp', (object.__name__ in ('errno', 'exceptions', 'gc', 'imp',
Index: Python-2.7/Lib/site.py Index: Python-2.7.1/Lib/site.py
=================================================================== ===================================================================
--- Python-2.7.orig/Lib/site.py --- Python-2.7.1.orig/Lib/site.py
+++ Python-2.7/Lib/site.py +++ Python-2.7.1/Lib/site.py
@@ -286,13 +286,18 @@ def getsitepackages(): @@ -290,13 +290,18 @@ def getsitepackages():
if sys.platform in ('os2emx', 'riscos'): if sys.platform in ('os2emx', 'riscos'):
sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
elif os.sep == '/': elif os.sep == '/':
@ -90,10 +90,10 @@ Index: Python-2.7/Lib/site.py
if sys.platform == "darwin": if sys.platform == "darwin":
# for framework builds *only* we add the standard Apple # for framework builds *only* we add the standard Apple
# locations. # locations.
Index: Python-2.7/Lib/test/test_dl.py Index: Python-2.7.1/Lib/test/test_dl.py
=================================================================== ===================================================================
--- Python-2.7.orig/Lib/test/test_dl.py --- Python-2.7.1.orig/Lib/test/test_dl.py
+++ Python-2.7/Lib/test/test_dl.py +++ Python-2.7.1/Lib/test/test_dl.py
@@ -5,10 +5,11 @@ @@ -5,10 +5,11 @@
import unittest import unittest
from test.test_support import verbose, import_module from test.test_support import verbose, import_module
@ -108,11 +108,11 @@ Index: Python-2.7/Lib/test/test_dl.py
('/usr/bin/cygwin1.dll', 'getpid'), ('/usr/bin/cygwin1.dll', 'getpid'),
('/usr/lib/libc.dylib', 'getpid'), ('/usr/lib/libc.dylib', 'getpid'),
] ]
Index: Python-2.7/Lib/trace.py Index: Python-2.7.1/Lib/trace.py
=================================================================== ===================================================================
--- Python-2.7.orig/Lib/trace.py --- Python-2.7.1.orig/Lib/trace.py
+++ Python-2.7/Lib/trace.py +++ Python-2.7.1/Lib/trace.py
@@ -757,10 +757,10 @@ def main(argv=None): @@ -762,10 +762,10 @@ def main(argv=None):
# should I also call expanduser? (after all, could use $HOME) # should I also call expanduser? (after all, could use $HOME)
s = s.replace("$prefix", s = s.replace("$prefix",
@ -125,10 +125,10 @@ Index: Python-2.7/Lib/trace.py
"python" + sys.version[:3])) "python" + sys.version[:3]))
s = os.path.normpath(s) s = os.path.normpath(s)
ignore_dirs.append(s) ignore_dirs.append(s)
Index: Python-2.7/Makefile.pre.in Index: Python-2.7.1/Makefile.pre.in
=================================================================== ===================================================================
--- Python-2.7.orig/Makefile.pre.in --- Python-2.7.1.orig/Makefile.pre.in
+++ Python-2.7/Makefile.pre.in +++ Python-2.7.1/Makefile.pre.in
@@ -78,6 +78,8 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG @@ -78,6 +78,8 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG
# Machine-dependent subdirectories # Machine-dependent subdirectories
@ -155,10 +155,10 @@ Index: Python-2.7/Makefile.pre.in
Python/importdl.o: $(srcdir)/Python/importdl.c Python/importdl.o: $(srcdir)/Python/importdl.c
$(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
Index: Python-2.7/Modules/getpath.c Index: Python-2.7.1/Modules/getpath.c
=================================================================== ===================================================================
--- Python-2.7.orig/Modules/getpath.c --- Python-2.7.1.orig/Modules/getpath.c
+++ Python-2.7/Modules/getpath.c +++ Python-2.7.1/Modules/getpath.c
@@ -116,9 +116,11 @@ @@ -116,9 +116,11 @@
#define EXEC_PREFIX PREFIX #define EXEC_PREFIX PREFIX
#endif #endif
@ -182,10 +182,10 @@ Index: Python-2.7/Modules/getpath.c
static void static void
reduce(char *dir) reduce(char *dir)
Index: Python-2.7/Python/getplatform.c Index: Python-2.7.1/Python/getplatform.c
=================================================================== ===================================================================
--- Python-2.7.orig/Python/getplatform.c --- Python-2.7.1.orig/Python/getplatform.c
+++ Python-2.7/Python/getplatform.c +++ Python-2.7.1/Python/getplatform.c
@@ -10,3 +10,23 @@ Py_GetPlatform(void) @@ -10,3 +10,23 @@ Py_GetPlatform(void)
{ {
return PLATFORM; return PLATFORM;
@ -210,10 +210,10 @@ Index: Python-2.7/Python/getplatform.c
+{ +{
+ return LIB; + return LIB;
+} +}
Index: Python-2.7/Python/sysmodule.c Index: Python-2.7.1/Python/sysmodule.c
=================================================================== ===================================================================
--- Python-2.7.orig/Python/sysmodule.c --- Python-2.7.1.orig/Python/sysmodule.c
+++ Python-2.7/Python/sysmodule.c +++ Python-2.7.1/Python/sysmodule.c
@@ -1470,6 +1470,10 @@ _PySys_Init(void) @@ -1470,6 +1470,10 @@ _PySys_Init(void)
PyString_FromString(Py_GetCopyright())); PyString_FromString(Py_GetCopyright()));
SET_SYS_FROM_STRING("platform", SET_SYS_FROM_STRING("platform",
@ -225,10 +225,10 @@ Index: Python-2.7/Python/sysmodule.c
SET_SYS_FROM_STRING("executable", SET_SYS_FROM_STRING("executable",
PyString_FromString(Py_GetProgramFullPath())); PyString_FromString(Py_GetProgramFullPath()));
SET_SYS_FROM_STRING("prefix", SET_SYS_FROM_STRING("prefix",
Index: Python-2.7/configure.in Index: Python-2.7.1/configure.in
=================================================================== ===================================================================
--- Python-2.7.orig/configure.in --- Python-2.7.1.orig/configure.in
+++ Python-2.7/configure.in +++ Python-2.7.1/configure.in
@@ -636,6 +636,41 @@ SunOS*) @@ -636,6 +636,41 @@ SunOS*)
;; ;;
esac esac
@ -271,10 +271,10 @@ Index: Python-2.7/configure.in
AC_SUBST(LIBRARY) AC_SUBST(LIBRARY)
AC_MSG_CHECKING(LIBRARY) AC_MSG_CHECKING(LIBRARY)
Index: Python-2.7/setup.py Index: Python-2.7.1/setup.py
=================================================================== ===================================================================
--- Python-2.7.orig/setup.py --- Python-2.7.1.orig/setup.py
+++ Python-2.7/setup.py +++ Python-2.7.1/setup.py
@@ -347,7 +347,7 @@ class PyBuildExt(build_ext): @@ -347,7 +347,7 @@ class PyBuildExt(build_ext):
def detect_modules(self): def detect_modules(self):
@ -284,7 +284,7 @@ Index: Python-2.7/setup.py
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
# Add paths specified in the environment variables LDFLAGS and # Add paths specified in the environment variables LDFLAGS and
@@ -399,8 +399,7 @@ class PyBuildExt(build_ext): @@ -404,8 +404,7 @@ class PyBuildExt(build_ext):
# if a file is found in one of those directories, it can # if a file is found in one of those directories, it can
# be assumed that no additional -I,-L directives are needed. # be assumed that no additional -I,-L directives are needed.
lib_dirs = self.compiler.library_dirs + [ lib_dirs = self.compiler.library_dirs + [
@ -294,7 +294,7 @@ Index: Python-2.7/setup.py
] ]
inc_dirs = self.compiler.include_dirs + ['/usr/include'] inc_dirs = self.compiler.include_dirs + ['/usr/include']
exts = [] exts = []
@@ -643,11 +642,11 @@ class PyBuildExt(build_ext): @@ -654,11 +653,11 @@ class PyBuildExt(build_ext):
elif curses_library: elif curses_library:
readline_libs.append(curses_library) readline_libs.append(curses_library)
elif self.compiler.find_library_file(lib_dirs + elif self.compiler.find_library_file(lib_dirs +
@ -308,7 +308,7 @@ Index: Python-2.7/setup.py
extra_link_args=readline_extra_link_args, extra_link_args=readline_extra_link_args,
libraries=readline_libs) ) libraries=readline_libs) )
else: else:
@@ -1719,18 +1718,17 @@ class PyBuildExt(build_ext): @@ -1730,18 +1729,17 @@ class PyBuildExt(build_ext):
# Check for various platform-specific directories # Check for various platform-specific directories
if platform == 'sunos5': if platform == 'sunos5':
include_dirs.append('/usr/openwin/include') include_dirs.append('/usr/openwin/include')
@ -331,18 +331,21 @@ Index: Python-2.7/setup.py
# If Cygwin, then verify that X is installed before proceeding # If Cygwin, then verify that X is installed before proceeding
if platform == 'cygwin': if platform == 'cygwin':
Index: Python-2.7/Lib/test/test_site.py Index: Python-2.7.1/Lib/test/test_site.py
=================================================================== ===================================================================
--- Python-2.7.orig/Lib/test/test_site.py --- Python-2.7.1.orig/Lib/test/test_site.py
+++ Python-2.7/Lib/test/test_site.py +++ Python-2.7.1/Lib/test/test_site.py
@@ -172,9 +172,14 @@ class HelperFunctionsTests(unittest.Test @@ -169,12 +169,16 @@ class HelperFunctionsTests(unittest.Test
self.assertTrue(len(dirs), 2) wanted = os.path.join('xoxo', 'Lib', 'site-packages')
self.assertEqual(dirs[0], wanted)
elif os.sep == '/':
- self.assertEqual(len(dirs), 2)
wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
'site-packages') 'site-packages')
- self.assertEquals(dirs[0], wanted) - self.assertEqual(dirs[0], wanted)
+ self.assertTrue(wanted in dirs) + self.assertTrue(wanted in dirs)
wanted = os.path.join('xoxo', 'lib', 'site-python') wanted = os.path.join('xoxo', 'lib', 'site-python')
- self.assertEquals(dirs[1], wanted) - self.assertEqual(dirs[1], wanted)
+ self.assertTrue(wanted in dirs) + self.assertTrue(wanted in dirs)
+ wanted = os.path.join('xoxo', sys.lib, 'python' + sys.version[:3], + wanted = os.path.join('xoxo', sys.lib, 'python' + sys.version[:3],
+ 'site-packages') + 'site-packages')
@ -350,12 +353,12 @@ Index: Python-2.7/Lib/test/test_site.py
+ wanted = os.path.join('xoxo', sys.lib, 'site-python') + wanted = os.path.join('xoxo', sys.lib, 'site-python')
+ self.assertTrue(wanted in dirs) + self.assertTrue(wanted in dirs)
else: else:
self.assertTrue(len(dirs), 2) self.assertEqual(len(dirs), 2)
self.assertEquals(dirs[0], 'xoxo') self.assertEqual(dirs[0], 'xoxo')
Index: Python-2.7/Lib/sysconfig.py Index: Python-2.7.1/Lib/sysconfig.py
=================================================================== ===================================================================
--- Python-2.7.orig/Lib/sysconfig.py --- Python-2.7.1.orig/Lib/sysconfig.py
+++ Python-2.7/Lib/sysconfig.py +++ Python-2.7.1/Lib/sysconfig.py
@@ -7,10 +7,10 @@ from os.path import pardir, realpath @@ -7,10 +7,10 @@ from os.path import pardir, realpath
_INSTALL_SCHEMES = { _INSTALL_SCHEMES = {

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Tue May 24 14:27:05 UTC 2011 - jmatejek@novell.com
- update to 2.7.1
* bugfix-only release, see NEWS for details
- refreshed patches, dropped the upstreamed ones
- dropped acrequire patch, replacing it with build-time sed
- improved fix to bnc#673071 by defining the constants
only for files that require it (as is done in python3)
------------------------------------------------------------------- -------------------------------------------------------------------
Mon May 2 16:04:49 UTC 2011 - jmatejek@novell.com Mon May 2 16:04:49 UTC 2011 - jmatejek@novell.com

View File

@ -29,8 +29,8 @@ Obsoletes: python-64bit
%endif %endif
# #
Summary: Python Interpreter base package Summary: Python Interpreter base package
Version: 2.7 Version: 2.7.1
Release: 8 Release: 5
%define tarversion %{version} %define tarversion %{version}
%define tarname Python-%{tarversion} %define tarname Python-%{tarversion}
Source0: %{tarname}.tar.bz2 Source0: %{tarname}.tar.bz2
@ -42,17 +42,14 @@ Source5: _local.pth
Patch1: python-2.7-dirs.patch Patch1: python-2.7-dirs.patch
Patch2: python-distutils-rpm-8.patch Patch2: python-distutils-rpm-8.patch
Patch3: Python-2.7rc2-multilib.patch Patch3: python-2.7.1-multilib.patch
Patch4: python-2.7rc2-canonicalize2.patch Patch4: python-2.7rc2-canonicalize2.patch
Patch5: python-2.7rc2-configure.patch Patch5: python-2.7rc2-configure.patch
Patch6: python-2.6-gettext-plurals.patch Patch6: python-2.6-gettext-plurals.patch
Patch7: python-2.6.5-distutils_test_path.patch Patch7: python-2.7.1-distutils_test_path.patch
Patch8: sparc_longdouble.patch Patch8: sparc_longdouble.patch
Patch9: python-2.7-acrequire.patch
Patch10: urllib2-AbstractBasicAuthHandler_reset_attr.diff
Patch11: smtpd-dos.patch
Patch12: http://psf.upfronthosting.co.za/roundup/tracker/file19029/python-test_structmembers.patch Patch12: http://psf.upfronthosting.co.za/roundup/tracker/file19029/python-test_structmembers.patch
Patch13: python-fix_date_time_compiler.patch Patch13: python-2.7.1-fix_date_time_compiler.patch
Patch14: python-2.7-CVE-2011-1521-fileurl.patch Patch14: python-2.7-CVE-2011-1521-fileurl.patch
Patch15: python-2.7-fix-parallel-make.patch Patch15: python-2.7-fix-parallel-make.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -144,42 +141,26 @@ Authors:
%patch6 %patch6
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1
%patch10
%patch11
%patch12 %patch12
%patch13 %patch13 -p1
%patch14 -p1 %patch14 -p1
%patch15 -p1 %patch15 -p1
# some cleanup # drop Autoconf version requirement
find . -name .cvsignore -type f -print0 | xargs -0 rm -f sed -i 's/^version_required/dnl version_required/' configure.in
find . -name CVS -type d -print0 | xargs -0 rm -rf
%build %build
########################################
# disable as-needed to fix build
########################################
export SUSE_ASNEEDED=0
########################################
# use rpm_opt_flags
########################################
export OPT="$RPM_OPT_FLAGS" export OPT="$RPM_OPT_FLAGS"
########################################
# regenerate
########################################
autoreconf -f -i . # Modules/_ctypes/libffi autoreconf -f -i . # Modules/_ctypes/libffi
# provide a stable timestamp
touch -r %{S:0} Makefile.pre.in
# prevent make from trying to rebuild asdl stuff, which requires existing # prevent make from trying to rebuild asdl stuff, which requires existing
# python installation # python installation
touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h
# use just gcc instead of [GCC 4.5.0 20100604 [gcc-4_5-branch revision 160292]..
echo '#define PYTHON_COMPILER "[GCC]"' >> pyconfig.h.in
# use a compilation date equivalent to the source tarball.
printf '#define PY_BUILD_DATE "%s %s %s"\n' $(date -u -r %{SOURCE0} +"%b %d %Y") >> pyconfig.h.in
printf '#define PY_BUILD_TIME "%s"\n' $(date -u -r %{SOURCE0} +"%T") >> pyconfig.h.in
########################################
# configure
########################################
./configure \ ./configure \
--prefix=%{_prefix} \ --prefix=%{_prefix} \
--libdir=%{_libdir} \ --libdir=%{_libdir} \
@ -189,9 +170,7 @@ printf '#define PY_BUILD_TIME "%s"\n' $(date -u -r %{SOURCE0} +"%T") >> pyconfig
--enable-ipv6 \ --enable-ipv6 \
--enable-shared \ --enable-shared \
--enable-unicode=ucs4 --enable-unicode=ucs4
########################################
# compile
########################################
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \ LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \
make %{?_smp_mflags} \ make %{?_smp_mflags} \
DESTDIR=$RPM_BUILD_ROOT \ DESTDIR=$RPM_BUILD_ROOT \
@ -207,6 +186,8 @@ LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \
EXCLUDE="-x test_urllib2 -x test_file -x test_file2k" EXCLUDE="-x test_urllib2 -x test_file -x test_file2k"
# test_nis and test_threading are AWFULLY slow. # test_nis and test_threading are AWFULLY slow.
EXCLUDE="$EXCLUDE -x test_nis -x test_threading" EXCLUDE="$EXCLUDE -x test_nis -x test_threading"
# test_gdb fails if gdb with (different) python support is part of the buildsystem
EXCLUDE="$EXCLUDE -x test_gdb"
%ifarch ia64 %ifarch ia64
# test_smtplib's testSend is known to be broken and on ia64 it actually fails most of the time, preventing the build. # test_smtplib's testSend is known to be broken and on ia64 it actually fails most of the time, preventing the build.
EXCLUDE="$EXCLUDE -x test_smtplib" EXCLUDE="$EXCLUDE -x test_smtplib"
@ -374,7 +355,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/python%{python_version}/lib-dynload/_socket.so %{_libdir}/python%{python_version}/lib-dynload/_socket.so
%{_libdir}/python%{python_version}/lib-dynload/_struct.so %{_libdir}/python%{python_version}/lib-dynload/_struct.so
%{_libdir}/python%{python_version}/lib-dynload/_testcapi.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/array.so
%{_libdir}/python%{python_version}/lib-dynload/binascii.so %{_libdir}/python%{python_version}/lib-dynload/binascii.so
#arm doesn't build this module #arm doesn't build this module

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Tue May 24 14:30:36 UTC 2011 - jmatejek@novell.com
- updated to build against 2.7.1
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Aug 26 11:43:28 UTC 2010 - jmatejek@novell.com Thu Aug 26 11:43:28 UTC 2010 - jmatejek@novell.com

View File

@ -24,8 +24,8 @@ Group: Development/Languages/Python
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: Additional Package Documentation for Python. Summary: Additional Package Documentation for Python.
Version: 2.7 Version: 2.7
Release: 8 Release: 5
%define pyver 2.7 %define pyver 2.7.1
BuildArch: noarch BuildArch: noarch
%define tarname Python-%{pyver} %define tarname Python-%{pyver}
%define pyname python %define pyname python

View File

@ -1,80 +0,0 @@
Index: Modules/getbuildinfo.c
===================================================================
--- Modules/getbuildinfo.c.orig 2010-05-09 16:46:46.000000000 +0200
+++ Modules/getbuildinfo.c 2011-02-17 17:25:00.904694976 +0100
@@ -4,19 +4,19 @@
#include <stdio.h>
#endif
-#ifndef DATE
-#ifdef __DATE__
-#define DATE __DATE__
+#ifndef PY_BUILD_DATE
+#ifdef __PY_BUILD_DATE__
+#define PY_BUILD_DATE __PY_BUILD_DATE__
#else
-#define DATE "xx/xx/xx"
+#define PY_BUILD_DATE "xx/xx/xx"
#endif
#endif
-#ifndef TIME
-#ifdef __TIME__
-#define TIME __TIME__
+#ifndef PY_BUILD_TIME
+#ifdef __PY_BUILD_TIME__
+#define PY_BUILD_TIME __PY_BUILD_TIME__
#else
-#define TIME "xx:xx:xx"
+#define PY_BUILD_TIME "xx:xx:xx"
#endif
#endif
@@ -37,7 +37,7 @@ Py_GetBuildInfo(void)
const char *branch = Py_SubversionShortBranch();
PyOS_snprintf(buildinfo, sizeof(buildinfo),
"%s%s%s, %.20s, %.9s", branch, sep, revision,
- DATE, TIME);
+ PY_BUILD_DATE, PY_BUILD_TIME);
return buildinfo;
}
Index: Python/getcompiler.c
===================================================================
--- Python/getcompiler.c.orig 2000-09-05 06:40:39.000000000 +0200
+++ Python/getcompiler.c 2011-02-17 17:23:55.320858100 +0100
@@ -3,26 +3,26 @@
#include "Python.h"
-#ifndef COMPILER
+#ifndef PYTHON_COMPILER
#ifdef __GNUC__
-#define COMPILER "\n[GCC " __VERSION__ "]"
+#define PYTHON_COMPILER "\n[GCC " __VERSION__ "]"
#endif
-#endif /* !COMPILER */
+#endif /* !PYTHON_COMPILER */
-#ifndef COMPILER
+#ifndef PYTHON_COMPILER
#ifdef __cplusplus
-#define COMPILER "[C++]"
+#define PYTHON_COMPILER "[C++]"
#else
-#define COMPILER "[C]"
+#define PYTHON_COMPILER "[C]"
#endif
-#endif /* !COMPILER */
+#endif /* !PYTHON_COMPILER */
const char *
Py_GetCompiler(void)
{
- return COMPILER;
+ return PYTHON_COMPILER;
}

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue May 24 14:30:10 UTC 2011 - jmatejek@novell.com
- updated to 2.7.1
* bugfix-only release
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 4 14:18:08 UTC 2011 - jmatejek@novell.com Wed May 4 14:18:08 UTC 2011 - jmatejek@novell.com

View File

@ -31,8 +31,8 @@ Obsoletes: python-64bit
# #
Obsoletes: python-nothreads python21 python-elementtree python-sqlite Obsoletes: python-nothreads python21 python-elementtree python-sqlite
Summary: Python Interpreter Summary: Python Interpreter
Version: 2.7 Version: 2.7.1
Release: 15 Release: 5
Requires: python-base = %{version} Requires: python-base = %{version}
%define tarversion %{version} %define tarversion %{version}
%define tarname Python-%{tarversion} %define tarname Python-%{tarversion}
@ -44,14 +44,13 @@ Source4: python.csh
#Source11: testfiles.tar.bz2 #Source11: testfiles.tar.bz2
# issues with copyrighted Unicode testing files # issues with copyrighted Unicode testing files
Patch1: python-2.7-dirs.patch Patch1: python-2.7-dirs.patch
Patch2: Python-2.7rc2-multilib.patch Patch2: python-2.7.1-multilib.patch
Patch3: python-2.7rc2-canonicalize2.patch Patch3: python-2.7rc2-canonicalize2.patch
Patch4: python-2.5.1-sqlite.patch Patch4: python-2.5.1-sqlite.patch
Patch5: python-2.7rc2-configure.patch Patch5: python-2.7rc2-configure.patch
Patch6: python-2.6b3-curses-panel.patch Patch6: python-2.6b3-curses-panel.patch
Patch7: sparc_longdouble.patch Patch7: sparc_longdouble.patch
Patch8: python-2.7-acrequire.patch Patch9: python-2.7.1-fix_date_time_compiler.patch
Patch9: python-fix_date_time_compiler.patch
Patch10: python-2.7-fix-parallel-make.patch Patch10: python-2.7-fix-parallel-make.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -173,7 +172,6 @@ Authors:
Guido van Rossum <guido@python.org> Guido van Rossum <guido@python.org>
%prep %prep
#%%setup -q -n %{tarname} -a11
%setup -q -n %{tarname} %setup -q -n %{tarname}
# patching # patching
%patch1 -p1 %patch1 -p1
@ -183,37 +181,20 @@ Authors:
%patch5 %patch5
%patch6 %patch6
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch9 -p1
%patch9
%patch10 -p1 %patch10 -p1
# some cleanup
find . -name .cvsignore -type f -print0 | xargs -0 rm -f # drop Autoconf version requirement
find . -name CVS -type d -print0 | xargs -0 rm -rf sed -i 's/^version_required/dnl version_required/' configure.in
%build %build
########################################
# disable as-needed to fix build
########################################
export SUSE_ASNEEDED=0
########################################
# use rpm_opt_flags
########################################
export OPT="$RPM_OPT_FLAGS" export OPT="$RPM_OPT_FLAGS"
########################################
# regenerate
########################################
autoreconf -f -i . # Modules/_ctypes/libffi autoreconf -f -i . # Modules/_ctypes/libffi
# prevent make from trying to rebuild asdl stuff, which requires existing # prevent make from trying to rebuild asdl stuff, which requires existing
# python installation # python installation
touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h
# use just gcc instead of [GCC 4.5.0 20100604 [gcc-4_5-branch revision 160292]..
echo '#define PYTHON_COMPILER "[GCC]"' >> pyconfig.h.in
# use a compilation date equivalent to the source tarball.
printf '#define PY_BUILD_DATE "%s %s %s"\n' $(date -u -r %{SOURCE0} +"%b %d %Y") >> pyconfig.h.in
printf '#define PY_BUILD_TIME "%s"\n' $(date -u -r %{SOURCE0} +"%T") >> pyconfig.h.in
########################################
# configure
########################################
./configure \ ./configure \
--prefix=%{_prefix} \ --prefix=%{_prefix} \
--libdir=%{_libdir} \ --libdir=%{_libdir} \
@ -223,9 +204,7 @@ printf '#define PY_BUILD_TIME "%s"\n' $(date -u -r %{SOURCE0} +"%T") >> pyconfig
--with-fpectl \ --with-fpectl \
--enable-shared \ --enable-shared \
--enable-unicode=ucs4 --enable-unicode=ucs4
########################################
# compile
########################################
make %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT make %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT
%check %check
@ -314,7 +293,6 @@ 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/_socket.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/_struct.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/_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/array.so
rm $RPM_BUILD_ROOT%{_libdir}/python%{python_version}/lib-dynload/binascii.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/bz2.so

View File

@ -1,48 +0,0 @@
Index: Lib/smtpd.py
===================================================================
--- Lib/smtpd.py.orig
+++ Lib/smtpd.py
@@ -121,7 +121,16 @@ class SMTPChannel(asynchat.async_chat):
self.__rcpttos = []
self.__data = ''
self.__fqdn = socket.getfqdn()
- self.__peer = conn.getpeername()
+ try:
+ self.__peer = conn.getpeername()
+ except socket.error as err:
+ # a race condition may occur if the other end is closing
+ # before we can get the peername
+ #self.connected = False
+ self.close()
+ if err.args[0] != errno.ENOTCONN:
+ raise
+ return
print >> DEBUGSTREAM, 'Peer:', repr(self.__peer)
self.push('220 %s %s' % (self.__fqdn, __version__))
self.set_terminator('\r\n')
@@ -291,9 +300,24 @@ class SMTPServer(asyncore.dispatcher):
localaddr, remoteaddr)
def handle_accept(self):
- conn, addr = self.accept()
+ try:
+ conn, addr = self.accept()
+ except TypeError:
+ # sometimes accept() might return None
+ return
+ except socket.error as err:
+ # ECONNABORTED might be thrown
+ if err.args[0] != errno.ECONNABORTED:
+ raise
+ return
+ else:
+ # sometimes addr == None instead of (ip, port)
+ if addr == None:
+ return
print >> DEBUGSTREAM, 'Incoming connection from %s' % repr(addr)
channel = SMTPChannel(self, conn, addr)
+ if not channel.connected:
+ return
# API for "doing something useful with the message"
def process_message(self, peer, mailfrom, rcpttos, data):

View File

@ -1,27 +0,0 @@
Index: Lib/urllib2.py
===================================================================
--- Lib/urllib2.py (Revision 84196)
+++ Lib/urllib2.py (Arbeitskopie)
@@ -821,6 +821,9 @@
self.add_password = self.passwd.add_password
self.retried = 0
+ def reset_retry_count(self):
+ self.retried = 0
+
def http_error_auth_reqed(self, authreq, host, req, headers):
# host may be an authority (without userinfo) or a URL with an
# authority
@@ -860,8 +863,10 @@
def http_error_401(self, req, fp, code, msg, headers):
url = req.get_full_url()
- return self.http_error_auth_reqed('www-authenticate',
- url, req, headers)
+ response = self.http_error_auth_reqed('www-authenticate',
+ url, req, headers)
+ self.reset_retry_count()
+ return response
class ProxyBasicAuthHandler(AbstractBasicAuthHandler, BaseHandler):