--- a/components/python/python27/Makefile Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/Makefile Thu May 22 14:36:47 2014 -0700
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
#
include ../../../make-rules/shared-macros.mk
@@ -26,12 +26,12 @@
PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
COMPONENT_NAME= Python
-COMPONENT_VERSION= 2.7.3
+COMPONENT_VERSION= 2.7.6
COMPONENT_PROJECT_URL= http://python.org/
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
+COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
COMPONENT_ARCHIVE_HASH= \
- sha256:726457e11cb153adc3f428aaf1901fc561a374c30e5e7da6742c0742a338663c
+ sha256:1fd68e81f8bf7386ff239b7faee9ba387129d2cf34eab13350bd8503a0bff6a1
COMPONENT_ARCHIVE_URL= $(COMPONENT_PROJECT_URL)ftp/python/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
COMPONENT_BUGDB= utility/python
--- a/components/python/python27/patches/00-bits.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/00-bits.patch Thu May 22 14:36:47 2014 -0700
@@ -1,8 +1,8 @@
#
# This patch makes the pyconfig.h header file 32/64 bit friendly.
#
---- Python-2.7.1/configure.in.orig Tue Jul 12 14:46:56 2011
-+++ Python-2.7.1/configure.in Tue Jul 12 14:47:05 2011
+--- Python-2.7.6/configure.ac.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/configure.ac 2014-05-14 11:47:47.888887846 -0700
@@ -5,7 +5,7 @@
# Set VERSION so we only need to edit in one place (i.e., here)
m4_define(PYTHON_VERSION, 2.7)
@@ -12,7 +12,7 @@
AC_REVISION($Revision$)
AC_INIT(python, PYTHON_VERSION, http://bugs.python.org/)
[email protected]@ -1906,12 +1941,6 @@
[email protected]@ -2086,12 +2086,6 @@
if test -z "$CCSHARED"
then
case $ac_sys_system/$ac_sys_release in
--- a/components/python/python27/patches/02-setup.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/02-setup.patch Thu May 22 14:36:47 2014 -0700
@@ -1,22 +1,24 @@
---- Python-2.7.1/setup.py.~1~ Sun Oct 31 11:40:21 2010
-+++ Python-2.7.1/setup.py Fri Jul 15 15:04:56 2011
[email protected]@ -369,8 +369,8 @@
+--- Python-2.7.6/setup.py.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/setup.py 2014-05-14 12:46:04.859407465 -0700
[email protected]@ -437,9 +437,9 @@
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.include_dirs, '/usr/local/include')
-+ #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+ #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+- if not cross_compiling:
+- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
++ # if not cross_compiling:
++ # add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
++ # add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ if cross_compiling:
+ self.add_gcc_paths()
self.add_multiarch_paths()
-
- # Add paths specified in the environment variables LDFLAGS and
[email protected]@ -657,6 +657,13 @@
[email protected]@ -761,6 +761,13 @@
['/usr/lib/termcap'],
'termcap'):
readline_libs.append('termcap')
+
-+ if platform == 'sunos5':
++ if host_platform == 'sunos5':
+ # insert '-zrecord' before the readline libraries that we
+ # want to link with to avoid rl_insert() elimination
+ readline_extra_link_args = ('-Wl,-zrecord','-lreadline','-lncurses')
@@ -25,30 +27,7 @@
exts.append( Extension('readline', ['readline.c'],
library_dirs=['/usr/lib/termcap'],
extra_link_args=readline_extra_link_args,
[email protected]@ -677,6 +684,7 @@
-
- # socket(2)
- exts.append( Extension('_socket', ['socketmodule.c'],
-+ libraries = ['socket', 'nsl'],
- depends = ['socketmodule.h']) )
- # Detect SSL support for the socket module (via _ssl)
- search_for_ssl_incs_in = [
[email protected]@ -1443,9 +1451,14 @@
- sysconfig.get_config_var('POSIX_SEMAPHORES_NOT_ENABLED')):
- multiprocessing_srcs.append('_multiprocessing/semaphore.c')
-
-+ multiproc_libs = []
-+ if platform == 'sunos5':
-+ multiproc_libs = [ "xnet" ]
-+
- if sysconfig.get_config_var('WITH_THREAD'):
- exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
- define_macros=macros.items(),
-+ libraries=multiproc_libs,
- include_dirs=["Modules/_multiprocessing"]))
- else:
- missing.append('_multiprocessing')
[email protected]@ -1896,7 +1909,8 @@
[email protected]@ -2075,7 +2082,8 @@
# this option. If you want to compile ctypes with the Sun
# compiler, please research a proper solution, instead of
# finding some -z option for the Sun compiler.
@@ -56,5 +35,5 @@
+ #extra_link_args.append('-mimpure-text')
+ pass
- elif sys.platform.startswith('hp-ux'):
+ elif host_platform.startswith('hp-ux'):
extra_link_args.append('-fPIC')
--- a/components/python/python27/patches/04-solaris-64-bit.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/04-solaris-64-bit.patch Thu May 22 14:36:47 2014 -0700
@@ -1,6 +1,6 @@
---- Python-2.7.1/Lib/distutils/command/build_ext.py.orig Fri Jul 15 15:32:28 2011
-+++ Python-2.7.1/Lib/distutils/command/build_ext.py Fri Jul 15 15:37:00 2011
[email protected]@ -637,6 +637,10 @@
+--- Python-2.7.6/Lib/distutils/command/build_ext.py.~1~ 2013-11-09 23:36:40.000000000 -0800
++++ Python-2.7.6/Lib/distutils/command/build_ext.py 2014-05-14 12:47:04.342901439 -0700
[email protected]@ -634,6 +634,10 @@
filename = self.get_ext_filename(ext_name)
filename = os.path.split(filename)[-1]
@@ -11,7 +11,7 @@
if not self.inplace:
# no further work needed
# returning :
[email protected]@ -677,7 +681,14 @@
[email protected]@ -674,7 +678,14 @@
so_ext = get_config_var('SO')
if os.name == 'nt' and self.debug:
return os.path.join(*ext_path) + '_d' + so_ext
@@ -27,9 +27,9 @@
def get_export_symbols (self, ext):
"""Return the list of symbols that a shared extension has to
---- Python-2.7.1/Python/import.c.orig Fri Jul 15 15:41:33 2011
-+++ Python-2.7.1/Python/import.c Fri Jul 15 15:46:55 2011
[email protected]@ -1197,6 +1197,57 @@
+--- Python-2.7.6/Python/import.c.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/Python/import.c 2014-05-14 12:53:34.233016586 -0700
[email protected]@ -1288,6 +1288,57 @@
static int find_init_module(char *); /* Forward */
static struct filedescr importhookdescr = {"", "", IMP_HOOK};
@@ -87,10 +87,10 @@
static struct filedescr *
find_module(char *fullname, char *subname, PyObject *path, char *buf,
size_t buflen, FILE **p_fp, PyObject **p_loader)
[email protected]@ -1214,11 +1265,10 @@
[email protected]@ -1302,11 +1353,10 @@
static struct filedescr fd_builtin = {"", "", C_BUILTIN};
static struct filedescr fd_package = {"", "", PKG_DIRECTORY};
- char name[MAXPATHLEN+1];
+ char *name;
-#if defined(PYOS_OS2)
size_t saved_len;
size_t saved_namelen;
@@ -100,15 +100,14 @@
if (p_loader != NULL)
*p_loader = NULL;
[email protected]@ -1437,7 +1487,6 @@
[email protected]@ -1513,15 +1563,17 @@
+ }
+ }
}
- #endif
- #endif
-#if defined(PYOS_OS2)
/* take a snapshot of the module spec for restoration
* after the 8 character DLL hackery
*/
[email protected]@ -1444,8 +1493,11 @@
saved_buf = strdup(buf);
saved_len = len;
saved_namelen = namelen;
@@ -121,7 +120,7 @@
#if defined(PYOS_OS2) && defined(HAVE_DYNAMIC_LOADING)
/* OS/2 limits DLLs to 8 character names (w/o
extension)
[email protected]@ -1486,14 +1538,13 @@
[email protected]@ -1562,21 +1614,20 @@
fp = NULL;
}
}
@@ -138,7 +137,6 @@
/* don't need/want the module name snapshot anymore */
if (saved_buf)
{
[email protected]@ -1500,7 +1551,7 @@
free(saved_buf);
saved_buf = NULL;
}
--- a/components/python/python27/patches/05-dtrace.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/05-dtrace.patch Thu May 22 14:36:47 2014 -0700
@@ -2,9 +2,9 @@
test_sys.py to add an integer to the frameobject structure size since this
patch adds "int f_calllineno" to the structure, so this test does not fail.
---- Python-2.7.1/Makefile.pre.in.~1~ Thu Oct 14 06:37:30 2010
-+++ Python-2.7.1/Makefile.pre.in Mon Jul 18 14:53:46 2011
[email protected]@ -198,6 +198,7 @@
+--- Python-2.7.6/Makefile.pre.in.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/Makefile.pre.in 2014-05-14 12:54:43.824219677 -0700
[email protected]@ -218,6 +218,7 @@
# Used of signalmodule.o is not available
SIGNAL_OBJS= @[email protected]
@@ -12,7 +12,7 @@
##########################################################################
# Grammar
[email protected]@ -298,6 +299,7 @@
[email protected]@ -341,6 +342,7 @@
Python/formatter_unicode.o \
Python/formatter_string.o \
Python/$(DYNLOADFILE) \
@@ -20,7 +20,7 @@
$(LIBOBJS) \
$(MACHDEP_OBJS) \
$(THREADOBJ)
[email protected]@ -599,6 +601,18 @@
[email protected]@ -664,6 +666,18 @@
Python/formatter_string.o: $(srcdir)/Python/formatter_string.c \
$(STRINGLIB_HEADERS)
@@ -39,8 +39,8 @@
############################################################################
# Header files
---- Python-2.7.1/Include/frameobject.h.~1~ Fri May 8 17:23:21 2009
-+++ Python-2.7.1/Include/frameobject.h Mon Jul 18 14:53:46 2011
+--- Python-2.7.6/Include/frameobject.h.~1~ 2013-11-09 23:36:39.000000000 -0800
++++ Python-2.7.6/Include/frameobject.h 2014-05-14 13:03:19.938777249 -0700
@@ -44,6 +44,7 @@
PyCode_Addr2Line to calculate the line from the current
bytecode index. */
@@ -49,10 +49,9 @@
int f_iblock; /* index in f_blockstack */
PyTryBlock f_blockstack[CO_MAXBLOCKS]; /* for try and loop blocks */
PyObject *f_localsplus[1]; /* locals+stack, dynamically sized */
-
---- Python-2.7.1/Objects/frameobject.c.~1~ Sun May 9 09:46:46 2010
-+++ Python-2.7.1/Objects/frameobject.c Mon Jul 18 15:03:52 2011
[email protected]@ -736,6 +736,7 @@
+--- Python-2.7.6/Objects/frameobject.c.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/Objects/frameobject.c 2014-05-14 12:56:06.970076859 -0700
[email protected]@ -738,6 +738,7 @@
f->f_tstate = tstate;
f->f_lasti = -1;
@@ -60,8 +59,8 @@
f->f_lineno = code->co_firstlineno;
f->f_iblock = 0;
---- Python-2.7.1/Python/ceval.c.~1~ Fri Sep 24 22:27:12 2010
-+++ Python-2.7.1/Python/ceval.c Mon Jul 18 15:15:35 2011
+--- Python-2.7.6/Python/ceval.c.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/Python/ceval.c 2014-05-14 13:04:01.334853206 -0700
@@ -19,6 +19,11 @@
#include <ctype.h>
@@ -74,7 +73,7 @@
#ifndef WITH_TSC
#define READ_TIMESTAMP(var)
[email protected]@ -671,7 +676,56 @@
[email protected]@ -672,6 +677,55 @@
NULL);
}
@@ -89,7 +88,7 @@
+ filename = PyString_AsString(f->f_code->co_filename);
+ fname = PyString_AsString(f->f_code->co_name);
+ lineno = PyCode_Addr2Line(f->f_code, f->f_lasti);
-
++
+ PYTHON_FUNCTION_ENTRY((char *)filename, (char *)fname, lineno);
+
+ /*
@@ -127,11 +126,10 @@
+#define dtrace_entry()
+#define dtrace_return()
+#endif
-+
+
/* Interpreter main loop */
- PyObject *
[email protected]@ -682,9 +736,84 @@
[email protected]@ -683,9 +737,84 @@
return PyEval_EvalFrameEx(f, 0);
}
@@ -165,9 +163,9 @@
+
+
+
- PyObject *
- PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
- {
++PyObject *
++PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
++{
+ volatile PyObject *f2;
+ f2 = PyEval_EvalFrameExReal(0, 0, 0, 0, 0, 0, f, throwflag);
+ return (PyObject *)f2;
@@ -199,9 +197,9 @@
+
+#else /* __amd64 || __sparc */
+
-+PyObject *
-+PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
-+{
+ PyObject *
+ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
+ {
+
+#endif /* __amd64 || __sparc */
+
@@ -216,7 +214,7 @@
#ifdef DXPAIRS
int lastopcode = 0;
#endif
[email protected]@ -909,6 +1038,11 @@
[email protected]@ -910,6 +1039,11 @@
}
}
@@ -228,7 +226,7 @@
co = f->f_code;
names = co->co_names;
consts = co->co_consts;
[email protected]@ -2659,6 +2793,9 @@
[email protected]@ -2660,6 +2794,9 @@
PyObject **sp;
PCALL(PCALL_ALL);
sp = stack_pointer;
@@ -238,7 +236,7 @@
#ifdef WITH_TSC
x = call_function(&sp, oparg, &intr0, &intr1);
#else
[email protected]@ -2700,6 +2837,9 @@
[email protected]@ -2701,6 +2838,9 @@
} else
Py_INCREF(func);
sp = stack_pointer;
@@ -248,7 +246,7 @@
READ_TIMESTAMP(intr0);
x = ext_do_call(func, &sp, flags, na, nk);
READ_TIMESTAMP(intr1);
[email protected]@ -3000,6 +3140,10 @@
[email protected]@ -3001,6 +3141,10 @@
/* pop frame */
exit_eval_frame:
@@ -259,8 +257,6 @@
Py_LeaveRecursiveCall();
tstate->frame = f->f_back;
-diff --git Python-2.6.4/Python/phelper.d Python-2.6.4/Python/phelper.d
-new file mode 100644
--- /dev/null
+++ Python-2.6.4/Python/phelper.d
@@ -0,0 +1,139 @@
@@ -418,14 +414,14 @@
+#pragma D attributes Private/Private/Common provider python function
+#pragma D attributes Evolving/Evolving/Common provider python name
+#pragma D attributes Evolving/Evolving/Common provider python args
---- Python-2.7.3/Lib/test/test_sys.py-orig 2012-12-13 06:50:00.472682534 -0800
-+++ Python-2.7.3/Lib/test/test_sys.py 2012-12-13 06:50:20.099858756 -0800
[email protected]@ -645,7 +645,7 @@ class SizeofTest(unittest.TestCase):
+--- Python-2.7.6/Lib/test/test_sys.py.~1~ 2013-11-09 23:36:40.000000000 -0800
++++ Python-2.7.6/Lib/test/test_sys.py 2014-05-14 13:07:05.332748121 -0700
[email protected]@ -612,7 +612,7 @@
nfrees = len(x.f_code.co_freevars)
extras = x.f_code.co_stacksize + x.f_code.co_nlocals +\
ncells + nfrees - 1
-- check(x, size(vh + '12P3i' + CO_MAXBLOCKS*'3i' + 'P' + extras*'P'))
-+ check(x, size(vh + '12P4i' + CO_MAXBLOCKS*'3i' + 'P' + extras*'P'))
+- check(x, vsize('12P3i' + CO_MAXBLOCKS*'3i' + 'P' + extras*'P'))
++ check(x, vsize('12P4i' + CO_MAXBLOCKS*'3i' + 'P' + extras*'P'))
# function
def func(): pass
- check(func, size(h + '9P'))
+ check(func, size('9P'))
--- a/components/python/python27/patches/06-ucred.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/06-ucred.patch Thu May 22 14:36:47 2014 -0700
@@ -395,10 +395,9 @@
+
+ PyModule_AddObject(m, "ucred", (PyObject *)&pyucred_type);
+}
-diff --git Python-2.6.4/setup.py Python-2.6.4/setup.py
---- Python-2.6.4/setup.py
-+++ Python-2.6.4/setup.py
[email protected]@ -1277,6 +1277,13 @@
+--- Python-2.7.6/setup.py.~2~ 2014-05-14 13:07:52.803164982 -0700
++++ Python-2.7.6/setup.py 2014-05-14 13:07:52.917214713 -0700
[email protected]@ -1536,6 +1536,13 @@
else:
missing.append('dl')
@@ -412,8 +411,6 @@
# Thomas Heller's _ctypes module
self.detect_ctypes(inc_dirs, lib_dirs)
-diff --git Python-2.6.4/Lib/test/ucredtest.py Python-2.6.4/Lib/test/ucredtest.py
-new file mode 100644
--- /dev/null 2011-02-12 03:14:16.000000000 -0600
+++ Python-2.6.4/Lib/test/ucredtest.py 2011-01-20 13:52:42.945657919 -0600
@@ -0,0 +1,45 @@
--- a/components/python/python27/patches/07-dlpi.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/07-dlpi.patch Thu May 22 14:36:47 2014 -0700
@@ -1210,10 +1210,9 @@
+ PyModule_AddIntConstant(mod, "IDLE", DL_IDLE);
+ PyModule_AddIntConstant(mod, "SYSERR", DL_SYSERR);
+}
-diff --git Python-2.6.4/setup.py Python-2.6.4/setup.py
---- Python-2.6.4/setup.py
-+++ Python-2.6.4/setup.py
[email protected]@ -1284,6 +1284,12 @@
+--- Python-2.7.6/setup.py.~3~ 2014-05-14 13:10:30.979598710 -0700
++++ Python-2.7.6/setup.py 2014-05-14 13:10:31.006864446 -0700
[email protected]@ -1543,6 +1543,12 @@
exts.append( Extension('ucred', ['ucred.c'],
libraries = ['tsol']) )
@@ -1226,8 +1225,6 @@
# Thomas Heller's _ctypes module
self.detect_ctypes(inc_dirs, lib_dirs)
-diff --git Python-2.6.4/lib/test/dlpitest.py Python-2.6.4/Lib/test/dlpitest.py
-new file mode 100644
--- /dev/null 2011-02-12 03:13:26.000000000 -0600
+++ Python-2.6.4/Lib/test/dlpitest.py 2011-01-20 13:52:42.895865414 -0600
@@ -0,0 +1,96 @@
--- a/components/python/python27/patches/08-encoding-alias.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/08-encoding-alias.patch Thu May 22 14:36:47 2014 -0700
@@ -1,6 +1,5 @@
-diff --git Python-2.6.4/Lib/encodings/aliases.py Python-2.6.4/Lib/encodings/aliases.py
---- Python-2.6.4/Lib/encodings/aliases.py
-+++ Python-2.6.4/Lib/encodings/aliases.py
+--- Python-2.7.6/Lib/encodings/aliases.py.~1~ 2013-11-09 23:36:40.000000000 -0800
++++ Python-2.7.6/Lib/encodings/aliases.py 2014-05-14 13:12:20.046910463 -0700
@@ -73,6 +73,7 @@
# cp1251 codec
@@ -9,7 +8,7 @@
'windows_1251' : 'cp1251',
# cp1252 codec
[email protected]@ -217,6 +218,7 @@
[email protected]@ -222,6 +223,7 @@
'u_jis' : 'euc_jp',
# euc_kr codec
@@ -17,7 +16,7 @@
'euckr' : 'euc_kr',
'korean' : 'euc_kr',
'ksc5601' : 'euc_kr',
[email protected]@ -457,6 +459,7 @@
[email protected]@ -462,6 +464,7 @@
'shiftjis' : 'shift_jis',
'sjis' : 'shift_jis',
's_jis' : 'shift_jis',
@@ -25,7 +24,7 @@
# shift_jis_2004 codec
'shiftjis2004' : 'shift_jis_2004',
[email protected]@ -476,6 +479,7 @@
[email protected]@ -481,6 +484,7 @@
'tis_620_0' : 'tis_620',
'tis_620_2529_0' : 'tis_620',
'tis_620_2529_1' : 'tis_620',
--- a/components/python/python27/patches/09-rbac.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/09-rbac.patch Thu May 22 14:36:47 2014 -0700
@@ -1254,10 +1254,9 @@
+ 0, /* tp_alloc */
+ Userattr_new, /* tp_new */
+};
-diff --git Python-2.6.4/setup.py Python-2.6.4/setup.py
---- Python-2.6.4/setup.py
-+++ Python-2.6.4/setup.py
[email protected]@ -1290,6 +1290,22 @@
+--- Python-2.7.6/setup.py.~4~ 2014-05-14 13:16:33.749494047 -0700
++++ Python-2.7.6/setup.py 2014-05-14 13:16:33.803607449 -0700
[email protected]@ -1549,6 +1549,22 @@
exts.append( Extension('dlpi', ['dlpimodule.c'],
libraries = ['dlpi']) )
@@ -1280,8 +1279,6 @@
# Thomas Heller's _ctypes module
self.detect_ctypes(inc_dirs, lib_dirs)
-diff --git Python-2.6.4/Lib/test/privrbactest.py Python-2.6.4/Lib/test/privrbactest.py
-new file mode 100644
--- /dev/null 2011-02-12 03:13:57.000000000 -0600
+++ Python-2.6.4/Lib/test/privrbactest.py 2011-01-20 13:52:42.862305331 -0600
@@ -0,0 +1,289 @@
--- a/components/python/python27/patches/10-cflags.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/10-cflags.patch Thu May 22 14:36:47 2014 -0700
@@ -1,6 +1,6 @@
---- Python-2.6.4/configure.in.orig Fri Nov 4 12:03:26 2011
-+++ Python-2.6.4/configure.in Fri Nov 4 12:04:05 2011
[email protected]@ -919,7 +919,7 @@
+--- Python-2.7.6/configure.ac.~2~ 2014-05-14 13:20:24.767295632 -0700
++++ Python-2.7.6/configure.ac 2014-05-14 13:20:25.052695991 -0700
[email protected]@ -1083,7 +1083,7 @@
;;
*)
@@ -8,13 +8,4 @@
+ OPT=""
;;
esac
-
[email protected]@ -1110,6 +1110,8 @@
- # environment?
- Darwin*)
- ;;
-+ SunOS*)
-+ ;;
- *)
- BASECFLAGS="$BASECFLAGS -OPT:Olimit=0"
- ;;
+ fi
--- a/components/python/python27/patches/10-closerange.patch Tue May 20 21:56:15 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
---- Python-2.7.1/Modules/posixmodule.c Fri Nov 26 09:35:50 2010
-+++ Python-2.7.1/Modules/posixmodule.c Fri Nov 4 09:41:24 2011
[email protected]@ -6442,16 +6442,34 @@
- "closerange(fd_low, fd_high)\n\n\
- Closes all file descriptors in [fd_low, fd_high), ignoring errors.");
-
-+static int
-+close_func(void *lohi, int fd)
-+{
-+ int lo = ((int *)lohi)[0];
-+ int hi = ((int *)lohi)[1];
-+
-+ if (fd >= hi)
-+ return (1);
-+ else if (fd >= lo)
-+ close(fd);
-+
-+ return (0);
-+}
-+
- static PyObject *
- posix_closerange(PyObject *self, PyObject *args)
- {
- int fd_from, fd_to, i;
-+ int lohi[2];
-+
- if (!PyArg_ParseTuple(args, "ii:closerange", &fd_from, &fd_to))
- return NULL;
- Py_BEGIN_ALLOW_THREADS
-- for (i = fd_from; i < fd_to; i++)
-- if (_PyVerify_fd(i))
-- close(i);
-+
-+ lohi[0] = fd_from;
-+ lohi[1] = fd_to;
-+ fdwalk(close_func, lohi);
-+
- Py_END_ALLOW_THREADS
- Py_RETURN_NONE;
- }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python27/patches/11-closerange.patch Thu May 22 14:36:47 2014 -0700
@@ -0,0 +1,40 @@
+--- Python-2.7.6/Modules/posixmodule.c.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/Modules/posixmodule.c 2014-05-14 13:22:52.461187524 -0700
[email protected]@ -6603,16 +6603,34 @@
+ "closerange(fd_low, fd_high)\n\n\
+ Closes all file descriptors in [fd_low, fd_high), ignoring errors.");
+
++static int
++close_func(void *lohi, int fd)
++{
++ int lo = ((int *)lohi)[0];
++ int hi = ((int *)lohi)[1];
++
++ if (fd >= hi)
++ return (1);
++ else if (fd >= lo)
++ close(fd);
++
++ return (0);
++}
++
+ static PyObject *
+ posix_closerange(PyObject *self, PyObject *args)
+ {
+ int fd_from, fd_to, i;
++ int lohi[2];
++
+ if (!PyArg_ParseTuple(args, "ii:closerange", &fd_from, &fd_to))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS
+- for (i = fd_from; i < fd_to; i++)
+- if (_PyVerify_fd(i))
+- close(i);
++
++ lohi[0] = fd_from;
++ lohi[1] = fd_to;
++ fdwalk(close_func, lohi);
++
+ Py_END_ALLOW_THREADS
+ Py_RETURN_NONE;
+ }
--- a/components/python/python27/patches/12-studio-profile.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/12-studio-profile.patch Thu May 22 14:36:47 2014 -0700
@@ -3,9 +3,9 @@
is a workaround for build peculiarities and to meet Studio's requirement
that the profiling options be used at all steps of the build -- not just
compilation.
---- Python-2.6.4/Makefile.pre.in.orig Thu Nov 3 15:14:03 2011
-+++ Python-2.6.4/Makefile.pre.in Thu Nov 3 15:14:11 2011
[email protected]@ -360,9 +360,9 @@
+--- Python-2.7.6/Makefile.pre.in.~2~ 2014-05-14 13:29:26.322546831 -0700
++++ Python-2.7.6/Makefile.pre.in 2014-05-14 13:32:23.601766216 -0700
[email protected]@ -413,28 +413,37 @@
profile-opt:
@echo "Building with support for profile generation:"
$(MAKE) clean
@@ -16,7 +16,6 @@
$(MAKE) run_profile_task
@echo "Rebuilding with profile guided optimizations:"
$(MAKE) clean
[email protected]@ -369,18 +369,27 @@
$(MAKE) build_all_use_profile
build_all_generate_profile:
@@ -27,6 +26,7 @@
+ BLDSHARED="$(BLDSHARED) -xprofile=collect:$(XPROFILE_DIR)"
run_profile_task:
+ : # FIXME: can't run for a cross build
- ./$(BUILDPYTHON) $(PROFILE_TASK)
+ LD_LIBRARY_PATH=. ./$(BUILDPYTHON) $(PROFILE_TASK)
@@ -48,19 +48,7 @@
# Build the interpreter
[email protected]@ -395,10 +404,7 @@
-
- # 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;; \
-- esac
-+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build
-
- # Build static library
- # avoid long command lines, same as LIBRARY_OBJS
[email protected]@ -1173,7 +1179,7 @@
[email protected]@ -1293,7 +1302,7 @@
-rm -f Lib/lib2to3/*Grammar*.pickle
profile-removal:
--- a/components/python/python27/patches/13-pic-compile.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/13-pic-compile.patch Thu May 22 14:36:47 2014 -0700
@@ -1,8 +1,8 @@
---- Python-2.7.1/Lib/distutils/sysconfig.py.orig 2012-03-26 09:24:18.614278009 -0700
-+++ Python-2.7.1/Lib/distutils/sysconfig.py 2012-03-27 09:58:03.446132438 -0700
[email protected]@ -173,6 +173,15 @@
- cflags = cflags + ' ' + os.environ['CPPFLAGS']
- ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
+--- Python-2.7.6/Lib/distutils/sysconfig.py.~1~ 2013-11-09 23:36:40.000000000 -0800
++++ Python-2.7.6/Lib/distutils/sysconfig.py 2014-05-14 13:33:21.453593946 -0700
[email protected]@ -208,6 +208,15 @@
+ else:
+ archiver = ar + ' ' + ar_flags
+ # Force PIC compilation. Determine if GNU compiler or otherwise
+ # and set the PIC flag(s) accordingly. Defaults to Studio compiler.
--- a/components/python/python27/patches/14-py_db.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/14-py_db.patch Thu May 22 14:36:47 2014 -0700
@@ -1,7 +1,6 @@
-diff --git Python-2.7.1/Makefile.pre.in.orig Python-2.7.1/Makefile.pre.in
---- Python-2.7.1/Makefile.pre.in.orig Sun Feb 13 19:37:16 2011
-+++ Python-2.7.1/Makefile.pre.in Sun Feb 13 20:55:04 2011
[email protected]@ -364,7 +364,7 @@
+--- Python-2.7.6/Makefile.pre.in.~3~ 2014-05-14 13:34:20.432313485 -0700
++++ Python-2.7.6/Makefile.pre.in 2014-05-14 13:34:20.480920940 -0700
[email protected]@ -407,7 +407,7 @@
# Default target
all: build_all
@@ -10,7 +9,7 @@
# Compile a binary with gcc profile guided optimization.
profile-opt:
[email protected]@ -709,6 +709,19 @@
[email protected]@ -777,6 +777,19 @@
$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
@@ -30,7 +29,7 @@
######################################################################
[email protected]@ -773,7 +786,7 @@
[email protected]@ -841,7 +854,7 @@
$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
# Install everything
@@ -38,10 +37,7 @@
+install: @[email protected] altinstall bininstall maninstall @[email protected] install-py_db
# Install almost everything without disturbing previous versions
- altinstall: @[email protected] altbininstall libinstall inclinstall libainstall \
-
-diff --git Python-2.7.1/py_db/check_offsets.c Python-2.7.1/py_db/check_offsets.c
-new file mode 100644
+ altinstall: @[email protected] altbininstall libinstall inclinstall \
--- /dev/null
+++ Python-2.7.1/py_db/check_offsets.c
@@ -0,0 +1,87 @@
--- a/components/python/python27/patches/15-get_wch.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/15-get_wch.patch Thu May 22 14:36:47 2014 -0700
@@ -1,5 +1,5 @@
---- Python-2.7.3/Modules/_cursesmodule.c.orig 2012-09-27 10:17:54.934886883 -0700
-+++ Python-2.7.3/Modules/_cursesmodule.c 2012-09-27 10:21:19.861160806 -0700
+--- Python-2.7.6/Modules/_cursesmodule.c.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/Modules/_cursesmodule.c 2014-05-14 13:36:59.388642793 -0700
@@ -861,6 +861,37 @@
}
@@ -38,7 +38,7 @@
PyCursesWindow_GetKey(PyCursesWindowObject *self, PyObject *args)
{
int x, y;
[email protected]@ -1570,6 +1601,7 @@
[email protected]@ -1572,6 +1603,7 @@
{"getbegyx", (PyCFunction)PyCursesWindow_getbegyx, METH_NOARGS},
{"getbkgd", (PyCFunction)PyCursesWindow_GetBkgd, METH_NOARGS},
{"getch", (PyCFunction)PyCursesWindow_GetCh, METH_VARARGS},
--- a/components/python/python27/patches/16-ossaudiodev.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/16-ossaudiodev.patch Thu May 22 14:36:47 2014 -0700
@@ -46,14 +46,16 @@
_EXPORT_INT(m, SNDCTL_TMR_TIMEBASE);
+#endif
}
---- Python-2.7.3/setup.py-orig 2012-12-20 12:26:17.244961277 -0600
-+++ Python-2.7.3/setup.py 2012-12-20 12:27:23.938119947 -0600
[email protected]@ -1509,7 +1509,7 @@ class PyBuildExt(build_ext):
+--- Python-2.7.6/setup.py.~5~ 2014-05-14 13:37:59.287142508 -0700
++++ Python-2.7.6/setup.py 2014-05-14 13:40:01.472280298 -0700
[email protected]@ -1632,8 +1632,8 @@
else:
missing.append('linuxaudiodev')
-- if (platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
-+ if (platform in ('sunos5', 'linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8')
- or platform.startswith("gnukfreebsd")):
+- if (host_platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
+- 'freebsd7', 'freebsd8')
++ if (host_platform in ('sunos5', 'linux2', 'freebsd4', 'freebsd5',
++ 'freebsd6', 'freebsd7', 'freebsd8')
+ or host_platform.startswith("gnukfreebsd")):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
+ else:
--- a/components/python/python27/patches/17-CVE-2013-4238.py27.patch Tue May 20 21:56:15 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-# CVE-2013-4238
-# http://bugs.python.org/issue18709
-#
-diff -r 9ddc63c039ba Lib/test/nullbytecert.pem
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/Lib/test/nullbytecert.pem Sun Aug 11 18:13:17 2013 +0200
[email protected]@ -0,0 +1,90 @@
-+Certificate:
-+ Data:
-+ Version: 3 (0x2)
-+ Serial Number: 0 (0x0)
-+ Signature Algorithm: sha1WithRSAEncryption
-+ Issuer: C=US, ST=Oregon, L=Beaverton, O=Python Software Foundation, OU=Python Core Development, CN=null.python.org\x00example.org/[email protected]
-+ Validity
-+ Not Before: Aug 7 13:11:52 2013 GMT
-+ Not After : Aug 7 13:12:52 2013 GMT
-+ Subject: C=US, ST=Oregon, L=Beaverton, O=Python Software Foundation, OU=Python Core Development, CN=null.python.org\x00example.org/[email protected]
-+ Subject Public Key Info:
-+ Public Key Algorithm: rsaEncryption
-+ Public-Key: (2048 bit)
-+ Modulus:
-+ 00:b5:ea:ed:c9:fb:46:7d:6f:3b:76:80:dd:3a:f3:
-+ 03:94:0b:a7:a6:db:ec:1d:df:ff:23:74:08:9d:97:
-+ 16:3f:a3:a4:7b:3e:1b:0e:96:59:25:03:a7:26:e2:
-+ 88:a9:cf:79:cd:f7:04:56:b0:ab:79:32:6e:59:c1:
-+ 32:30:54:eb:58:a8:cb:91:f0:42:a5:64:27:cb:d4:
-+ 56:31:88:52:ad:cf:bd:7f:f0:06:64:1f:cc:27:b8:
-+ a3:8b:8c:f3:d8:29:1f:25:0b:f5:46:06:1b:ca:02:
-+ 45:ad:7b:76:0a:9c:bf:bb:b9:ae:0d:16:ab:60:75:
-+ ae:06:3e:9c:7c:31:dc:92:2f:29:1a:e0:4b:0c:91:
-+ 90:6c:e9:37:c5:90:d7:2a:d7:97:15:a3:80:8f:5d:
-+ 7b:49:8f:54:30:d4:97:2c:1c:5b:37:b5:ab:69:30:
-+ 68:43:d3:33:78:4b:02:60:f5:3c:44:80:a1:8f:e7:
-+ f0:0f:d1:5e:87:9e:46:cf:62:fc:f9:bf:0c:65:12:
-+ f1:93:c8:35:79:3f:c8:ec:ec:47:f5:ef:be:44:d5:
-+ ae:82:1e:2d:9a:9f:98:5a:67:65:e1:74:70:7c:cb:
-+ d3:c2:ce:0e:45:49:27:dc:e3:2d:d4:fb:48:0e:2f:
-+ 9e:77:b8:14:46:c0:c4:36:ca:02:ae:6a:91:8c:da:
-+ 2f:85
-+ Exponent: 65537 (0x10001)
-+ X509v3 extensions:
-+ X509v3 Basic Constraints: critical
-+ CA:FALSE
-+ X509v3 Subject Key Identifier:
-+ 88:5A:55:C0:52:FF:61:CD:52:A3:35:0F:EA:5A:9C:24:38:22:F7:5C
-+ X509v3 Key Usage:
-+ Digital Signature, Non Repudiation, Key Encipherment
-+ X509v3 Subject Alternative Name:
-+ *************************************************************
-+ WARNING: The values for DNS, email and URI are WRONG. OpenSSL
-+ doesn't print the text after a NULL byte.
-+ *************************************************************
-+ DNS:altnull.python.org, email:[email protected], URI:http://null.python.org, IP Address:192.0.2.1, IP Address:2001:DB8:0:0:0:0:0:1
-+ Signature Algorithm: sha1WithRSAEncryption
-+ ac:4f:45:ef:7d:49:a8:21:70:8e:88:59:3e:d4:36:42:70:f5:
-+ a3:bd:8b:d7:a8:d0:58:f6:31:4a:b1:a4:a6:dd:6f:d9:e8:44:
-+ 3c:b6:0a:71:d6:7f:b1:08:61:9d:60:ce:75:cf:77:0c:d2:37:
-+ 86:02:8d:5e:5d:f9:0f:71:b4:16:a8:c1:3d:23:1c:f1:11:b3:
-+ 56:6e:ca:d0:8d:34:94:e6:87:2a:99:f2:ae:ae:cc:c2:e8:86:
-+ de:08:a8:7f:c5:05:fa:6f:81:a7:82:e6:d0:53:9d:34:f4:ac:
-+ 3e:40:fe:89:57:7a:29:a4:91:7e:0b:c6:51:31:e5:10:2f:a4:
-+ 60:76:cd:95:51:1a:be:8b:a1:b0:fd:ad:52:bd:d7:1b:87:60:
-+ d2:31:c7:17:c4:18:4f:2d:08:25:a3:a7:4f:b7:92:ca:e2:f5:
-+ 25:f1:54:75:81:9d:b3:3d:61:a2:f7:da:ed:e1:c6:6f:2c:60:
-+ 1f:d8:6f:c5:92:05:ab:c9:09:62:49:a9:14:ad:55:11:cc:d6:
-+ 4a:19:94:99:97:37:1d:81:5f:8b:cf:a3:a8:96:44:51:08:3d:
-+ 0b:05:65:12:eb:b6:70:80:88:48:72:4f:c6:c2:da:cf:cd:8e:
-+ 5b:ba:97:2f:60:b4:96:56:49:5e:3a:43:76:63:04:be:2a:f6:
-+ c1:ca:a9:94
-+-----BEGIN CERTIFICATE-----
-+MIIE2DCCA8CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBxTELMAkGA1UEBhMCVVMx
-+DzANBgNVBAgMBk9yZWdvbjESMBAGA1UEBwwJQmVhdmVydG9uMSMwIQYDVQQKDBpQ
-+eXRob24gU29mdHdhcmUgRm91bmRhdGlvbjEgMB4GA1UECwwXUHl0aG9uIENvcmUg
-+RGV2ZWxvcG1lbnQxJDAiBgNVBAMMG251bGwucHl0aG9uLm9yZwBleGFtcGxlLm9y
-+ZzEkMCIGCSqGSIb3DQEJARYVcHl0aG9uLWRldkBweXRob24ub3JnMB4XDTEzMDgw
-+NzEzMTE1MloXDTEzMDgwNzEzMTI1MlowgcUxCzAJBgNVBAYTAlVTMQ8wDQYDVQQI
-+DAZPcmVnb24xEjAQBgNVBAcMCUJlYXZlcnRvbjEjMCEGA1UECgwaUHl0aG9uIFNv
-+ZnR3YXJlIEZvdW5kYXRpb24xIDAeBgNVBAsMF1B5dGhvbiBDb3JlIERldmVsb3Bt
-+ZW50MSQwIgYDVQQDDBtudWxsLnB5dGhvbi5vcmcAZXhhbXBsZS5vcmcxJDAiBgkq
-+hkiG9w0BCQEWFXB5dGhvbi1kZXZAcHl0aG9uLm9yZzCCASIwDQYJKoZIhvcNAQEB
-+BQADggEPADCCAQoCggEBALXq7cn7Rn1vO3aA3TrzA5QLp6bb7B3f/yN0CJ2XFj+j
-+pHs+Gw6WWSUDpybiiKnPec33BFawq3kyblnBMjBU61ioy5HwQqVkJ8vUVjGIUq3P
-+vX/wBmQfzCe4o4uM89gpHyUL9UYGG8oCRa17dgqcv7u5rg0Wq2B1rgY+nHwx3JIv
-+KRrgSwyRkGzpN8WQ1yrXlxWjgI9de0mPVDDUlywcWze1q2kwaEPTM3hLAmD1PESA
-+oY/n8A/RXoeeRs9i/Pm/DGUS8ZPINXk/yOzsR/XvvkTVroIeLZqfmFpnZeF0cHzL
-+08LODkVJJ9zjLdT7SA4vnne4FEbAxDbKAq5qkYzaL4UCAwEAAaOB0DCBzTAMBgNV
-+HRMBAf8EAjAAMB0GA1UdDgQWBBSIWlXAUv9hzVKjNQ/qWpwkOCL3XDALBgNVHQ8E
-+BAMCBeAwgZAGA1UdEQSBiDCBhYIeYWx0bnVsbC5weXRob24ub3JnAGV4YW1wbGUu
-+Y29tgSBudWxsQHB5dGhvbi5vcmcAdXNlckBleGFtcGxlLm9yZ4YpaHR0cDovL251
-+bGwucHl0aG9uLm9yZwBodHRwOi8vZXhhbXBsZS5vcmeHBMAAAgGHECABDbgAAAAA
-+AAAAAAAAAAEwDQYJKoZIhvcNAQEFBQADggEBAKxPRe99SaghcI6IWT7UNkJw9aO9
-+i9eo0Fj2MUqxpKbdb9noRDy2CnHWf7EIYZ1gznXPdwzSN4YCjV5d+Q9xtBaowT0j
-+HPERs1ZuytCNNJTmhyqZ8q6uzMLoht4IqH/FBfpvgaeC5tBTnTT0rD5A/olXeimk
-+kX4LxlEx5RAvpGB2zZVRGr6LobD9rVK91xuHYNIxxxfEGE8tCCWjp0+3ksri9SXx
-+VHWBnbM9YaL32u3hxm8sYB/Yb8WSBavJCWJJqRStVRHM1koZlJmXNx2BX4vPo6iW
-+RFEIPQsFZRLrtnCAiEhyT8bC2s/Njlu6ly9gtJZWSV46Q3ZjBL4q9sHKqZQ=
-+-----END CERTIFICATE-----
-diff -r 9ddc63c039ba Lib/test/test_ssl.py
---- a/Lib/test/test_ssl.py Sun Aug 11 13:04:50 2013 +0300
-+++ b/Lib/test/test_ssl.py Sun Aug 11 18:13:17 2013 +0200
[email protected]@ -25,6 +25,7 @@
- HOST = test_support.HOST
- CERTFILE = None
- SVN_PYTHON_ORG_ROOT_CERT = None
-+NULLBYTECERT = None
-
- def handle_error(prefix):
- exc_format = ' '.join(traceback.format_exception(*sys.exc_info()))
[email protected]@ -123,6 +124,27 @@
- ('DNS', 'projects.forum.nokia.com'))
- )
-
-+ def test_parse_cert_CVE_2013_4073(self):
-+ p = ssl._ssl._test_decode_cert(NULLBYTECERT)
-+ if test_support.verbose:
-+ sys.stdout.write("\n" + pprint.pformat(p) + "\n")
-+ subject = ((('countryName', 'US'),),
-+ (('stateOrProvinceName', 'Oregon'),),
-+ (('localityName', 'Beaverton'),),
-+ (('organizationName', 'Python Software Foundation'),),
-+ (('organizationalUnitName', 'Python Core Development'),),
-+ (('commonName', 'null.python.org\x00example.org'),),
-+ (('emailAddress', '[email protected]'),))
-+ self.assertEqual(p['subject'], subject)
-+ self.assertEqual(p['issuer'], subject)
-+ self.assertEqual(p['subjectAltName'],
-+ (('DNS', 'altnull.python.org\x00example.com'),
-+ ('email', '[email protected]\[email protected]'),
-+ ('URI', 'http://null.python.org\x00http://example.org'),
-+ ('IP Address', '192.0.2.1'),
-+ ('IP Address', '2001:DB8:0:0:0:0:0:1\n'))
-+ )
-+
- def test_DER_to_PEM(self):
- with open(SVN_PYTHON_ORG_ROOT_CERT, 'r') as f:
- pem = f.read()
[email protected]@ -1360,7 +1382,7 @@
-
-
- def test_main(verbose=False):
-- global CERTFILE, SVN_PYTHON_ORG_ROOT_CERT, NOKIACERT
-+ global CERTFILE, SVN_PYTHON_ORG_ROOT_CERT, NOKIACERT, NULLBYTECERT
- CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir,
- "keycert.pem")
- SVN_PYTHON_ORG_ROOT_CERT = os.path.join(
[email protected]@ -1368,10 +1390,13 @@
- "https_svn_python_org_root.pem")
- NOKIACERT = os.path.join(os.path.dirname(__file__) or os.curdir,
- "nokia.pem")
-+ NULLBYTECERT = os.path.join(os.path.dirname(__file__) or os.curdir,
-+ "nullbytecert.pem")
-
- if (not os.path.exists(CERTFILE) or
- not os.path.exists(SVN_PYTHON_ORG_ROOT_CERT) or
-- not os.path.exists(NOKIACERT)):
-+ not os.path.exists(NOKIACERT) or
-+ not os.path.exists(NULLBYTECERT)):
- raise test_support.TestFailed("Can't read certificate files!")
-
- tests = [BasicTests, BasicSocketTests]
-diff -r 9ddc63c039ba Modules/_ssl.c
---- a/Modules/_ssl.c Sun Aug 11 13:04:50 2013 +0300
-+++ b/Modules/_ssl.c Sun Aug 11 18:13:17 2013 +0200
[email protected]@ -741,8 +741,13 @@
-
- /* get a rendering of each name in the set of names */
-
-+ int gntype;
-+ ASN1_STRING *as = NULL;
-+
- name = sk_GENERAL_NAME_value(names, j);
-- if (name->type == GEN_DIRNAME) {
-+ gntype = name-> type;
-+ switch (gntype) {
-+ case GEN_DIRNAME:
-
- /* we special-case DirName as a tuple of tuples of attributes */
-
[email protected]@ -764,11 +769,61 @@
- goto fail;
- }
- PyTuple_SET_ITEM(t, 1, v);
-+ break;
-
-- } else {
-+ case GEN_EMAIL:
-+ case GEN_DNS:
-+ case GEN_URI:
-+ /* GENERAL_NAME_print() doesn't handle NUL bytes in ASN1_string
-+ correctly. */
-+ t = PyTuple_New(2);
-+ if (t == NULL)
-+ goto fail;
-+ switch (gntype) {
-+ case GEN_EMAIL:
-+ v = PyUnicode_FromString("email");
-+ as = name->d.rfc822Name;
-+ break;
-+ case GEN_DNS:
-+ v = PyUnicode_FromString("DNS");
-+ as = name->d.dNSName;
-+ break;
-+ case GEN_URI:
-+ v = PyUnicode_FromString("URI");
-+ as = name->d.uniformResourceIdentifier;
-+ break;
-+ }
-+ if (v == NULL) {
-+ Py_DECREF(t);
-+ goto fail;
-+ }
-+ PyTuple_SET_ITEM(t, 0, v);
-+ v = PyString_FromStringAndSize((char *)ASN1_STRING_data(as),
-+ ASN1_STRING_length(as));
-+ if (v == NULL) {
-+ Py_DECREF(t);
-+ goto fail;
-+ }
-+ PyTuple_SET_ITEM(t, 1, v);
-+ break;
-
-+ default:
- /* for everything else, we use the OpenSSL print form */
--
-+ switch (gntype) {
-+ /* check for new general name type */
-+ case GEN_OTHERNAME:
-+ case GEN_X400:
-+ case GEN_EDIPARTY:
-+ case GEN_IPADD:
-+ case GEN_RID:
-+ break;
-+ default:
-+ if (PyErr_Warn(PyExc_RuntimeWarning,
-+ "Unknown general name type") == -1) {
-+ goto fail;
-+ }
-+ break;
-+ }
- (void) BIO_reset(biobuf);
- GENERAL_NAME_print(biobuf, name);
- len = BIO_gets(biobuf, buf, sizeof(buf)-1);
[email protected]@ -794,6 +849,7 @@
- goto fail;
- }
- PyTuple_SET_ITEM(t, 1, v);
-+ break;
- }
-
- /* and add that rendering to the list */
--- a/components/python/python27/patches/18-osconf-long.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/18-osconf-long.patch Thu May 22 14:36:47 2014 -0700
@@ -1,9 +1,9 @@
# http://bugs.python.org/issue17964 was fixed in 3.4 but not back-ported so we
# need this patch for 2.7 .
---- Python-2.7.3/Modules/posixmodule.c.orig 2013-09-10 14:48:19.058672610 -0700
-+++ Python-2.7.3/Modules/posixmodule.c 2013-09-10 14:48:49.872618578 -0700
[email protected]@ -8356,7 +8356,7 @@
+--- Python-2.7.6/Modules/posixmodule.c.~2~ 2014-05-14 13:45:28.562707441 -0700
++++ Python-2.7.6/Modules/posixmodule.c 2014-05-14 13:45:28.718886370 -0700
[email protected]@ -8469,7 +8469,7 @@
int name;
if (PyArg_ParseTuple(args, "O&:sysconf", conv_sysconf_confname, &name)) {
--- a/components/python/python27/patches/19-recvfrom_into.patch Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/patches/19-recvfrom_into.patch Thu May 22 14:36:47 2014 -0700
@@ -1,8 +1,8 @@
# Fix from upstream: http://bugs.python.org/issue20246
---- Python-2.6.8/Modules/socketmodule.c 2012-04-09 16:07:34.000000000 -0700
-+++ Python-2.6.8/Modules/socketmodule.c 2014-02-12 15:27:10.106066138 -0800
[email protected]@ -2677,6 +2677,13 @@
+--- Python-2.7.6/Modules/socketmodule.c.~1~ 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/Modules/socketmodule.c 2014-05-14 13:48:12.538122707 -0700
[email protected]@ -2744,6 +2744,13 @@
recvlen = buflen;
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python27/patches/20-bsddb-harmful.patch Thu May 22 14:36:47 2014 -0700
@@ -0,0 +1,28 @@
+Prior to 2.7.4, the bsddb module was a no-op, as it did not get built.
+Starting with 2.7.4, the behavior is different, and it causes tests to
+dump core. So skip it. The module is removed in Python 3, so this patch
+is not being submitted upstream.
+
+--- Python-2.7.6/Makefile.pre.in.~4~ 2014-05-14 16:20:56.889089787 -0700
++++ Python-2.7.6/Makefile.pre.in 2014-05-14 16:21:12.651500578 -0700
[email protected]@ -972,7 +972,7 @@
+ email email/mime email/test email/test/data \
+ json json/tests \
+ sqlite3 sqlite3/test \
+- logging bsddb bsddb/test csv importlib wsgiref \
++ logging csv importlib wsgiref \
+ lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
+ lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
+ ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \
+--- Python-2.7.6/setup.py.~6~ 2014-05-14 17:15:45.315760008 -0700
++++ Python-2.7.6/setup.py 2014-05-14 17:16:27.440642039 -0700
[email protected]@ -1065,7 +1065,8 @@
+ db_dirs_to_check + lib_dirs, dblib )
+ if dblib_file:
+ dblib_dir = [ os.path.abspath(os.path.dirname(dblib_file)) ]
+- raise db_found
++ # Doesn't work; skip.
++ # raise db_found
+ else:
+ if db_setup_debug: print "db lib: ", dblib, "not found"
+
--- a/components/python/python27/patches/20-ctypes-util-find-library.patch Tue May 20 21:56:15 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-This patch comes from upstream: http://bugs.python.org/issue5289
-If we ever upgrade to 2.7.4 or later, it will no longer be needed.
-
---- Python-2.7.3/Lib/ctypes/util.py~
-+++ Python-2.7.3/Lib/ctypes/util.py
[email protected]@ -180,6 +180,35 @@ elif os.name == "posix":
- res.sort(cmp= lambda x,y: cmp(_num_version(x), _num_version(y)))
- return res[-1]
-
-+ elif sys.platform == "sunos5":
-+
-+ def _findLib_crle(name, is64):
-+ if not os.path.exists('/usr/bin/crle'):
-+ return None
-+
-+ if is64:
-+ cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null'
-+ else:
-+ cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null'
-+
-+ for line in os.popen(cmd).readlines():
-+ line = line.strip()
-+ if line.startswith('Default Library Path (ELF):'):
-+ paths = line.split()[4]
-+
-+ if not paths:
-+ return None
-+
-+ for dir in paths.split(":"):
-+ libfile = os.path.join(dir, "lib%s.so" % name)
-+ if os.path.exists(libfile):
-+ return libfile
-+
-+ return None
-+
-+ def find_library(name, is64 = False):
-+ return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name))
-+
- else:
-
- def _findSoname_ldconfig(name):
--- a/components/python/python27/python-27-tests.p5m Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/python-27-tests.p5m Thu May 22 14:36:47 2014 -0700
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
#
# python doesn't generate .pyc version of these test files.
@@ -30,17 +30,16 @@
value=pkg:/runtime/python-27/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="The Python tests"
set name=com.oracle.info.description value="test cases for Python 2.7"
-set name=com.oracle.info.tpno value=9104
+set name=com.oracle.info.tpno value=17755
set name=info.classification \
value=org.opensolaris.category.2008:Development/Python
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid \
- value=PSARC/2008/514 \
- value=PSARC/2009/529 \
- value=PSARC/2011/XXX
+set name=org.opensolaris.arc-caseid value=PSARC/2008/514 value=PSARC/2009/529 \
+ value=PSARC/2014/183
# PSARC 2008/514 Python interface to dlpi(7P)
# PSARC 2009/529 Python interface to privileges(5) & rbac(5)
+# PSARC 2014/183 Python 2.7.6
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
@@ -51,31 +50,6 @@
license python27.license license="PSFv2"
-file path=usr/lib/python2.7/bsddb/test/__init__.py
-file path=usr/lib/python2.7/bsddb/test/test_all.py
-file path=usr/lib/python2.7/bsddb/test/test_associate.py
-file path=usr/lib/python2.7/bsddb/test/test_basics.py
-file path=usr/lib/python2.7/bsddb/test/test_compare.py
-file path=usr/lib/python2.7/bsddb/test/test_compat.py
-file path=usr/lib/python2.7/bsddb/test/test_cursor_pget_bug.py
-file path=usr/lib/python2.7/bsddb/test/test_db.py
-file path=usr/lib/python2.7/bsddb/test/test_dbenv.py
-file path=usr/lib/python2.7/bsddb/test/test_dbobj.py
-file path=usr/lib/python2.7/bsddb/test/test_dbshelve.py
-file path=usr/lib/python2.7/bsddb/test/test_dbtables.py
-file path=usr/lib/python2.7/bsddb/test/test_distributed_transactions.py
-file path=usr/lib/python2.7/bsddb/test/test_early_close.py
-file path=usr/lib/python2.7/bsddb/test/test_fileid.py
-file path=usr/lib/python2.7/bsddb/test/test_get_none.py
-file path=usr/lib/python2.7/bsddb/test/test_join.py
-file path=usr/lib/python2.7/bsddb/test/test_lock.py
-file path=usr/lib/python2.7/bsddb/test/test_misc.py
-file path=usr/lib/python2.7/bsddb/test/test_pickle.py
-file path=usr/lib/python2.7/bsddb/test/test_queue.py
-file path=usr/lib/python2.7/bsddb/test/test_recno.py
-file path=usr/lib/python2.7/bsddb/test/test_replication.py
-file path=usr/lib/python2.7/bsddb/test/test_sequence.py
-file path=usr/lib/python2.7/bsddb/test/test_thread.py
file path=usr/lib/python2.7/ctypes/test/__init__.py
file path=usr/lib/python2.7/ctypes/test/runtests.py
file path=usr/lib/python2.7/ctypes/test/test_anon.py
@@ -543,8 +517,6 @@
file path=usr/lib/python2.7/test/sgml_input.html
file path=usr/lib/python2.7/test/sha256.pem
file path=usr/lib/python2.7/test/sortperf.py
-file path=usr/lib/python2.7/test/ssl_cert.pem
-file path=usr/lib/python2.7/test/ssl_key.pem
file path=usr/lib/python2.7/test/string_tests.py
file path=usr/lib/python2.7/test/subprocessdata/sigchild_ignore.py
file path=usr/lib/python2.7/test/test_MimeWriter.py
--- a/components/python/python27/python-27.p5m Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/python-27.p5m Thu May 22 14:36:47 2014 -0700
@@ -26,14 +26,16 @@
value=pkg:/runtime/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="The Python interpreter, libraries and utilities"
set name=com.oracle.info.description value="Python 2.7"
-set name=com.oracle.info.tpno value=9104
+set name=com.oracle.info.tpno value=17755
set name=info.classification \
value=org.opensolaris.category.2008:Development/Python
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2008/514 value=PSARC/2009/529
+set name=org.opensolaris.arc-caseid value=PSARC/2008/514 value=PSARC/2009/529 \
+ value=PSARC/2014/183
# PSARC 2008/514 Python interface to dlpi(7P)
# PSARC 2009/529 Python interface to privileges(5) & rbac(5)
+# PSARC 2014/183 Python 2.7.6
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
#file path=usr/bin/smtpd.py
@@ -209,6 +211,7 @@
file path=usr/lib/python2.7/_abcoll.py
file path=usr/lib/python2.7/_pyio.py
file path=usr/lib/python2.7/_strptime.py
+file path=usr/lib/python2.7/_sysconfigdata.py
file path=usr/lib/python2.7/_threading_local.py
file path=usr/lib/python2.7/_weakrefset.py
file path=usr/lib/python2.7/abc.py
@@ -225,13 +228,6 @@
file path=usr/lib/python2.7/bdb.py
file path=usr/lib/python2.7/binhex.py
file path=usr/lib/python2.7/bisect.py
-file path=usr/lib/python2.7/bsddb/__init__.py
-file path=usr/lib/python2.7/bsddb/db.py
-file path=usr/lib/python2.7/bsddb/dbobj.py
-file path=usr/lib/python2.7/bsddb/dbrecio.py
-file path=usr/lib/python2.7/bsddb/dbshelve.py
-file path=usr/lib/python2.7/bsddb/dbtables.py
-file path=usr/lib/python2.7/bsddb/dbutils.py
file path=usr/lib/python2.7/cProfile.py pkg.depend.bypass-generate=.*
file path=usr/lib/python2.7/calendar.py
file path=usr/lib/python2.7/cgi.py
--- a/components/python/python27/tkinter-27.p5m Tue May 20 21:56:15 2014 -0700
+++ b/components/python/python27/tkinter-27.p5m Thu May 22 14:36:47 2014 -0700
@@ -25,13 +25,16 @@
value=pkg:/library/python/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="Python 2.7 bindings to tcl/tk"
set name=com.oracle.info.description value="Python 2.7 bindings for Tcl/Tk"
-set name=com.oracle.info.tpno value=9104
+set name=com.oracle.info.tpno value=17755
set name=info.classification \
value=org.opensolaris.category.2008:Development/Python
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid \
- value=PSARC/2011/XXX
+set name=org.opensolaris.arc-caseid value=PSARC/2008/514 value=PSARC/2009/529 \
+ value=PSARC/2014/183
+# PSARC 2008/514 Python interface to dlpi(7P)
+# PSARC 2009/529 Python interface to privileges(5) & rbac(5)
+# PSARC 2014/183 Python 2.7.6
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
license python27.license license=PSFv2
--- a/components/python/zope-interface/resolve.deps Tue May 20 21:56:15 2014 -0700
+++ b/components/python/zope-interface/resolve.deps Thu May 22 14:36:47 2014 -0700
@@ -1,2 +1,3 @@
runtime/python-26
runtime/python-27
+system/library