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.run()
+ so_file = cmd.get_outputs()[0]
self.assert_(os.path.exists(so_file))
self.assertEquals(os.path.splitext(so_file)[-1],
self.assertTrue(os.path.exists(so_file))
self.assertEqual(os.path.splitext(so_file)[-1],
sysconfig.get_config_var('SO'))
so_dir = os.path.dirname(so_file)
- self.assertEquals(so_dir, other_tmp_dir)
+ self.assertEquals(so_dir, os.getcwd())
- self.assertEqual(so_dir, other_tmp_dir)
+ self.assertEqual(so_dir, os.getcwd())
cmd.compiler = None
cmd.inplace = 0
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/Include/pythonrun.h
--- Python-2.7.1.orig/Include/pythonrun.h
+++ Python-2.7.1/Include/pythonrun.h
@@ -108,6 +108,8 @@ PyAPI_FUNC(char *) Py_GetPath(void);
/* In their own files */
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_GetCompiler(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/Lib/distutils/command/install.py
--- Python-2.7.1.orig/Lib/distutils/command/install.py
+++ Python-2.7.1/Lib/distutils/command/install.py
@@ -22,6 +22,8 @@ from site import USER_BASE
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',
'scripts': '$base/bin',
'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/Lib/distutils/sysconfig.py
--- Python-2.7.1.orig/Lib/distutils/sysconfig.py
+++ Python-2.7.1/Lib/distutils/sysconfig.py
@@ -114,8 +114,11 @@ def get_python_lib(plat_specific=0, stan
prefix = plat_specific and EXEC_PREFIX or PREFIX
@ -51,10 +51,10 @@ Index: Python-2.7/Lib/distutils/sysconfig.py
if standard_lib:
return libpython
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/Lib/pydoc.py
--- Python-2.7.1.orig/Lib/pydoc.py
+++ Python-2.7.1/Lib/pydoc.py
@@ -349,7 +349,7 @@ class Doc:
docloc = os.environ.get("PYTHONDOCS",
@ -64,11 +64,11 @@ Index: Python-2.7/Lib/pydoc.py
"python"+sys.version[0:3])
if (isinstance(object, type(os)) and
(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/Lib/site.py
@@ -286,13 +286,18 @@ def getsitepackages():
--- Python-2.7.1.orig/Lib/site.py
+++ Python-2.7.1/Lib/site.py
@@ -290,13 +290,18 @@ def getsitepackages():
if sys.platform in ('os2emx', 'riscos'):
sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
elif os.sep == '/':
@ -90,10 +90,10 @@ Index: Python-2.7/Lib/site.py
if sys.platform == "darwin":
# for framework builds *only* we add the standard Apple
# 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/Lib/test/test_dl.py
--- Python-2.7.1.orig/Lib/test/test_dl.py
+++ Python-2.7.1/Lib/test/test_dl.py
@@ -5,10 +5,11 @@
import unittest
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/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/Lib/trace.py
@@ -757,10 +757,10 @@ def main(argv=None):
--- Python-2.7.1.orig/Lib/trace.py
+++ Python-2.7.1/Lib/trace.py
@@ -762,10 +762,10 @@ def main(argv=None):
# should I also call expanduser? (after all, could use $HOME)
s = s.replace("$prefix",
@ -125,10 +125,10 @@ Index: Python-2.7/Lib/trace.py
"python" + sys.version[:3]))
s = os.path.normpath(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/Makefile.pre.in
--- Python-2.7.1.orig/Makefile.pre.in
+++ Python-2.7.1/Makefile.pre.in
@@ -78,6 +78,8 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG
# Machine-dependent subdirectories
@ -155,10 +155,10 @@ Index: Python-2.7/Makefile.pre.in
Python/importdl.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/Modules/getpath.c
--- Python-2.7.1.orig/Modules/getpath.c
+++ Python-2.7.1/Modules/getpath.c
@@ -116,9 +116,11 @@
#define EXEC_PREFIX PREFIX
#endif
@ -182,10 +182,10 @@ Index: Python-2.7/Modules/getpath.c
static void
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/Python/getplatform.c
--- Python-2.7.1.orig/Python/getplatform.c
+++ Python-2.7.1/Python/getplatform.c
@@ -10,3 +10,23 @@ Py_GetPlatform(void)
{
return PLATFORM;
@ -210,10 +210,10 @@ Index: Python-2.7/Python/getplatform.c
+{
+ 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/Python/sysmodule.c
--- Python-2.7.1.orig/Python/sysmodule.c
+++ Python-2.7.1/Python/sysmodule.c
@@ -1470,6 +1470,10 @@ _PySys_Init(void)
PyString_FromString(Py_GetCopyright()));
SET_SYS_FROM_STRING("platform",
@ -225,10 +225,10 @@ Index: Python-2.7/Python/sysmodule.c
SET_SYS_FROM_STRING("executable",
PyString_FromString(Py_GetProgramFullPath()));
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/configure.in
--- Python-2.7.1.orig/configure.in
+++ Python-2.7.1/configure.in
@@ -636,6 +636,41 @@ SunOS*)
;;
esac
@ -271,10 +271,10 @@ Index: Python-2.7/configure.in
AC_SUBST(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/setup.py
--- Python-2.7.1.orig/setup.py
+++ Python-2.7.1/setup.py
@@ -347,7 +347,7 @@ class PyBuildExt(build_ext):
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 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
# be assumed that no additional -I,-L directives are needed.
lib_dirs = self.compiler.library_dirs + [
@ -294,7 +294,7 @@ Index: Python-2.7/setup.py
]
inc_dirs = self.compiler.include_dirs + ['/usr/include']
exts = []
@@ -643,11 +642,11 @@ class PyBuildExt(build_ext):
@@ -654,11 +653,11 @@ class PyBuildExt(build_ext):
elif curses_library:
readline_libs.append(curses_library)
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,
libraries=readline_libs) )
else:
@@ -1719,18 +1718,17 @@ class PyBuildExt(build_ext):
@@ -1730,18 +1729,17 @@ class PyBuildExt(build_ext):
# Check for various platform-specific directories
if platform == 'sunos5':
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 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/Lib/test/test_site.py
@@ -172,9 +172,14 @@ class HelperFunctionsTests(unittest.Test
self.assertTrue(len(dirs), 2)
--- Python-2.7.1.orig/Lib/test/test_site.py
+++ Python-2.7.1/Lib/test/test_site.py
@@ -169,12 +169,16 @@ class HelperFunctionsTests(unittest.Test
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],
'site-packages')
- self.assertEquals(dirs[0], wanted)
- self.assertEqual(dirs[0], wanted)
+ self.assertTrue(wanted in dirs)
wanted = os.path.join('xoxo', 'lib', 'site-python')
- self.assertEquals(dirs[1], wanted)
- self.assertEqual(dirs[1], wanted)
+ self.assertTrue(wanted in dirs)
+ wanted = os.path.join('xoxo', sys.lib, 'python' + sys.version[:3],
+ 'site-packages')
@ -350,12 +353,12 @@ Index: Python-2.7/Lib/test/test_site.py
+ wanted = os.path.join('xoxo', sys.lib, 'site-python')
+ self.assertTrue(wanted in dirs)
else:
self.assertTrue(len(dirs), 2)
self.assertEquals(dirs[0], 'xoxo')
Index: Python-2.7/Lib/sysconfig.py
self.assertEqual(len(dirs), 2)
self.assertEqual(dirs[0], 'xoxo')
Index: Python-2.7.1/Lib/sysconfig.py
===================================================================
--- Python-2.7.orig/Lib/sysconfig.py
+++ Python-2.7/Lib/sysconfig.py
--- Python-2.7.1.orig/Lib/sysconfig.py
+++ Python-2.7.1/Lib/sysconfig.py
@@ -7,10 +7,10 @@ from os.path import pardir, realpath
_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

View File

@ -29,8 +29,8 @@ Obsoletes: python-64bit
%endif
#
Summary: Python Interpreter base package
Version: 2.7
Release: 8
Version: 2.7.1
Release: 5
%define tarversion %{version}
%define tarname Python-%{tarversion}
Source0: %{tarname}.tar.bz2
@ -42,17 +42,14 @@ Source5: _local.pth
Patch1: python-2.7-dirs.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
Patch5: python-2.7rc2-configure.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
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
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
Patch15: python-2.7-fix-parallel-make.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -144,42 +141,26 @@ Authors:
%patch6
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10
%patch11
%patch12
%patch13
%patch13 -p1
%patch14 -p1
%patch15 -p1
# some cleanup
find . -name .cvsignore -type f -print0 | xargs -0 rm -f
find . -name CVS -type d -print0 | xargs -0 rm -rf
# drop Autoconf version requirement
sed -i 's/^version_required/dnl version_required/' configure.in
%build
########################################
# disable as-needed to fix build
########################################
export SUSE_ASNEEDED=0
########################################
# use rpm_opt_flags
########################################
export OPT="$RPM_OPT_FLAGS"
########################################
# regenerate
########################################
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
# python installation
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 \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
@ -189,9 +170,7 @@ printf '#define PY_BUILD_TIME "%s"\n' $(date -u -r %{SOURCE0} +"%T") >> pyconfig
--enable-ipv6 \
--enable-shared \
--enable-unicode=ucs4
########################################
# compile
########################################
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \
make %{?_smp_mflags} \
DESTDIR=$RPM_BUILD_ROOT \
@ -207,6 +186,8 @@ LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \
EXCLUDE="-x test_urllib2 -x test_file -x test_file2k"
# test_nis and test_threading are AWFULLY slow.
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
# 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"
@ -374,7 +355,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/python%{python_version}/lib-dynload/_socket.so
%{_libdir}/python%{python_version}/lib-dynload/_struct.so
%{_libdir}/python%{python_version}/lib-dynload/_testcapi.so
%{_libdir}/python%{python_version}/lib-dynload/_weakref.so
%{_libdir}/python%{python_version}/lib-dynload/array.so
%{_libdir}/python%{python_version}/lib-dynload/binascii.so
#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

View File

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

View File

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

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):