PSARC 2014/190 Python 2.6 EOF s11u3-sru
authorJohn Beck <John.Beck@Oracle.COM>
Mon, 27 Mar 2017 15:35:14 -0700
branchs11u3-sru
changeset 7811 9126e6f58cd8
parent 7792 ee802f9b5132
child 7816 79ee06fdecc5
PSARC 2014/190 Python 2.6 EOF 21136303 Python 2.6 EOF 25552242 downrevved cherrypy-26 package in s12 will block update from s11.3 25552335 library/python/idna-26 (only in s11.3 SRU14+) prevents upgrade to S12 25552353 library/python/ipaddress-26 (only in s11.3 SRU14+) prevents upgrade to S12
components/apache2-modules/mod_wsgi/Makefile
components/apache2-modules/mod_wsgi/history
components/apache2-modules/mod_wsgi/mod_wsgi-26-24.p5m
components/apache2-modules/mod_wsgi/mod_wsgi-26.p5m
components/apache2-modules/mod_wsgi/mod_wsgi.p5m
components/gdb/Makefile
components/grails/Makefile
components/graphviz/Makefile
components/graphviz/graphviz-python-26.p5m
components/graphviz/graphviz.p5m
components/graphviz/history
components/gzip/Makefile
components/hal-cups-utils/Makefile
components/hplip/Makefile
components/lcms/Makefile
components/lcms/history
components/lcms/lcms-py26.p5m
components/lcms/lcms.p5m
components/libxml2/Makefile
components/libxml2/history
components/libxml2/libxml2-26.p5m
components/libxml2/libxml2.p5m
components/libxslt/Makefile
components/libxslt/history
components/libxslt/libxsl-26.p5m
components/libxslt/libxslt.p5m
components/logilab-astng/Makefile
components/logilab-astng/history
components/logilab-astng/logilab-astng-26.p5m
components/logilab-astng/logilab-astng.p5m
components/logilab-common/Makefile
components/logilab-common/history
components/logilab-common/logilab-common-26.p5m
components/logilab-common/logilab-common.p5m
components/meld/Makefile
components/mercurial/Makefile
components/mercurial/history
components/meta-packages/history/history
components/net-snmp/Makefile
components/net-snmp/history
components/net-snmp/net-snmp-26.p5m
components/net-snmp/net-snmp-base.p5m
components/nmap/Makefile
components/openscap/Makefile
components/openscap/history
components/openscap/openscap-python-PYVER.p5m
components/openscap/openscap.p5m
components/pylint/Makefile
components/pylint/history
components/python/aioeventlet/history
components/python/alembic/Makefile
components/python/alembic/history
components/python/amqp/history
components/python/anyjson/history
components/python/argparse/Makefile
components/python/argparse/argparse-26.p5m
components/python/argparse/argparse.license
components/python/argparse/argparse.p5m
components/python/argparse/history
components/python/babel/Makefile
components/python/babel/history
components/python/barbicanclient/Makefile
components/python/barbicanclient/history
components/python/beautifulsoup4/Makefile
components/python/beautifulsoup4/history
components/python/boto/Makefile
components/python/boto/history
components/python/ceilometerclient/Makefile
components/python/ceilometerclient/history
components/python/cffi/history
components/python/cheetah/Makefile
components/python/cheetah/history
components/python/cherrypy/history
components/python/cinderclient/history
components/python/cliff/history
components/python/cmd2/history
components/python/cov-core/Makefile
components/python/cov-core/history
components/python/coverage/Makefile
components/python/coverage/history
components/python/cryptography/history
components/python/cssutils/Makefile
components/python/cssutils/history
components/python/cx_oracle/Makefile
components/python/d2to1/history
components/python/decorator/history
components/python/django-appconf/Makefile
components/python/django-appconf/history
components/python/django-pyscss/Makefile
components/python/django-pyscss/history
components/python/django/Makefile
components/python/django/history
components/python/django_compressor/Makefile
components/python/django_compressor/history
components/python/django_openstack_auth/Makefile
components/python/django_openstack_auth/history
components/python/dnspython/Makefile
components/python/dnspython/history
components/python/dogpile.cache/history
components/python/dogpile.core/history
components/python/enum/Makefile
components/python/enum/history
components/python/eventlet/history
components/python/extras/history
components/python/filechunkio/history
components/python/fixtures/Makefile
components/python/fixtures/history
components/python/formencode/Makefile
components/python/formencode/history
components/python/futures/Makefile
components/python/futures/history
components/python/glance_store/Makefile
components/python/glance_store/history
components/python/glanceclient/Makefile
components/python/glanceclient/history
components/python/greenlet/greenlet-PYVER.p5m
components/python/greenlet/history
components/python/heatclient/Makefile
components/python/heatclient/history
components/python/httplib2/Makefile
components/python/httplib2/history
components/python/idna/history
components/python/imaging/Makefile
components/python/imaging/history
components/python/importlib/Makefile
components/python/importlib/history
components/python/importlib/importlib-26.p5m
components/python/importlib/importlib.license
components/python/importlib/importlib.p5m
components/python/iniparse/Makefile
components/python/iniparse/history
components/python/ipaddr/Makefile
components/python/ipaddr/history
components/python/ipaddress/history
components/python/ipython/Makefile
components/python/ipython/history
components/python/ironicclient/Makefile
components/python/ironicclient/history
components/python/iso8601/history
components/python/jinja2/history
components/python/jsonpatch/history
components/python/jsonpointer/history
components/python/jsonrpclib/Makefile
components/python/jsonrpclib/history
components/python/jsonrpclib/jsonrpclib-26.p5m
components/python/jsonrpclib/jsonrpclib.p5m
components/python/jsonschema/history
components/python/keystoneclient/Makefile
components/python/keystoneclient/history
components/python/keystonemiddleware/Makefile
components/python/keystonemiddleware/history
components/python/kombu/Makefile
components/python/kombu/history
components/python/ldappool/Makefile
components/python/ldappool/history
components/python/ldtp/Makefile
components/python/ldtp/history
components/python/lesscpy/Makefile
components/python/lesscpy/history
components/python/lesscpy/lesscpy-PYVER.p5m
components/python/librabbitmq/Makefile
components/python/librabbitmq/history
components/python/linecache2/history
components/python/lockfile/history
components/python/logutils/history
components/python/m2crypto/Makefile
components/python/m2crypto/history
components/python/mako/history
components/python/markdown/Makefile
components/python/markdown/history
components/python/markupsafe/history
components/python/mock/Makefile
components/python/mock/history
components/python/msgpack/history
components/python/mysql/Makefile
components/python/mysql/history
components/python/netaddr/Makefile
components/python/netaddr/history
components/python/netifaces/history
components/python/networkx/Makefile
components/python/networkx/history
components/python/networkx/networkx-PYVER.p5m
components/python/neutronclient/Makefile
components/python/neutronclient/history
components/python/nose-cover3/Makefile
components/python/nose-cover3/history
components/python/nose/Makefile
components/python/nose/history
components/python/novaclient/history
components/python/oauthlib/history
components/python/openstackclient/Makefile
components/python/openstackclient/history
components/python/ordereddict/Makefile
components/python/ordereddict/history
components/python/ordereddict/ordereddict-26.p5m
components/python/ordereddict/ordereddict.p5m
components/python/oslo.concurrency/Makefile
components/python/oslo.concurrency/history
components/python/oslo.config/history
components/python/oslo.context/history
components/python/oslo.db/Makefile
components/python/oslo.db/history
components/python/oslo.i18n/history
components/python/oslo.log/Makefile
components/python/oslo.log/history
components/python/oslo.messaging/Makefile
components/python/oslo.messaging/history
components/python/oslo.middleware/history
components/python/oslo.policy/Makefile
components/python/oslo.policy/history
components/python/oslo.serialization/Makefile
components/python/oslo.serialization/history
components/python/oslo.utils/Makefile
components/python/oslo.utils/history
components/python/oslo.versionedobjects/Makefile
components/python/oslo.versionedobjects/history
components/python/oslo.vmware/Makefile
components/python/oslo.vmware/history
components/python/osprofiler/Makefile
components/python/osprofiler/history
components/python/paramiko/history
components/python/passlib/history
components/python/paste.deploy/Makefile
components/python/paste.deploy/history
components/python/paste/Makefile
components/python/paste/history
components/python/pbr/history
components/python/pecan/Makefile
components/python/pecan/history
components/python/pep8/Makefile
components/python/pep8/history
components/python/pip/Makefile
components/python/pip/history
components/python/ply/Makefile
components/python/ply/history
components/python/posix_ipc/history
components/python/prettytable/history
components/python/psutil/Makefile
components/python/psutil/history
components/python/py/history
components/python/pyasn1-modules/history
components/python/pyasn1/history
components/python/pybonjour/history
components/python/pycadf/Makefile
components/python/pycadf/history
components/python/pycountry/history
components/python/pycparser/history
components/python/pycups/Makefile
components/python/pycups/history
components/python/pycups/pycups-26.p5m
components/python/pycups/pycups.p5m
components/python/pycurl/Makefile
components/python/pycurl/history
components/python/pydns/Makefile
components/python/pydns/history
components/python/pyflakes/Makefile
components/python/pyflakes/history
components/python/pygments/Makefile
components/python/pygments/history
components/python/pylxml/history
components/python/pyopenssl/history
components/python/pyparsing/history
components/python/pyrabbit/Makefile
components/python/pyrabbit/history
components/python/pyscss/Makefile
components/python/pyscss/history
components/python/pysendfile/history
components/python/pytest-capturelog/history
components/python/pytest-codecheckers/Makefile
components/python/pytest-codecheckers/history
components/python/pytest-cov/Makefile
components/python/pytest-cov/history
components/python/pytest/Makefile
components/python/pytest/history
components/python/python-ldap/Makefile
components/python/python-ldap/history
components/python/python-memcached/Makefile
components/python/python-memcached/history
components/python/python-mimeparse/history
components/python/python26/Makefile
components/python/python26/Makefile.config
components/python/python26/history
components/python/python26/llib-lpython26
components/python/python26/patches/Python26-00-filemagic.patch
components/python/python26/patches/Python26-01-solaris-lib-dirs.patch
components/python/python26/patches/Python26-02-pycc.patch
components/python/python26/patches/Python26-03-distutils-pycc.patch
components/python/python26/patches/Python26-04-distutils-log.patch
components/python/python26/patches/Python26-05-isalibs.patch
components/python/python26/patches/Python26-06-write_compiled_module-atomic.patch
components/python/python26/patches/Python26-07-dtrace.patch
components/python/python26/patches/Python26-08-ctypes.patch
components/python/python26/patches/Python26-09-ucred.patch
components/python/python26/patches/Python26-10-gethostname.patch
components/python/python26/patches/Python26-11-dlpi.patch
components/python/python26/patches/Python26-12-encoding-alias.patch
components/python/python26/patches/Python26-13-cflags.patch
components/python/python26/patches/Python26-14-ctypes-util-find-library.patch
components/python/python26/patches/Python26-15-getcwd.patch
components/python/python26/patches/Python26-16-privrbac.patch
components/python/python26/patches/Python26-17-netpacket-packet-h.patch
components/python/python26/patches/Python26-18-readline.patch
components/python/python26/patches/Python26-19-ext-stdio.patch
components/python/python26/patches/Python26-20-py_db.patch
components/python/python26/patches/Python26-23-none-on-connect.patch
components/python/python26/patches/Python26-24-makedev.patch
components/python/python26/patches/Python26-25-closerange.patch
components/python/python26/patches/Python26-25-studio-profile.patch
components/python/python26/patches/Python26-26-pybench.patch
components/python/python26/patches/Python26-27-get_wch.patch
components/python/python26/patches/Python26-28-CVE-2013-4238.patch
components/python/python26/patches/Python26-29-recvfrom_into.patch
components/python/python26/patches/Python26-36-buffer-overflow.patch
components/python/python26/patches/Python26-38-disable-sslv3.patch
components/python/python26/patches/Python26-39-smtplib_readline.patch
components/python/python26/patches/Python26-40-obsolete-man-page.patch
components/python/python26/python-26-tests.p5m
components/python/python26/python-26.p5m
components/python/python26/python26.license
components/python/python26/tkinter-26.p5m
components/python/python27/python-27.p5m
components/python/pytz/history
components/python/pywbem/Makefile
components/python/pywbem/history
components/python/pyyaml/Makefile
components/python/pyyaml/history
components/python/pyyaml/pyyaml-PYVER.p5m
components/python/quantumclient/Makefile
components/python/quantumclient/history
components/python/repoze.lru/history
components/python/requests/Makefile
components/python/requests/history
components/python/retrying/history
components/python/rfc3986/Makefile
components/python/rfc3986/history
components/python/routes/history
components/python/saharaclient/Makefile
components/python/saharaclient/history
components/python/scp/history
components/python/semantic-version/history
components/python/setuptools-git/history
components/python/setuptools/history
components/python/simplegeneric/history
components/python/simplejson/history
components/python/simplejson/simplejson-PYVER.p5m
components/python/singledispatch/Makefile
components/python/singledispatch/history
components/python/six/history
components/python/sqlalchemy-migrate/Makefile
components/python/sqlalchemy-migrate/history
components/python/sqlalchemy/history
components/python/sqlparse/history
components/python/stevedore/history
components/python/suds/Makefile
components/python/suds/history
components/python/swiftclient/Makefile
components/python/swiftclient/history
components/python/taskflow/Makefile
components/python/taskflow/history
components/python/tempita/history
components/python/testresources/history
components/python/testscenarios/history
components/python/testtools/history
components/python/testtools/testtools-PYVER.p5m
components/python/tox/Makefile
components/python/tox/history
components/python/traceback2/history
components/python/trollius/history
components/python/trollius/trollius-PYVER.p5m
components/python/troveclient/Makefile
components/python/troveclient/history
components/python/twisted-web2/Makefile
components/python/twisted-web2/history
components/python/twisted/Makefile
components/python/twisted/history
components/python/unittest2/Makefile
components/python/unittest2/history
components/python/unittest2/license.txt
components/python/unittest2/unittest2-26.p5m
components/python/unittest2/unittest2.p5m
components/python/urllib3/history
components/python/virtualenv/Makefile
components/python/virtualenv/history
components/python/waitress/Makefile
components/python/waitress/history
components/python/warlock/history
components/python/webob/history
components/python/websockify/Makefile
components/python/websockify/history
components/python/websockify/websockify-PYVER.p5m
components/python/webtest/Makefile
components/python/webtest/history
components/python/webtest/webtest-PYVER.p5m
components/python/wsme/Makefile
components/python/wsme/history
components/python/xattr/Makefile
components/python/xattr/history
components/python/xattr/xattr-PYVER.p5m
components/python/zope-interface/Makefile
components/python/zope-interface/history
components/rdiff-backup/Makefile
components/rdiff-backup/history
components/rdiff-backup/rdiff-backup-26.p5m
components/rdiff-backup/rdiff-backup.p5m
components/subversion/Makefile
components/texinfo/Makefile
make-rules/ips.mk
make-rules/setup.py.mk
make-rules/shared-macros.mk
--- a/components/apache2-modules/mod_wsgi/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/apache2-modules/mod_wsgi/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -43,23 +43,19 @@
 
 APACHE_USR_PREFIX = /usr/apache2/
 
-VARIANT_AP_22_PY26 = $(BUILD_DIR)/apache22-python26
 VARIANT_AP_22_PY27 = $(BUILD_DIR)/apache22-python27
 VARIANT_AP_22_PY34 = $(BUILD_DIR)/apache22-python34
-VARIANT_AP_24_PY26 = $(BUILD_DIR)/apache24-python26
 VARIANT_AP_24_PY27 = $(BUILD_DIR)/apache24-python27
 VARIANT_AP_24_PY34 = $(BUILD_DIR)/apache24-python34
 
-VARIANTS_32 = $(VARIANT_AP_22_PY26) $(VARIANT_AP_22_PY27)
-VARIANTS_64 = $(VARIANT_AP_22_PY26) $(VARIANT_AP_22_PY27) $(VARIANT_AP_22_PY34) \
-              $(VARIANT_AP_24_PY26) $(VARIANT_AP_24_PY27) $(VARIANT_AP_24_PY34)
+VARIANTS_32 = $(VARIANT_AP_22_PY27)
+VARIANTS_64 = $(VARIANT_AP_22_PY27) $(VARIANT_AP_22_PY34) \
+              $(VARIANT_AP_24_PY27) $(VARIANT_AP_24_PY34)
 
 $(BUILD_DIR)/apache22-%/$(MACH32)/.configured: APXS=$(APACHE_USR_PREFIX)/2.2/bin/apxs
 $(BUILD_DIR)/apache22-%/$(MACH64)/.configured: APXS=$(APACHE_USR_PREFIX)/2.2/bin/$(MACH64)/apxs
 $(BUILD_DIR)/apache24-%/$(MACH64)/.configured: APXS=$(APACHE_USR_PREFIX)/2.4/bin/apxs
 
-$(BUILD_DIR)/apache2%-python26/$(MACH32)/.configured: PYTHON=$(PYTHON.2.6.32)
-$(BUILD_DIR)/apache2%-python26/$(MACH64)/.configured: PYTHON=$(PYTHON.2.6.64)
 $(BUILD_DIR)/apache2%-python27/$(MACH32)/.configured: PYTHON=$(PYTHON.2.7.32)
 $(BUILD_DIR)/apache2%-python27/$(MACH64)/.configured: PYTHON=$(PYTHON.2.7.64)
 $(BUILD_DIR)/apache2%-python34/$(MACH32)/.configured: PYTHON=$(PYTHON.3.4.32)
@@ -80,7 +76,6 @@
 
 install:	$(INSTALL_32_and_64)
 
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += runtime/python-34
 REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_wsgi/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,2 @@
+web/server/apache-22/module/[email protected],5.11-0.175.3.20.0.1.0
+web/server/apache-24/module/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/apache2-modules/mod_wsgi/mod_wsgi-26-24.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/web/server/apache-24/module/apache-wsgi-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Python 2.6 mod_wsgi plugin for Apache Web Server v2.4"
-set name=com.oracle.info.description \
-    value="the Python 2.6 mod_wsgi plugin for Apache Web Server v2.4"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
-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/2014/253
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-file path=usr/apache2/2.4/libexec/mod_wsgi-2.6.so \
-    pkg.linted.userland.action001.2=true
-link path=usr/apache2/2.4/libexec/mod_wsgi.so target=mod_wsgi-2.6.so \
-    mediator=python mediator-priority=vendor mediator-version=2.6
-license mod_wsgi.license license=Apache2.0
--- a/components/apache2-modules/mod_wsgi/mod_wsgi-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/web/server/apache-22/module/apache-wsgi-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Python 2.6 mod_wsgi plugin for Apache Web Server v2.2"
-set name=com.oracle.info.description \
-    value="the Python 2.6 mod_wsgi plugin for Apache Web Server v2.2"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
-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/2012/162
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-file path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi-2.6.so
-link path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi.so target=mod_wsgi-2.6.so \
-    mediator=python mediator-priority=vendor mediator-version=2.6
-file path=usr/apache2/2.2/libexec/mod_wsgi-2.6.so
-link path=usr/apache2/2.2/libexec/mod_wsgi.so target=mod_wsgi-2.6.so \
-    mediator=python mediator-priority=vendor mediator-version=2.6
-license mod_wsgi.license license=Apache2.0
--- a/components/apache2-modules/mod_wsgi/mod_wsgi.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/apache2-modules/mod_wsgi/mod_wsgi.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -35,9 +35,6 @@
 set name=org.opensolaris.arc-caseid value=PSARC/2012/162
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 depend type=conditional \
-    fmri=web/server/apache-22/module/apache-wsgi-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=web/server/apache-22/module/apache-wsgi-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
 depend type=conditional \
--- a/components/gdb/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/gdb/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -137,7 +137,6 @@
 REQUIRED_PACKAGES += library/ncurses
 REQUIRED_PACKAGES += library/readline
 REQUIRED_PACKAGES += library/zlib
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += shell/ksh93
 REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/math
--- a/components/grails/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/grails/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -80,6 +80,5 @@
 
 
 REQUIRED_PACKAGES += runtime/perl-512
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += shell/bash
 REQUIRED_PACKAGES += shell/ksh93
--- a/components/graphviz/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/graphviz/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -57,11 +57,9 @@
 CONFIGURE_ENV +=	CFLAGS="$(CFLAGS)"
 CONFIGURE_ENV +=	CXXFLAGS="$(CXXFLAGS)"
 # Make sure to use the right python, depending on the 32/64-bit build.
-CONFIGURE_ENV +=	PYTHON26=$(PYTHON.2.6)
 CONFIGURE_ENV +=	PYTHON27=$(PYTHON.2.7)
 CONFIGURE_OPTIONS +=	--without-included-ltdl
 CONFIGURE_OPTIONS +=	--enable-python=no
-CONFIGURE_OPTIONS +=	--enable-python26=yes
 CONFIGURE_OPTIONS +=	--enable-python27=yes
 CONFIGURE_OPTIONS +=	--x-libraries=$(CONFIGURE_LIBDIR.$(BITS))
 
@@ -94,7 +92,6 @@
 
 install:	$(INSTALL_32_and_64)
 	env LD_LIBRARY_PATH=$(PROTO_DIR)/usr/lib GVBINDIR=$(PROTO_DIR)/usr/lib/graphviz $(PROTO_DIR)/usr/bin/dot -c
-	$(PYTHON.2.6.32) -m compileall $(PROTO_DIR)/$(PYTHON.2.6.VENDOR_PACKAGES)
 	$(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/$(PYTHON.2.7.VENDOR_PACKAGES)
 
 # The test infrastructure doesn't run in a VPATHed environment.
--- a/components/graphviz/graphviz-python-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
-#
-set name=pkg.fmri \
-    value=pkg:/image/graphviz/graphviz-python-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python 2.6 bindings for Graphviz"
-set name=com.oracle.info.description value="Python 2.6 bindings for Graphviz"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value="org.opensolaris.category.2008:Applications/System Utilities"
-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/269
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-#
-link path=usr/lib/$(MACH64)/graphviz/python26/_gv.so target=libgv_python26.so
-file path=usr/lib/$(MACH64)/graphviz/python26/libgv_python26.so
-link path=usr/lib/graphviz/python26/_gv.so target=libgv_python26.so
-file path=usr/lib/graphviz/python26/gv.py pkg.tmp.autopyc=false
-file path=usr/lib/graphviz/python26/libgv_python26.so
-link path=usr/lib/python2.6/vendor-packages/64/_gv.so \
-    target=../../../$(MACH64)/graphviz/python26/libgv_python26.so
-link path=usr/lib/python2.6/vendor-packages/_gv.so \
-    target=../../graphviz/python26/libgv_python26.so
-link path=usr/lib/python2.6/vendor-packages/gv.py \
-    target=../../graphviz/python26/gv.py
-file path=usr/lib/python2.6/vendor-packages/gv.pyc
-file usr/share/man/man3/gv.3python path=usr/share/man/man3/gv-python.3
-#
-license COPYING license=EPL1.0
-license graphviz.license.extra license="Other Notices"
--- a/components/graphviz/graphviz.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/graphviz/graphviz.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -529,9 +529,6 @@
     fmri=image/graphviz/graphviz-php@$(IPS_COMPONENT_VERSION) \
     predicate=web/php-53
 depend type=conditional \
-    fmri=image/graphviz/graphviz-python-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=image/graphviz/graphviz-python-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
 depend type=conditional \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/graphviz/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+image/graphviz/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/gzip/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/gzip/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -91,7 +91,6 @@
 test:		$(TEST_64)
 
 
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += shell/bash
 REQUIRED_PACKAGES += system/library
--- a/components/hal-cups-utils/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/hal-cups-utils/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -41,9 +41,6 @@
 include $(WS_MAKE_RULES)/ips.mk
 
 PATCH_LEVEL = 0
-USED_PYTHON=$(PYTHON.2.6.32)
-
-CONFIGURE_ENV += PYTHON=$(USED_PYTHON)
 
 CONFIGURE_OPTIONS += --datarootdir=$(ETCDIR)
 CONFIGURE_OPTIONS += --libexecdir=$(USRLIBDIR)/hal
--- a/components/hplip/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/hplip/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -48,9 +48,6 @@
 
 ROOTPPDCACHE =  $(PROTO_DIR)/usr/lib/lp/caches/SUNWhpijs.cache
 
-# version aligned with 12.0
-PYTHON_VERSION = 2.7
-
 # common configure options
 CONFIGURE_OPTIONS +=	--localedir=$(CONFIGURE_LOCALEDIR)
 CONFIGURE_OPTIONS +=	--disable-pp-build
--- a/components/lcms/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/lcms/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -51,10 +51,6 @@
 CXXFLAGS += -features=extensions,nestedaccess,tmplrefstatic
 CXXFLAGS += -template=geninlinefuncs
 
-# When 2.6 goes away, we can remove the version line below, as well as the
-# COMPONENT_POST_{CONFIGURE,INSTALL_ACTION} lines below.
-PYTHON_VERSION=2.6
-
 CONFIGURE_ENV += CFLAGS="$(CFLAGS)"
 CONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
 CONFIGURE_ENV += PYTHON="$(PYTHON)"
@@ -81,22 +77,11 @@
     $(RM) -f $(SOURCE_DIR)/include/icc34.h ; \
     $(CP) -p include/icc34.h $(SOURCE_DIR)/include/ )
 
-# After we have configured, make a copy of the python bits so we
-# can build separate python 2.7 support.
-COMPONENT_POST_CONFIGURE_ACTION += ; (cd $(@D) ; cp -rp python python2.7 ; \
-	 		$(GSED) -i -e 's/2[.]6/2.7/g' python2.7/Makefile)
-
-# After we have built/installed lcms, rebuild/install the python
-# support for python 2.7
-COMPONENT_POST_INSTALL_ACTION = \
-    (cd $(@D)/python2.7 ; $(GMAKE) $(COMPONENT_INSTALL_ARGS) install)
-
 LINT_FLAGS += -I$(COMPONENT_DIR)/$(COMPONENT_SRC)/include
 
 build: $(BUILD_32_and_64)
 
 install: $(INSTALL_32_and_64)
-	$(PYTHON.2.6.32) -m compileall $(PROTO_DIR)/usr/lib/python2.6/vendor-packages
 	$(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/usr/lib/python2.7/vendor-packages
 
 
@@ -107,7 +92,6 @@
 REQUIRED_PACKAGES += image/library/libjpeg
 REQUIRED_PACKAGES += image/library/libtiff
 REQUIRED_PACKAGES += library/lcms
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/c++-runtime
--- a/components/lcms/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/lcms/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,2 +1,3 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lcms-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lcms-27
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/lcms/lcms-py26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
-set name=pkg.fmri \
-    value=pkg:/library/python/lcms-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Python 2.6 bindings for the Little Color Management System"
-set name=com.oracle.info.description \
-    value="the Python 2.6 bindings for the Little Color Management System"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value=org.opensolaris.category.2008:System/Libraries
-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/071
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-#
-dir  path=usr
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/vendor-packages
-dir  path=usr/lib/python2.6/vendor-packages/64
-#
-file path=usr/lib/python2.6/vendor-packages/64/_lcms.so
-file path=usr/lib/python2.6/vendor-packages/_lcms.so
-file path=usr/lib/python2.6/vendor-packages/lcms.py
-#
-license lcms.license license=MIT
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the Python 2.6 runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python2.6 \
-    pkg.debug.depend.path=usr/bin
--- a/components/lcms/lcms.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/lcms/lcms.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -80,8 +80,5 @@
 #
 license lcms.license license=MIT
 depend type=conditional \
-    fmri=library/python/lcms-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/lcms-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
--- a/components/libxml2/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/libxml2/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -53,9 +53,6 @@
 CFLAGS +=	$(CPP_LARGEFILES)
 LDFLAGS +=	$(LD_Z_DEFS) $(LD_Z_TEXT) -lpthread
 
-# Once Python 2.6 goes away, the various POST_*_ACTIONs below can be simplified.
-PYTHON_VERSION=2.6
-
 CONFIGURE_OPTIONS += --disable-static
 CONFIGURE_OPTIONS += --with-pic
 CONFIGURE_OPTIONS += --with-threads
@@ -72,8 +69,8 @@
 # test separate python 2.7 and 3.4 support.  Note for 3.4: .py files need to
 # go in .../vendor-packages (whether building 32-bit or 64-bit) whereas .so
 # files need to go in .../vendor-packages for 32-bit but .../vendor-packages/64
-# for 64-bit.  For 2.6 and 2.7, Python is built 32- and 64-bit, so .py files
-# end up in both places even though only the 32-bit location is needed, but the
+# for 64-bit.  For 2.7, Python is built 32- and 64-bit, so .py files end
+# up in both places even though only the 32-bit location is needed, but the
 # superfluous files in the proto area are harmless; meanwhile, the .so files
 # end up in their proper 32- and 64-bit locations.  But Python 3.4 is built
 # 64-bit only, so we have an extra sed edit below to force the .py files into
@@ -82,38 +79,36 @@
 # where it belongs.  Further, Python 3.4 needs an extra 'm' on the link and
 # include paths, plus a tweak to the binary path; see PEP 3149 for details.
 COMPONENT_POST_CONFIGURE_ACTION = \
-    (cd $(@D) ; cp -rp python python2.7 ; \
-    $(GSED) -i -e 's/2[.]6/2.7/g' `find python2.7 -name Makefile` ; \
-     cd $(@D) ; cp -rp python python3.4 ; \
-    $(GSED) -i -e 's|-lpython2[.]6|-lpython3.4m|' \
-     -e 's|usr/bin/$(MACH64)/python2[.]6|usr/bin/python3.4m|' \
-     -e 's|usr/include/python2[.]6|usr/include/python3.4m|' \
-     -e 's/2[.]6/3.4/g' -e 's|vendor-packages/64|vendor-packages|' \
+    (cd $(@D) ; cp -rp python python3.4 ; \
+    $(GSED) -i -e 's|-lpython2[.]7|-lpython3.4m|' \
+     -e 's|usr/bin/$(MACH64)/python2[.]7|usr/bin/python3.4m|' \
+     -e 's|usr/include/python2[.]7|usr/include/python3.4m|' \
+     -e 's/2[.]7/3.4/g' -e 's|vendor-packages/64|vendor-packages|' \
      `find python3.4 -name Makefile` ; \
 )
 
 # After we have built/installed libxml2, build/install the python
-# support for python 2.7 and 3.4
+# support for python 3.4
 COMPONENT_POST_INSTALL_ACTION = \
-    (cd $(@D)/python2.7 ; $(GMAKE) $(COMPONENT_INSTALL_ARGS) install ; \
-     [ $(BITS) -eq 64 ] && cd $(@D)/python3.4 ; \
-     $(GMAKE) $(COMPONENT_INSTALL_ARGS) install)
+    ( if [ $(BITS) -eq 64 ]; then \
+	cd $(@D)/python3.4 ; \
+	$(GMAKE) $(COMPONENT_INSTALL_ARGS) install ; \
+     else \
+	true ; \
+     fi )
 
-# It's nice to test also python 2.7 and 3.4 modules.
+# It's also nice to test python 3.4 modules.
 COMPONENT_POST_TEST_ACTION = \
-    (cd $(@D)/python2.7 ; $(GMAKE) $(COMPONENT_TEST_ARGS) test ; \
-     [ $(BITS) -eq 64 ] && cd $(@D)/python3.4 ; \
-     $(GMAKE) $(COMPONENT_TEST_ARGS) test)
+    ([ $(BITS) -eq 64 ] && (cd $(@D)/python3.4 ; \
+     $(GMAKE) $(COMPONENT_TEST_ARGS) test))
 
 # We have patched our 64 bit python so it will search for modules only in
 # '64/' directories. Now we need to provide one. Otherwise python will
 # end up using libxml2mod.so installed on system.
 $(BUILD_DIR)/$(MACH64)/.tested: COMPONENT_PRE_TEST_ACTION = ( \
     $(MKDIR) $(@D)/python/.libs/64 \
-             $(@D)/python2.7/.libs/64 \
              $(@D)/python3.4/.libs/64; \
     $(SYMLINK) ../libxml2mod.so $(@D)/python/.libs/64/libxml2mod.so; \
-    $(SYMLINK) ../libxml2mod.so $(@D)/python2.7/.libs/64/libxml2mod.so; \
     $(SYMLINK) ../libxml2mod.so $(@D)/python3.4/.libs/64/libxml2mod.so);
 
 COMPONENT_PRE_TEST_ACTION += \
@@ -125,7 +120,6 @@
 build:		$(BUILD_32_and_64)
 
 install:	$(INSTALL_32_and_64)
-	$(PYTHON.2.6.32) -m compileall $(PROTO_DIR)/usr/lib/python2.6/vendor-packages
 	$(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/usr/lib/python2.7/vendor-packages
 	$(PYTHON.3.4.64) -m compileall $(PROTO_DIR)/usr/lib/python3.4/vendor-packages
 
@@ -134,7 +128,6 @@
 
 REQUIRED_PACKAGES += library/libxml2
 REQUIRED_PACKAGES += library/zlib
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += runtime/python-34
 REQUIRED_PACKAGES += shell/ksh93
--- a/components/libxml2/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/libxml2/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,2 +1,3 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.13.0 library/python/libxml2-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.13.0 library/python/libxml2-27
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/libxml2/libxml2-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/libxml2-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="The XML library - Python 2.6 bindings"
-set name=com.oracle.info.description \
-    value="Python 2.6 bindings for the XML library"
-set name=com.oracle.info.tpno value=$(TPNO)
-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/2009/630
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-file path=usr/lib/python2.6/vendor-packages/64/libxml2mod.so
-file path=usr/lib/python2.6/vendor-packages/drv_libxml2.py
-file path=usr/lib/python2.6/vendor-packages/libxml2.py
-file path=usr/lib/python2.6/vendor-packages/libxml2mod.so
-license libxml2.license license="libxml license"
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.13.0
--- a/components/libxml2/libxml2.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/libxml2/libxml2.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -109,9 +109,6 @@
 legacy pkg=SUNWlxml desc="The XML library" name="The XML library"
 license libxml2.license license="libxml license"
 depend type=conditional \
-    fmri=library/python/libxml2-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/libxml2-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
 depend type=conditional \
--- a/components/libxslt/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/libxslt/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -47,10 +47,6 @@
 CFLAGS +=	$(CPP_LARGEFILES)
 LDFLAGS +=	$(LD_Z_DEFS) $(LD_Z_TEXT) -lpthread
 
-# When 2.6 goes away, we can remove the version line below, as well as the
-# COMPONENT_POST_{CONFIGURE,INSTALL_ACTION} lines below.
-PYTHON_VERSION=2.6
-
 CONFIGURE_OPTIONS += --disable-static
 CONFIGURE_OPTIONS += --with-pic
 CONFIGURE_OPTIONS += --with-python=$(PYTHON.$(BITS))
@@ -67,37 +63,17 @@
 		    libtoolize --force --copy ; aclocal ; \
 		    automake --addmissing --copy ; autoconf)
 
-# After we have configured, make a copy of the python bits so we
-# can build separate python 2.7 support.
-COMPONENT_POST_CONFIGURE_ACTION = (cd $(@D) ; cp -rp python python2.7)
-
-# After we have built/installed libxslt, rebuild/install the python
-# support for python 2.7
-COMPONENT_POST_INSTALL_ACTION = \
-    (cd $(@D)/python2.7 ; $(GMAKE) $(COMPONENT_INSTALL_ARGS) \
-                                PYTHON=$(PYTHON.2.7.$(BITS)) \
-                                PYTHON_VERSION=2.7 \
-                                PYTHON_INCLUDES=/usr/include/python2.7 \
-                                PYTHON_LIBS=$(PYTHON.2.7.VENDOR_PACKAGES) \
-                                PYTHON_SITE_PACKAGES=$(PYTHON.2.7.VENDOR_PACKAGES) \
-                                install)
-
-
-
 # common targets
 build:		$(BUILD_32_and_64)
 
 install:	$(INSTALL_32_and_64)
-	$(PYTHON.2.6.32) -m compileall $(PROTO_DIR)/usr/lib/python2.6/vendor-packages
 	$(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/usr/lib/python2.7/vendor-packages
 
 test:		$(TEST_32_and_64)
 
 
-
 REQUIRED_PACKAGES += library/libxml2
 REQUIRED_PACKAGES += library/libxslt
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += shell/ksh93
 REQUIRED_PACKAGES += system/library
--- a/components/libxslt/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/libxslt/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,2 +1,3 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/libxsl-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/libxsl-27
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/libxslt/libxsl-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/libxsl-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="The XSLT library - Python 2.6 bindings"
-set name=com.oracle.info.description \
-    value="Python 2.6 bindings for the XSLT library"
-set name=com.oracle.info.tpno value=$(TPNO)
-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/2002/244
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/vendor-packages
-dir  path=usr/lib/python2.6/vendor-packages/64
-file path=usr/lib/python2.6/vendor-packages/64/libxsltmod.so
-file path=usr/lib/python2.6/vendor-packages/libxslt.py
-file path=usr/lib/python2.6/vendor-packages/libxsltmod.so
-license xsl.license license=SUNWlxsl-python26.copyright
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
--- a/components/libxslt/libxslt.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/libxslt/libxslt.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -196,8 +196,5 @@
 legacy pkg=SUNWlxsl desc="The XSLT library" name="The XSLT library"
 license xsl.license license=SUNWlxsl.copyright
 depend type=conditional \
-    fmri=library/python/libxsl-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/libxsl-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
--- a/components/logilab-astng/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/logilab-astng/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -39,7 +39,7 @@
 
 # logilab-astng depends on logilab-common, which is not Python 3 ready, so mark
 # this likewise.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/ips.mk
@@ -51,13 +51,6 @@
 
 install:	$(INSTALL_NO_ARCH)
 
-# The tests are run using python 2.7 only and require that
-# the python-27 package is installed (does not have to be the default python). 
-# Testing using python-26 is done manually, since it requires
-# downloading and installing the unittest2 component (not part of Solaris).
-# which provides python 2.7 functionality to the unittest python library
-# in the python2.6 package.
-
 # Use the python 2.7 libraries for testing.
 test: PYTHON_VERSION=2.7
 
@@ -89,5 +82,3 @@
 # unittest_inference [1/75]
 
 test:		$(TEST_NO_ARCH)
-
-
--- a/components/logilab-astng/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/logilab-astng/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/logilab-astng-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/logilab-astng-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/logilab-astng
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/logilab-astng/logilab-astng-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
-set name=pkg.fmri \
-    value=pkg:/library/python/logilab-astng-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="logilab-astng - Python Abstract Syntax Tree New Generation"
-set name=pkg.description \
-    value="logilab-astng provides a common base representation of python source code for projects such as pylint."
-set name=com.oracle.info.description value="the logilab-astng Python 2.6 module"
-set name=com.oracle.info.tpno value=$(TPNO)
-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=LSARC/2009/299
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/vendor-packages
-dir  path=usr/lib/python2.6/vendor-packages/logilab
-dir  path=usr/lib/python2.6/vendor-packages/logilab/astng
-# This file is provided by the logilab-common package
-#file path=usr/lib/python2.6/vendor-packages/logilab/__init__.py #    pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/__init__.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/__pkginfo__.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/as_string.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/bases.py
-dir  path=usr/lib/python2.6/vendor-packages/logilab/astng/brain
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/brain/py2stdlib.py \
-    pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/builder.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/exceptions.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/inference.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/inspector.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/manager.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/mixins.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/node_classes.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/nodes.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/protocols.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/raw_building.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/rebuilder.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/scoped_nodes.py
-file path=usr/lib/python2.6/vendor-packages/logilab/astng/utils.py
-file path=usr/lib/python2.6/vendor-packages/logilab_astng-$(COMPONENT_VERSION)-py2.6-nspkg.pth
-dir  path=usr/lib/python2.6/vendor-packages/logilab_astng-$(COMPONENT_VERSION)-py2.6.egg-info
-file path=usr/lib/python2.6/vendor-packages/logilab_astng-$(COMPONENT_VERSION)-py2.6.egg-info/PKG-INFO
-file path=usr/lib/python2.6/vendor-packages/logilab_astng-$(COMPONENT_VERSION)-py2.6.egg-info/SOURCES.txt
-file path=usr/lib/python2.6/vendor-packages/logilab_astng-$(COMPONENT_VERSION)-py2.6.egg-info/dependency_links.txt
-file path=usr/lib/python2.6/vendor-packages/logilab_astng-$(COMPONENT_VERSION)-py2.6.egg-info/namespace_packages.txt
-file path=usr/lib/python2.6/vendor-packages/logilab_astng-$(COMPONENT_VERSION)-py2.6.egg-info/requires.txt
-file path=usr/lib/python2.6/vendor-packages/logilab_astng-$(COMPONENT_VERSION)-py2.6.egg-info/top_level.txt
-license logilab-astng.license license=LGPLv2.1,GPLv2
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the Python 2.6 runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python2.6 \
-    pkg.debug.depend.path=usr/bin
-
-# force a dependency on the logilab-astng package
-depend type=require \
-    fmri=library/python/logilab-astng@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force a dependency on logilab-common version 0.58.2
-depend type=require fmri=library/python/[email protected]
--- a/components/logilab-astng/logilab-astng.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/logilab-astng/logilab-astng.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
@@ -43,9 +43,6 @@
 file logilab-astng.3 path=usr/share/man/man3/logilab-astng.3
 license logilab-astng.license license=LGPLv2.1,GPLv2
 depend type=conditional \
-    fmri=library/python/logilab-astng-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/logilab-astng-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
 
--- a/components/logilab-common/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/logilab-common/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			8268
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 
@@ -68,13 +68,6 @@
 
 install:	$(INSTALL_NO_ARCH)
 	
-# The tests are run using python 2.7 only and require that the
-# python-27 package is installed (does not have to be the default python). 
-# Testing using python-26 is done manually, since it requires
-# downloading and installing the unittest2 component (not part of Solaris).
-# which provides python 2.7 functionality to the unittest python library
-# in the python2.6 package.
-
 # Use the python 2.7 libraries (via PYTHONPATH setting) for testing.
 test: PYTHON_VERSION=2.7
 
@@ -88,5 +81,4 @@
 
 test:	$(TEST_NO_ARCH)
 
-REQUIRED_PACKAGES += library/python-2/pyorbit-26
 REQUIRED_PACKAGES += library/python/pyorbit-27
--- a/components/logilab-common/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/logilab-common/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/logilab-common-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/logilab-common-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/logilab-common
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/logilab-common/logilab-common-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
-set name=pkg.fmri \
-    value=pkg:/library/python/logilab-common-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="common python libraries for logilab applications"
-set name=pkg.description \
-    value="Modules providing low level functionality shared among various python projects."
-set name=com.oracle.info.description \
-    value="the logilab-common Python 2.6 module"
-set name=com.oracle.info.tpno value=$(TPNO)
-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=LSARC/2009/298
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-link path=usr/bin/pytest target=pytest-2.6 mediator=python mediator-version=2.6
-file path=usr/bin/pytest-2.6
-file path=usr/lib/python2.6/vendor-packages/logilab/__init__.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/__init__.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/__pkginfo__.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/cache.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/changelog.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/clcommands.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/cli.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/compat.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/configuration.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/contexts.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/corbautils.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/daemon.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/date.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/dbf.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/debugger.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/decorators.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/deprecation.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/fileutils.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/graph.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/hg.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/interface.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/logging_ext.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/modutils.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/optik_ext.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/optparser.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/proc.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/pyro_ext.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/pytest.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/registry.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/shellutils.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/sphinx_ext.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/sphinxutils.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/table.py owner=root
-file path=usr/lib/python2.6/vendor-packages/logilab/common/tasksqueue.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/testlib.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/textutils.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/tree.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/umessage.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/ureports/__init__.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/ureports/docbook_writer.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/ureports/html_writer.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/ureports/nodes.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/ureports/text_writer.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/urllib2ext.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/vcgutils.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/visitor.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/xmlrpcutils.py
-file path=usr/lib/python2.6/vendor-packages/logilab/common/xmlutils.py
-file path=usr/lib/python2.6/vendor-packages/logilab_common-$(COMPONENT_VERSION)-py2.6-nspkg.pth
-file path=usr/lib/python2.6/vendor-packages/logilab_common-$(COMPONENT_VERSION)-py2.6.egg-info/PKG-INFO
-file path=usr/lib/python2.6/vendor-packages/logilab_common-$(COMPONENT_VERSION)-py2.6.egg-info/SOURCES.txt
-file path=usr/lib/python2.6/vendor-packages/logilab_common-$(COMPONENT_VERSION)-py2.6.egg-info/dependency_links.txt
-file path=usr/lib/python2.6/vendor-packages/logilab_common-$(COMPONENT_VERSION)-py2.6.egg-info/namespace_packages.txt
-file path=usr/lib/python2.6/vendor-packages/logilab_common-$(COMPONENT_VERSION)-py2.6.egg-info/requires.txt
-file path=usr/lib/python2.6/vendor-packages/logilab_common-$(COMPONENT_VERSION)-py2.6.egg-info/top_level.txt
-license logilab-common.license license=LGPLv2.1,GPLv2
-
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the Python 2.6 runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python2.6 \
-    pkg.debug.depend.path=usr/bin
-
-# pkgdepend should have picked up the dependency on /library/python-2/pyorbit-26;
-# this explicit depend action can be removed if pkgdepend is fixed later
-depend type=require fmri=__TBD \
-    pkg.debug.depend.file=usr/lib/python2.6/vendor-packages/CORBA.py \
-    pkg.debug.reason=usr/lib/python2.6/vendor-packages/logilab/common/corbautils.py
-
-# force a dependency on the logilab-common package
-depend type=require \
-    fmri=library/python/logilab-common@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/logilab-common/logilab-common.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/logilab-common/logilab-common.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
@@ -42,9 +42,6 @@
 file logilab-common.3 path=usr/share/man/man3/logilab-common.3
 license logilab-common.license license=LGPLv2.1,GPLv2
 depend type=conditional \
-    fmri=library/python/logilab-common-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/logilab-common-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
 
--- a/components/meld/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/meld/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -47,7 +47,8 @@
 include $(WS_MAKE_RULES)/justmake.mk
 include $(WS_MAKE_RULES)/ips.mk
 
-PYTHON_VERSION =	2.7
+# Needed to find GNU xgettext.
+PATH =                  $(GNUBIN):$(USRBINDIR)
 
 PKG_MACROS +=		PYVER=$(PYTHON_VERSION)
 
--- a/components/mercurial/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/mercurial/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -40,7 +40,7 @@
 TPNO=			27571
 
 # Mercurial does not yet support Python 3.
-PYTHON_VERSIONS = 2.7 2.6
+PYTHON_VERSIONS = $(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -115,6 +115,5 @@
 test:		install $(TEST_32)
 
 
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mercurial/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+developer/versioning/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/meta-packages/history/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/meta-packages/history/history	Mon Mar 27 15:35:14 2017 -0700
@@ -6,12 +6,12 @@
 [email protected],5.11-0.171
 [email protected],5.11-0.171
 [email protected] desktop/administration/[email protected] incorporate=consolidation/desktop/desktop-incorporation arch=i386
[email protected],5.11-0.175.0.0.0.0.0 library/python-2/[email protected]
[email protected],5.11-0.175.3.20.0.1.0
 [email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] incorporate=consolidation/desktop/desktop-incorporation
[email protected],5.11-0.133 runtime/[email protected]
[email protected] library/python-2/[email protected] incorporate=consolidation/desktop/desktop-incorporation
[email protected],5.11-0.175.3.20.0.1.0
[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected],5.11-0.133 runtime/[email protected]
 [email protected] image/library/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected],5.11-0.133 runtime/[email protected]
@@ -316,7 +316,7 @@
 [email protected] documentation/gnome/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] gnome/applet/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] gnome/window-manager/[email protected]  incorporate=consolidation/desktop/desktop-incorporation
[email protected] data/[email protected]  incorporate=consolidation/desktop/desktop-incorporation
[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] library/audio/gstreamer/plugin/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected],5.11-0.133 developer/build/[email protected]
 [email protected],5.11-0.133 developer/build/[email protected]
@@ -439,10 +439,10 @@
 [email protected] system/file/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected],5.11-0.133 library/libtool/[email protected]
 [email protected],5.11-0.133 runtime/[email protected]
[email protected],5.11-0.175.3.20.0.1.0
 [email protected],5.11-0.133 library/[email protected]
[email protected],5.11-0.133 library/python-2/[email protected]
[email protected],5.11-0.175.3.20.0.1.0
 [email protected],5.11-0.133 library/[email protected]
[email protected],5.11-0.133 library/python-2/[email protected]
 [email protected] web/browser/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected],5.11-0.133 developer/[email protected]
 [email protected],5.11-0.133 service/[email protected]
@@ -469,7 +469,7 @@
 [email protected] library/myspell/dictionary/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected],5.11-0.133 database/[email protected]
 [email protected] incorporate=consolidation/desktop/desktop-incorporation
[email protected],5.11-0.175.0.0.0.0.0 library/python-2/[email protected]
[email protected],5.11-0.175.3.20.0.1.0
 [email protected],5.11-0.133 database/[email protected]
 [email protected],5.11-0.133 database/mysql-51/[email protected]
 [email protected],5.11-0.133 database/mysql-51/[email protected]
@@ -563,19 +563,19 @@
 [email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] library/python-2/[email protected]  incorporate=consolidation/desktop/desktop-incorporation
[email protected],5.11-0.175.0.0.0.0.0 library/python-2/[email protected]
[email protected],5.11-0.175.0.0.0.0.0 library/python-2/[email protected]
[email protected],5.11-0.144 library/python-2/[email protected]
[email protected],5.11-0.133 library/python-2/[email protected]
[email protected] library/python-2/[email protected]
[email protected],5.11-0.175.0.0.0.0.0 library/python-2/[email protected]
[email protected],5.11-0.175.0.0.0.1.0 library/python-2/[email protected]
[email protected],5.11-0.175.0.0.0.0.0 library/python-2/[email protected]
[email protected],5.11-0.175.0.0.0.0.0 library/python-2/[email protected]
[email protected],5.11-0.175.3.20.0.1.0
[email protected],5.11-0.175.3.20.0.1.0
[email protected],5.11-0.175.3.20.0.1.0
[email protected],5.11-0.175.3.20.0.1.0
[email protected]
[email protected],5.11-0.175.3.20.0.1.0
[email protected],5.11-0.175.3.20.0.1.0
[email protected],5.11-0.175.3.20.0.1.0
[email protected],5.11-0.175.3.20.0.1.0
 [email protected] library/python-2/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] incorporate=consolidation/desktop/desktop-incorporation
[email protected] library/python-2/[email protected]  incorporate=consolidation/desktop/desktop-incorporation
[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected] library/java/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 [email protected],5.11-0.133 system/network/routing/[email protected]
 [email protected],5.11-0.133 developer/[email protected]
@@ -730,6 +730,12 @@
 gnome/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 gnome/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 gnome/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 gnome/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 gnome/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 gnome/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
@@ -792,7 +798,19 @@
 library/python-2/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 library/python-2/[email protected],5.11-0.175.0.0.0.0.0
 library/python-2/[email protected] incorporate=consolidation/desktop/desktop-incorporation
-library/python-2/[email protected] library/python-2/[email protected] incorporate=consolidation/desktop/desktop-incorporation
+library/python-2/[email protected] incorporate=consolidation/desktop/desktop-incorporation
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
 mail/evolution/connector/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 mail/thunderbird/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 mail/thunderbird/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
@@ -827,12 +845,14 @@
 release/getting-started/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 release/[email protected] release/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 runtime/ocaml/[email protected],5.11-0.170
+runtime/python-26/[email protected],5.11-0.175.3.20.0.1.0
+runtime/[email protected],5.11-0.175.3.20.0.1.0
 runtime/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 runtime/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 runtime/[email protected],5.11-0.175.3.0.0.24.0
 security/[email protected],5.11-0.175.1.0.0.21.0 security/compliance/[email protected],5.11-0.175.1.0.0.21.0
 security/[email protected],5.11-0.175.1.0.0.21.0 library/perl-5/[email protected],5.11-0.175.1.0.0.21.0
-security/[email protected],5.11-0.175.1.0.0.21.0 library/python-2/[email protected],5.11-0.175.1.0.0.21.0
+security/[email protected],5.11-0.175.3.20.0.1.0
 service/storage/[email protected] desktop/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 system/desktop/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
 system/desktop/locale/[email protected] incorporate=consolidation/desktop/desktop-incorporation
--- a/components/net-snmp/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/net-snmp/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -46,11 +46,6 @@
 CFLAGS += $(studio_C99_ENABLE)
 CPPFLAGS += "-DFALSE_SHARING_ALIGN=64"
 
-# After Python 2.6 goes away, the COMPONENT_POST_{CONFIGURE,INSTALL}_ACTIONs
-# below can go away as well (for INSTALL_ACTION, 32-bit goes away; 64-bit
-# remains).
-PYTHON_VERSION=2.6
-
 CONFIGURE_ENV +=	PYTHONPROG=$(PYTHON.$(BITS))
 
 CONFIGURE_OPTIONS  +=	--with-default-snmp-version=3
@@ -97,10 +92,6 @@
 COMPONENT_PRE_CONFIGURE_ACTION = \
 	($(CLONEY) $(SOURCE_DIR) $(@D); $(CLONEY) $(COMPONENT_DIR)/sun $(@D)/sun)
 
-# After we have configured, make a copy of the python bits so we
-# can build separate python 2.7 support.
-COMPONENT_POST_CONFIGURE_ACTION = (cd $(@D) ; cp -rp python python2.7)
-
 # for the goofy definition of ARCH in the extra Makefiles
 ARCH=32
 ARCH=$(BITS:64=$(MACH64))
@@ -118,11 +109,7 @@
 
 $(INSTALL_32): COMPONENT_POST_INSTALL_ACTION= \
 	($(MKDIR) -p $(BUILD_DIR)/prototype/$(MACH)/etc/net-snmp/snmp/mibs; \
-	 cd $(BUILD_DIR)/$(MACH32)/sun ; ls agent; $(CCSMAKE) -e $(CCSMAKE_ARGS) install) ; \
-	(cd $(@D)/python2.7 ; env PYTHON=$(PYTHON.2.7.$(BITS)) \
-		$(PYTHON.2.7.$(BITS)) ./setup.py install \
-			--root $(PROTO_DIR) \
-			--install-lib=$(PYTHON.2.7.VENDOR_PACKAGES))
+	 cd $(BUILD_DIR)/$(MACH32)/sun ; ls agent; $(CCSMAKE) -e $(CCSMAKE_ARGS) install)
 
 $(INSTALL_64): COMPONENT_POST_INSTALL_ACTION= \
 	($(MKDIR) -p $(BUILD_DIR)/prototype/$(MACH64)/etc/net-snmp/snmp/mibs; \
@@ -144,7 +131,6 @@
 	    $(ENV) srcdir=$(@D) $(DOXYGEN) $(@D)/doxygen.conf)
 	$(TOUCH) $@
 REQUIRED_PACKAGES += runtime/perl-512
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += shell/bash
 REQUIRED_PACKAGES += shell/ksh93
--- a/components/net-snmp/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/net-snmp/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,2 +1,3 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/net-snmp-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/net-snmp-27
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/net-snmp/net-snmp-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/net-snmp-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="The Net-SNMP - Python 2.6 bindings"
-set name=com.oracle.info.description value="Python 2.6 bindings for Net-SNMP"
-set name=com.oracle.info.tpno value=$(TPNO)
-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=LSARC/2008/355
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/vendor-packages
-dir  path=usr/lib/python2.6/vendor-packages/netsnmp
-file path=usr/lib/python2.6/vendor-packages/netsnmp/__init__.py
-file path=usr/lib/python2.6/vendor-packages/netsnmp/client.py
-file path=usr/lib/python2.6/vendor-packages/netsnmp/client_intf.so
-dir  path=usr/lib/python2.6/vendor-packages/netsnmp/tests
-file path=usr/lib/python2.6/vendor-packages/netsnmp/tests/__init__.py
-file path=usr/lib/python2.6/vendor-packages/netsnmp/tests/test.py
-dir  path=usr/lib/python2.6/vendor-packages/netsnmp_python-1.0a1-py2.6.egg-info
-file path=usr/lib/python2.6/vendor-packages/netsnmp_python-1.0a1-py2.6.egg-info/PKG-INFO
-file path=usr/lib/python2.6/vendor-packages/netsnmp_python-1.0a1-py2.6.egg-info/SOURCES.txt
-file path=usr/lib/python2.6/vendor-packages/netsnmp_python-1.0a1-py2.6.egg-info/dependency_links.txt
-file path=usr/lib/python2.6/vendor-packages/netsnmp_python-1.0a1-py2.6.egg-info/top_level.txt
-license COPYING license="BSD, BSD-like"
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
--- a/components/net-snmp/net-snmp-base.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/net-snmp/net-snmp-base.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -723,8 +723,5 @@
 hardlink path=usr/sbin/snmptrapd target=../../usr/lib/isaexec
 license COPYING license="BSD, BSD-like"
 depend type=conditional \
-    fmri=library/python/net-snmp-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/net-snmp-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
--- a/components/nmap/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/nmap/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -56,8 +56,6 @@
 COMPONENT_PRE_CONFIGURE_ACTION = \
 	($(CLONEY) $(SOURCE_DIR) $(@D))
 
-PYTHON_VERSION =	2.7
-
 PKG_MACROS +=		PYVER=$(PYTHON_VERSION)
 
 CONFIGURE_OPTIONS  +=   CFLAGS="$(CFLAGS)"
--- a/components/openscap/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/openscap/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -42,9 +42,6 @@
 CFLAGS+=		-DNDEBUG
 CFLAGS+=		-DOSCAP_THREAD_SAFE
 
-# When Python 2.6 goes away, the _VERSION (singular) line below can go as well,
-# as can the COMPONENT_POST_CONFIGURE_ACTION and possibly more.
-PYTHON_VERSION=		2.6
 PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
@@ -60,17 +57,7 @@
 COMPONENT_PRE_CONFIGURE_ACTION = \
     ($(CLONEY) $(SOURCE_DIR) $(@D))
 
-# We could use a single regular expression to cover all of the following,
-# but we want to be as specific as possible to avoid accidentally catching
-# workspace paths in our substitution.
-COMPONENT_POST_CONFIGURE_ACTION = \
-    (cd $(@D) ; cp -rp swig swig2.7 ; \
-    $(GSED) -i -e 's|usr/include/python2.6|usr/include/python2.7|' \
-     -e 's|$(PYTHON.2.6.VENDOR_PACKAGES.32)|$(PYTHON.2.7.VENDOR_PACKAGES.32)|' \
-     -e 's|PYTHON_VERSION = 2.6|PYTHON_VERSION = 2.7|' swig2.7/Makefile swig2.7/python2/Makefile)
-
 COMPONENT_POST_INSTALL_ACTION =	\
-	(cd $(@D)/swig2.7 ; $(GMAKE) $(COMPONENT_INSTALL_ARGS) install) ; \
 	$(RM) $(PROTO_DIR)/usr/share/openscap/cpe/* && \
 	$(CP) files/cpe/* $(PROTO_DIR)/usr/share/openscap/cpe
 
@@ -114,7 +101,6 @@
 REQUIRED_PACKAGES += library/openldap
 REQUIRED_PACKAGES += library/pcre
 REQUIRED_PACKAGES += runtime/perl-512
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += security/compliance/openscap
 REQUIRED_PACKAGES += system/library
--- a/components/openscap/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/openscap/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,1 +1,2 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/openscap-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/openscap/openscap-python-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/openscap/openscap-python-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -40,10 +40,6 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/openscap_api.py
 license openscap.license license="LGPLv2.1, LGPLv3, OVAL"
 
-# force the rename with an optional dependency on the old name
-$(PYTHON_2.6_ONLY)depend type=optional \
-    fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
-
 # force a dependency on the Python $(PYVER) runtime
 depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
     pkg.debug.depend.path=usr/bin
--- a/components/openscap/openscap.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/openscap/openscap.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -1588,9 +1588,6 @@
     fmri=library/perl-5/openscap-512@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/perl-512
 depend type=conditional \
-    fmri=library/python/openscap-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/openscap-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
 depend type=conditional \
--- a/components/pylint/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/pylint/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -37,7 +37,7 @@
 TPNO=			9026
 
 # Depends on logilab-common which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/ips.mk
@@ -95,13 +95,6 @@
 
 install:	$(INSTALL_32)
 
-# The tests are run using python 2.7 only and require that
-# the python-27 package is installed (does not have to be the default python). 
-# Testing using python-26 is done manually, since it requires
-# downloading and installing the unittest2 component (not part of Solaris),
-# which provides python 2.7 functionality to the unittest python library
-# in the python2.6 package.
-
 # Use the python 2.7 libraries for testing.
 test: PYTHON_VERSION=2.7
 
@@ -130,6 +123,5 @@
 test:		$(TEST_32)
 
 
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += runtime/python-34
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/pylint/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+developer/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/aioeventlet/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/alembic/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/alembic/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -58,6 +58,5 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/alembic/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/alembic/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/alembic-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/alembic-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/alembic
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/amqp/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/amqp/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/amqp-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/amqp-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/amqp
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/anyjson/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/anyjson/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/anyjson-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/anyjson-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/anyjson
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/argparse/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-include ../../../make-rules/shared-macros.mk
-
-COMPONENT_NAME=		argparse
-COMPONENT_VERSION=	1.2.1
-COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
-COMPONENT_ARCHIVE_HASH=	\
-    sha256:ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
-COMPONENT_ARCHIVE_URL=	http://argparse.googlecode.com/files/$(COMPONENT_ARCHIVE)
-COMPONENT_PROJECT_URL=	http://code.google.com/p/argparse/
-COMPONENT_BUGDB=	python-mod/argparse
-
-TPNO=			13152
-
-# The argparse module was integrated into Python 2.7, so we should only deliver
-# a 2.6 module.
-PYTHON_VERSIONS = 2.6
-
-include $(WS_MAKE_RULES)/prep.mk
-include $(WS_MAKE_RULES)/setup.py.mk
-include $(WS_MAKE_RULES)/ips.mk
-
-# common targets
-build:		$(BUILD_32)
-
-install:	$(INSTALL_32)
-
-test:		$(NO_TESTS)
-
-
--- a/components/python/argparse/argparse-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/argparse-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python argparse command-line parsing library"
-set name=pkg.description \
-    value="The argparse module makes it easy to write user-friendly command-line interfaces. The program defines what arguments it requires, and argparse will figure out how to parse those out of sys.argv. The argparse module also automatically generates help and usage messages and issues errors when users give the program invalid arguments."
-set name=com.oracle.info.description \
-    value="the Python argparse command-line parsing library"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream value="Steven Bethard <[email protected]>"
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2013/096
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-file path=usr/lib/python2.6/vendor-packages/argparse-$(COMPONENT_VERSION)-py2.6.egg-info/PKG-INFO
-file path=usr/lib/python2.6/vendor-packages/argparse-$(COMPONENT_VERSION)-py2.6.egg-info/SOURCES.txt
-file path=usr/lib/python2.6/vendor-packages/argparse-$(COMPONENT_VERSION)-py2.6.egg-info/dependency_links.txt
-file path=usr/lib/python2.6/vendor-packages/argparse-$(COMPONENT_VERSION)-py2.6.egg-info/top_level.txt
-file path=usr/lib/python2.6/vendor-packages/argparse.py
-license argparse.license license=PSFv2
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the Python runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python2.6 \
-    pkg.debug.depend.path=usr/bin
-
-# force a dependency on the argparse package
-depend type=require \
-    fmri=library/python/argparse@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/argparse/argparse.license	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-A. HISTORY OF THE SOFTWARE
-==========================
-
-Python was created in the early 1990s by Guido van Rossum at Stichting
-Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
-as a successor of a language called ABC.  Guido remains Python's
-principal author, although it includes many contributions from others.
-
-In 1995, Guido continued his work on Python at the Corporation for
-National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
-in Reston, Virginia where he released several versions of the
-software.
-
-In May 2000, Guido and the Python core development team moved to
-BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
-year, the PythonLabs team moved to Digital Creations (now Zope
-Corporation, see http://www.zope.com).  In 2001, the Python Software
-Foundation (PSF, see http://www.python.org/psf/) was formed, a
-non-profit organization created specifically to own Python-related
-Intellectual Property.  Zope Corporation is a sponsoring member of
-the PSF.
-
-All Python releases are Open Source (see http://www.opensource.org for
-the Open Source Definition).  Historically, most, but not all, Python
-releases have also been GPL-compatible; the table below summarizes
-the various releases.
-
-    Release         Derived     Year        Owner       GPL-
-                    from                                compatible? (1)
-
-    0.9.0 thru 1.2              1991-1995   CWI         yes
-    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
-    1.6             1.5.2       2000        CNRI        no
-    2.0             1.6         2000        BeOpen.com  no
-    1.6.1           1.6         2001        CNRI        yes (2)
-    2.1             2.0+1.6.1   2001        PSF         no
-    2.0.1           2.0+1.6.1   2001        PSF         yes
-    2.1.1           2.1+2.0.1   2001        PSF         yes
-    2.2             2.1.1       2001        PSF         yes
-    2.1.2           2.1.1       2002        PSF         yes
-    2.1.3           2.1.2       2002        PSF         yes
-    2.2.1           2.2         2002        PSF         yes
-    2.2.2           2.2.1       2002        PSF         yes
-    2.2.3           2.2.2       2003        PSF         yes
-    2.3             2.2.2       2002-2003   PSF         yes
-    2.3.1           2.3         2002-2003   PSF         yes
-    2.3.2           2.3.1       2002-2003   PSF         yes
-    2.3.3           2.3.2       2002-2003   PSF         yes
-    2.3.4           2.3.3       2004        PSF         yes
-    2.3.5           2.3.4       2005        PSF         yes
-    2.4             2.3         2004        PSF         yes
-    2.4.1           2.4         2005        PSF         yes
-    2.4.2           2.4.1       2005        PSF         yes
-    2.4.3           2.4.2       2006        PSF         yes
-    2.4.4           2.4.3       2006        PSF         yes
-    2.5             2.4         2006        PSF         yes
-    2.5.1           2.5         2007        PSF         yes
-    2.5.2           2.5.1       2008        PSF         yes
-    2.5.3           2.5.2       2008        PSF         yes
-    2.6             2.5         2008        PSF         yes
-    2.6.1           2.6         2008        PSF         yes
-    2.6.2           2.6.1       2009        PSF         yes
-    2.6.3           2.6.2       2009        PSF         yes
-    2.6.4           2.6.3       2009        PSF         yes
-    2.6.5           2.6.4       2010        PSF         yes
-    2.7             2.6         2010        PSF         yes
-
-Footnotes:
-
-(1) GPL-compatible doesn't mean that we're distributing Python under
-    the GPL.  All Python licenses, unlike the GPL, let you distribute
-    a modified version without making your changes open source.  The
-    GPL-compatible licenses make it possible to combine Python with
-    other software that is released under the GPL; the others don't.
-
-(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
-    because its license has a choice of law clause.  According to
-    CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
-    is "not incompatible" with the GPL.
-
-Thanks to the many outside volunteers who have worked under Guido's
-direction to make these releases possible.
-
-
-B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
-===============================================================
-
-PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
---------------------------------------------
-
-1. This LICENSE AGREEMENT is between the Python Software Foundation
-("PSF"), and the Individual or Organization ("Licensee") accessing and
-otherwise using this software ("Python") in source or binary form and
-its associated documentation.
-
-2. Subject to the terms and conditions of this License Agreement, PSF hereby
-grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
-analyze, test, perform and/or display publicly, prepare derivative works,
-distribute, and otherwise use Python alone or in any derivative version,
-provided, however, that PSF's License Agreement and PSF's notice of copyright,
-i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-Python Software Foundation; All Rights Reserved" are retained in Python alone or
-in any derivative version prepared by Licensee.
-
-3. In the event Licensee prepares a derivative work that is based on
-or incorporates Python or any part thereof, and wants to make
-the derivative work available to others as provided herein, then
-Licensee hereby agrees to include in any such work a brief summary of
-the changes made to Python.
-
-4. PSF is making Python available to Licensee on an "AS IS"
-basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
-DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
-INFRINGE ANY THIRD PARTY RIGHTS.
-
-5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
-FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
-A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
-OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-6. This License Agreement will automatically terminate upon a material
-breach of its terms and conditions.
-
-7. Nothing in this License Agreement shall be deemed to create any
-relationship of agency, partnership, or joint venture between PSF and
-Licensee.  This License Agreement does not grant permission to use PSF
-trademarks or trade name in a trademark sense to endorse or promote
-products or services of Licensee, or any third party.
-
-8. By copying, installing or otherwise using Python, Licensee
-agrees to be bound by the terms and conditions of this License
-Agreement.
-
-
-BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
--------------------------------------------
-
-BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
-
-1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
-office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
-Individual or Organization ("Licensee") accessing and otherwise using
-this software in source or binary form and its associated
-documentation ("the Software").
-
-2. Subject to the terms and conditions of this BeOpen Python License
-Agreement, BeOpen hereby grants Licensee a non-exclusive,
-royalty-free, world-wide license to reproduce, analyze, test, perform
-and/or display publicly, prepare derivative works, distribute, and
-otherwise use the Software alone or in any derivative version,
-provided, however, that the BeOpen Python License is retained in the
-Software, alone or in any derivative version prepared by Licensee.
-
-3. BeOpen is making the Software available to Licensee on an "AS IS"
-basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
-DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
-INFRINGE ANY THIRD PARTY RIGHTS.
-
-4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
-SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
-AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
-DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-5. This License Agreement will automatically terminate upon a material
-breach of its terms and conditions.
-
-6. This License Agreement shall be governed by and interpreted in all
-respects by the law of the State of California, excluding conflict of
-law provisions.  Nothing in this License Agreement shall be deemed to
-create any relationship of agency, partnership, or joint venture
-between BeOpen and Licensee.  This License Agreement does not grant
-permission to use BeOpen trademarks or trade names in a trademark
-sense to endorse or promote products or services of Licensee, or any
-third party.  As an exception, the "BeOpen Python" logos available at
-http://www.pythonlabs.com/logos.html may be used according to the
-permissions granted on that web page.
-
-7. By copying, installing or otherwise using the software, Licensee
-agrees to be bound by the terms and conditions of this License
-Agreement.
-
-
-CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
----------------------------------------
-
-1. This LICENSE AGREEMENT is between the Corporation for National
-Research Initiatives, having an office at 1895 Preston White Drive,
-Reston, VA 20191 ("CNRI"), and the Individual or Organization
-("Licensee") accessing and otherwise using Python 1.6.1 software in
-source or binary form and its associated documentation.
-
-2. Subject to the terms and conditions of this License Agreement, CNRI
-hereby grants Licensee a nonexclusive, royalty-free, world-wide
-license to reproduce, analyze, test, perform and/or display publicly,
-prepare derivative works, distribute, and otherwise use Python 1.6.1
-alone or in any derivative version, provided, however, that CNRI's
-License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
-1995-2001 Corporation for National Research Initiatives; All Rights
-Reserved" are retained in Python 1.6.1 alone or in any derivative
-version prepared by Licensee.  Alternately, in lieu of CNRI's License
-Agreement, Licensee may substitute the following text (omitting the
-quotes): "Python 1.6.1 is made available subject to the terms and
-conditions in CNRI's License Agreement.  This Agreement together with
-Python 1.6.1 may be located on the Internet using the following
-unique, persistent identifier (known as a handle): 1895.22/1013.  This
-Agreement may also be obtained from a proxy server on the Internet
-using the following URL: http://hdl.handle.net/1895.22/1013".
-
-3. In the event Licensee prepares a derivative work that is based on
-or incorporates Python 1.6.1 or any part thereof, and wants to make
-the derivative work available to others as provided herein, then
-Licensee hereby agrees to include in any such work a brief summary of
-the changes made to Python 1.6.1.
-
-4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
-basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
-DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
-INFRINGE ANY THIRD PARTY RIGHTS.
-
-5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
-1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
-A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
-OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-6. This License Agreement will automatically terminate upon a material
-breach of its terms and conditions.
-
-7. This License Agreement shall be governed by the federal
-intellectual property law of the United States, including without
-limitation the federal copyright law, and, to the extent such
-U.S. federal law does not apply, by the law of the Commonwealth of
-Virginia, excluding Virginia's conflict of law provisions.
-Notwithstanding the foregoing, with regard to derivative works based
-on Python 1.6.1 that incorporate non-separable material that was
-previously distributed under the GNU General Public License (GPL), the
-law of the Commonwealth of Virginia shall govern this License
-Agreement only as to issues arising under or with respect to
-Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
-License Agreement shall be deemed to create any relationship of
-agency, partnership, or joint venture between CNRI and Licensee.  This
-License Agreement does not grant permission to use CNRI trademarks or
-trade name in a trademark sense to endorse or promote products or
-services of Licensee, or any third party.
-
-8. By clicking on the "ACCEPT" button where indicated, or by copying,
-installing or otherwise using Python 1.6.1, Licensee agrees to be
-bound by the terms and conditions of this License Agreement.
-
-        ACCEPT
-
-
-CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
---------------------------------------------------
-
-Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
-The Netherlands.  All rights reserved.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Stichting Mathematisch
-Centrum or CWI not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior
-permission.
-
-STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
-THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
-FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--- a/components/python/argparse/argparse.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/argparse@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python argparse command-line parsing library"
-set name=pkg.description \
-    value="The argparse module makes it easy to write user-friendly command-line interfaces. The program defines what arguments it requires, and argparse will figure out how to parse those out of sys.argv. The argparse module also automatically generates help and usage messages and issues errors when users give the program invalid arguments."
-set name=com.oracle.info.description \
-    value="the Python argparse command-line parsing library"
-set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream value="Steven Bethard <[email protected]>"
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2013/096
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-depend type=conditional \
-    fmri=library/python/argparse-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
--- a/components/python/argparse/history	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/argparse-26
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/argparse
--- a/components/python/babel/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/babel/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -58,6 +58,5 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/babel/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/babel/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/babel-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/babel-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/babel
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/barbicanclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/barbicanclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25748
 
 # Depends on keystoneclient which is not Python 3 ready.
-PYTHON_VERSIONS =	2.7 2.6
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/barbicanclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/beautifulsoup4/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/beautifulsoup4/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -52,5 +52,4 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/lxml-26
 REQUIRED_PACKAGES += library/python/lxml-27
--- a/components/python/beautifulsoup4/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/beautifulsoup4/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/beautifulsoup4-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/beautifulsoup4-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/beautifulsoup4
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/boto/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/boto/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			21716
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -81,6 +81,4 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/argparse-26
-REQUIRED_PACKAGES += library/python/filechunkio-26
 REQUIRED_PACKAGES += library/python/filechunkio-27
--- a/components/python/boto/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/boto/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/boto-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/boto-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/boto
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/ceilometerclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ceilometerclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25749
 
 # Depends on keystoneclient which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ceilometerclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/cffi/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/cheetah/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cheetah/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -61,6 +61,5 @@
 test:		$(TEST_32_and_64)
 
 
-REQUIRED_PACKAGES += runtime/python-26/tests
 REQUIRED_PACKAGES += runtime/python-27/tests
 REQUIRED_PACKAGES += system/library
--- a/components/python/cheetah/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cheetah/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cheetah-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cheetah-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cheetah
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/cherrypy/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cherrypy/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cherrypy-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cherrypy-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cherrypy
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/cinderclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/cliff/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cliff/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/cliff-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/cliff-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/cliff
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/cmd2/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cmd2/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cmd2-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cmd2-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cmd2
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/cov-core/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cov-core/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Depends on coverage, which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -51,5 +51,4 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/coverage-26
 REQUIRED_PACKAGES += library/python/coverage-27
--- a/components/python/cov-core/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cov-core/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cov-core-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cov-core-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cov-core
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/coverage/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/coverage/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -39,7 +39,7 @@
 # Not Python 3 ready: weird build issues (tries to download & install
 # "distribute").  But coverage version 3.7.1 has fixed these issues; it
 # builds and publishes fine with Python 3.
-PYTHON_VERSIONS = 2.7 2.6
+PYTHON_VERSIONS = $(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -56,6 +56,5 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += system/library
--- a/components/python/coverage/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/coverage/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/coverage-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/coverage-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/coverage
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/cryptography/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/cssutils/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cssutils/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			7908
 
 # This module is not Python 3 ready: syntax issues.
-PYTHON_VERSIONS = 2.7 2.6
+PYTHON_VERSIONS = $(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -52,33 +52,13 @@
 	/usr/bin/find $(SOURCE_DIR)/src \
 		-name *.py -exec $(GSED) -i -e 's/
//g' "{}" \; ;
 
-# After we have done each Python build, copy it to its own version specific
-# source hierarchy and then adjust the shebang lines as needed, before we 
-# build for Python 2.6. Note that this assumes we are only doing Python 2.7
-# and Python 2.6, and we are doing them in that order.
-COMPONENT_POST_BUILD_ACTION = \
-	(cd $(SOURCE_DIR); cp -rp src src-$(PYTHON_VERSION) ; \
-	cd $(SOURCE_DIR)/src ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/__init__.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/codec.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/errorhandler.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/parse.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/scripts/csscapture.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/scripts/csscombine.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/scripts/cssparse.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/serialize.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' cssutils/tokenize2.py ; \
-	$(GSED) -i -e 's/2[.]7/2.6/g' encutils/__init__.py )
-
-# Copy over the source hierarchy for the appropriate Python build before
-# installing it.
-COMPONENT_PRE_INSTALL_ACTION = \
-	(cd $(SOURCE_DIR); $(RM) -r src ; $(CP) -rp src-$(PYTHON_VERSION) src )
+# Replace "#!/usr/bin/env ..." shebang lines with properly versioned ones.
+COMPONENT_POST_INSTALL_ACTION += \
+        $(FIND) $(PROTOUSRLIBDIR)/python$(PYTHON_VERSION) -name *.py \
+                -exec $(GSED) -i -e 's|env python|python$(PYTHON_VERSION)|' "{}" \; ;
 
 build:          $(BUILD_NO_ARCH)
 
 install:        $(INSTALL_NO_ARCH)
 
 test:           $(TEST_NO_ARCH)
-
-
--- a/components/python/cssutils/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cssutils/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cssutils-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cssutils-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/cssutils
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/cx_oracle/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/cx_oracle/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -36,12 +36,6 @@
 
 TPNO=			26442
 
-# Specifying PYTHON2_VERSIONS so that we don't get the 2.6
-# version built as well. It's an oversight in setup.py.mk
-# that isn't worth fixing since 2.6 is going away very soon.
-PYTHON2_VERSIONS=	2.7
-PYTHON_VERSIONS=	2.7 $(PYTHON3_VERSIONS)
-
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/ips.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/d2to1/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/d2to1/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/d2to1-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/d2to1-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/d2to1
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/decorator/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/decorator/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/decorator-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/decorator-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/decorator
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/django-appconf/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django-appconf/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Depends on django, which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/django-appconf/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django-appconf/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/django-appconf-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/django-appconf-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/django-appconf
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/django-pyscss/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django-pyscss/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			20370
 
 # Depends on django which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/django-pyscss/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/django/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			24189
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -57,7 +57,6 @@
 PUBLISH_TRANSFORMS += $(COMPONENT_DIR)/django-locale-transform
 
 # reset the test environment to only contain PATH and PYTHONPATH
-# Note: some tests do not run on Python 2.6 due to syntax issues.
 COMPONENT_TEST_DIR=     $(SOURCE_DIR)/tests
 COMPONENT_TEST_ARGS +=  --settings test_sqlite
 COMPONENT_TEST_ENV=     PYTHONPATH=$(SOURCE_DIR)
--- a/components/python/django/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.2.0.0.40.0 library/python/django-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.2.0.0.40.0 library/python/django-27
 library/python-2/[email protected],5.11-0.175.2.0.0.40.0 library/python/django
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/django_compressor/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django_compressor/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			21719
 
 # Depends on django, which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/django_compressor/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django_compressor/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/django_compressor-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/django_compressor-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/django_compressor
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/django_openstack_auth/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django_openstack_auth/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25734
 
 # Depends on django, which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/django_openstack_auth/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/django_openstack_auth/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/django_openstack_auth-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/django_openstack_auth-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/django_openstack_auth
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/dnspython/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/dnspython/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 
 # dnspython is not Python3 ready.  dnspython3 should be used for
 # Python3
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/dnspython/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/dogpile.cache/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/dogpile.core/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/enum/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/enum/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			21360
 
 # enum34 is superfluous in Python 3.4
-PYTHON_VERSIONS =	2.7 2.6
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/enum/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/eventlet/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/eventlet/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/eventlet-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/eventlet-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/eventlet
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/extras/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/filechunkio/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/filechunkio/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/filechunkio-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/filechunkio-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/filechunkio
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/fixtures/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/fixtures/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=		26001
 
 # Depends on testtools which is not Python 3 ready.
-PYTHON_VERSIONS=        2.7 2.6
+PYTHON_VERSIONS=        $(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/fixtures/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/formencode/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/formencode/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Code explicitly checks for sys.version < '3.0'
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/formencode/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/formencode/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/formencode-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/formencode-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/formencode
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/futures/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/futures/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -39,9 +39,9 @@
 
 #
 # The futures module was integrated into Python 3.2, so we should only
-# deliver 2.6 & 2.7 modules.
+# deliver 2.x modules.
 #
-PYTHON_VERSIONS = 2.7 2.6
+PYTHON_VERSIONS = $(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/futures/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/glance_store/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/glance_store/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25736
 
 # Depends on oslo.vmware which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/glance_store/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/glanceclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/glanceclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25751
 
 # Depends on keystoneclient & oslo.utils which are not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/glanceclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/greenlet/greenlet-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/greenlet/greenlet-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -39,7 +39,6 @@
 set name=org.opensolaris.arc-caseid value=PSARC/2013/140
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 #
-$(PYTHON_2.6_ONLY)file path=usr/include/python$(PYVER)/greenlet/greenlet.h
 $(PYTHON_2.7_ONLY)file path=usr/include/python$(PYVER)/greenlet/greenlet.h
 $(PYTHON_3.4_ONLY)file path=usr/include/python$(PYVER)m/greenlet/greenlet.h
 file path=usr/lib/python$(PYVER)/vendor-packages/64/greenlet.so
--- a/components/python/greenlet/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/greenlet/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/greenlet-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/greenlet-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/greenlet
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/heatclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/heatclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25752
 
 # Depends on keystoneclient which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/heatclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/httplib2/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/httplib2/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -37,7 +37,7 @@
 # Depends on SocksiPy; for Python 2.x, the module is part of httplib2, but
 # for Python 3.x, it is separate.  Once we add this module, httplib2 will
 # most likely work with Python 3.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/httplib2/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/httplib2/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/httplib2-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/httplib2-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/httplib2
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/idna/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/imaging/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/imaging/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			7909
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS = 2.7 2.6
+PYTHON_VERSIONS = $(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/imaging/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/imaging/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-imaging-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-imaging-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-imaging
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/importlib/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-include ../../../make-rules/shared-macros.mk
-
-COMPONENT_NAME=		importlib
-COMPONENT_VERSION=	1.0.2
-COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
-COMPONENT_ARCHIVE_HASH=	\
-    sha256:24d0966aa76859b288485803f310076512f87377e6c9afe9c28c52a8ccdd328c
-COMPONENT_ARCHIVE_URL=	$(call pypi_url)
-COMPONENT_PROJECT_URL=	https://pypi.python.org/pypi/importlib
-COMPONENT_BUGDB=	python-mod/importlib
-
-TPNO=			14503
-
-# The importlib module was integrated into Python 2.7, so we should
-# only deliver a 2.6 module.
-PYTHON_VERSIONS = 2.6
-
-include $(WS_MAKE_RULES)/prep.mk
-include $(WS_MAKE_RULES)/setup.py.mk
-include $(WS_MAKE_RULES)/ips.mk
-
-ASLR_MODE = $(ASLR_NOT_APPLICABLE)
-
-# common targets
-build:		$(BUILD_NO_ARCH)
-
-install:	$(INSTALL_NO_ARCH)
-
-test:		$(NO_TESTS)
-
-
--- a/components/python/importlib/history	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/importlib-26
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/importlib
--- a/components/python/importlib/importlib-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/importlib-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python importlib module"
-set name=pkg.description \
-    value="The importlib module contains the code from importlib as found in Python 2.7. It is provided so that people who wish to use importlib.import_module() with a version of Python prior to 2.7 or in 3.0 have the function readily available."
-set name=com.oracle.info.description value="the Python importlib module"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream value="Brett Cannon <[email protected]>"
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2013/279
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-file path=usr/lib/python2.6/vendor-packages/importlib-$(COMPONENT_VERSION)-py2.6.egg-info
-file path=usr/lib/python2.6/vendor-packages/importlib/__init__.py
-#
-license importlib.license license=PSFv2
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the Python runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python2.6 \
-    pkg.debug.depend.path=usr/bin
-
-# force a dependency on the importlib package
-depend type=require \
-    fmri=library/python/importlib@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/importlib/importlib.license	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-             PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
-
-1. This LICENSE AGREEMENT is between the Python Software Foundation
-   ("PSF"), and the Individual or Organization ("Licensee") accessing and
-   otherwise using this software ("Python") in source or binary form and
-   its associated documentation.
-
-2. Subject to the terms and conditions of this License Agreement, PSF
-   hereby grants Licensee a nonexclusive, royalty-free, world-wide
-   license to reproduce, analyze, test, perform and/or display publicly,
-   prepare derivative works, distribute, and otherwise use Python
-   alone or in any derivative version, provided, however, that PSF's
-   License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
-   2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights
-   Reserved" are retained in Python alone or in any derivative version
-   prepared by Licensee.
-
-3. In the event Licensee prepares a derivative work that is based on
-   or incorporates Python or any part thereof, and wants to make
-   the derivative work available to others as provided herein, then
-   Licensee hereby agrees to include in any such work a brief summary of
-   the changes made to Python.
-
-4. PSF is making Python available to Licensee on an "AS IS"
-   basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-   IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
-   DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-   FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
-   INFRINGE ANY THIRD PARTY RIGHTS.
-
-5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
-   FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
-   A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
-   OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-6. This License Agreement will automatically terminate upon a material
-   breach of its terms and conditions.
-
-7. Nothing in this License Agreement shall be deemed to create any
-   relationship of agency, partnership, or joint venture between PSF and
-   Licensee. This License Agreement does not grant permission to use PSF
-   trademarks or trade name in a trademark sense to endorse or promote
-   products or services of Licensee, or any third party.
-
-8. By copying, installing or otherwise using Python, Licensee
-   agrees to be bound by the terms and conditions of this License
-   Agreement.
--- a/components/python/importlib/importlib.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/importlib@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python importlib module"
-set name=pkg.description \
-    value="The importlib module contains the code from importlib as found in Python 2.7. It is provided so that people who wish to use importlib.import_module() with a version of Python prior to 2.7 or in 3.0 have the function readily available."
-set name=com.oracle.info.description value="the Python importlib module"
-set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream value="Brett Cannon <[email protected]>"
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2013/279
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-depend type=conditional \
-    fmri=library/python/importlib-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
--- a/components/python/iniparse/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/iniparse/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			21564
 
 # Syntax Errors - not Python 3 ready
-PYTHON_VERSIONS =	2.7 2.6
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/iniparse/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/ipaddr/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ipaddr/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			20373
 
 # ipaddr is not Python 3.x compatible, ipaddress should be used instead.
-PYTHON_VERSIONS=	2.6 2.7
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ipaddr/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ipaddress/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/ipython/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ipython/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -60,7 +60,5 @@
 test:           $(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/python-twisted-26
 REQUIRED_PACKAGES += library/python/python-twisted-27
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
--- a/components/python/ipython/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ipython/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/ipython-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/ipython-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/ipython
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/ironicclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ironicclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25753
 
 # Depends on keystoneclient which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ironicclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/iso8601/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/iso8601/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/iso8601-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/iso8601-27
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/iso8601
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/jinja2/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/jsonpatch/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/jsonpatch/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonpatch-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonpatch-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonpatch
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/jsonpointer/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/jsonpointer/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonpointer-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonpointer-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonpointer
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/jsonrpclib/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/jsonrpclib/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -39,7 +39,7 @@
 
 # This module builds with Python 3, but depends on simplejson.  The following
 # line can be removed when simplejson supports Python 3.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/jsonrpclib/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/jsonrpclib/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonrpclib-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonrpclib-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonrpclib
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/jsonrpclib/jsonrpclib-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/jsonrpclib-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python implementation of JSON-RPC v2.0"
-set name=com.oracle.info.description \
-    value="the Python 2.6 implementation of JSON-RPC v2.0"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream value="Josh Marshall <[email protected]>"
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2012/198
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/vendor-packages
-dir  path=usr/lib/python2.6/vendor-packages/jsonrpclib
-file path=usr/lib/python2.6/vendor-packages/jsonrpclib-$(COMPONENT_VERSION)-py2.6.egg-info
-file path=usr/lib/python2.6/vendor-packages/jsonrpclib/SimpleJSONRPCServer.py
-file path=usr/lib/python2.6/vendor-packages/jsonrpclib/__init__.py
-file path=usr/lib/python2.6/vendor-packages/jsonrpclib/config.py
-file path=usr/lib/python2.6/vendor-packages/jsonrpclib/history.py
-file path=usr/lib/python2.6/vendor-packages/jsonrpclib/jsonclass.py
-file path=usr/lib/python2.6/vendor-packages/jsonrpclib/jsonrpc.py
-license jsonrpclib.license license="Apache v2.0"
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the jsonrpclib package
-depend type=require \
-    fmri=library/python/jsonrpclib@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/jsonrpclib/jsonrpclib.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/jsonrpclib/jsonrpclib.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -33,9 +33,6 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 depend type=conditional \
-    fmri=library/python/jsonrpclib-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/jsonrpclib-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
 
--- a/components/python/jsonschema/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/jsonschema/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonschema-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonschema-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/jsonschema
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/keystoneclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/keystoneclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25754
 
 # Depends on netaddr & python-memcached which are not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/keystoneclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/keystonemiddleware/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/keystonemiddleware/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25737
 
 # Depends on keystoneclient which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/keystonemiddleware/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/kombu/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/kombu/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -40,7 +40,7 @@
 # Depends on pyrabbit which depends on httplib2 which has its own dependency
 # issues (see its Makefile for details).  So don't build for Python 3 until
 # dependencies resolved.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/kombu/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/kombu/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/kombu-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/kombu-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/kombu
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/ldappool/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ldappool/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			21665
 
 # Depends on python-ldap which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ldappool/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/ldtp/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ldtp/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -39,7 +39,7 @@
 TPNO=			10015
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS = 2.7 2.6
+PYTHON_VERSIONS = $(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ldtp/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+system/desktop/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/lesscpy/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/lesscpy/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			16108
 
 # Depends on ply which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 # convert the 'j' in COMPONENT_VERSION to 10
 IPS_COMPONENT_VERSION = 0.9.10
--- a/components/python/lesscpy/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/lesscpy/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lesscpy-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lesscpy-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lesscpy
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/lesscpy/lesscpy-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/lesscpy/lesscpy-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -18,11 +18,9 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
-# argparse is part of python 2.7, but separate in 2.6
-<transform depend type=require fmri=library/python/argparse-27 -> drop>
 set name=pkg.fmri \
     value=pkg:/library/python/lesscpy-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Python LESS Compiler"
@@ -73,9 +71,6 @@
 depend type=optional \
     fmri=library/python-2/lesscpy-$(PYV)@0.9.10,5.11-0.175.3.0.0.16.0
 
-# force a dependency on argparse; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/argparse-$(PYV)
-
 # force a dependency on the lesscpy package
 depend type=require \
     fmri=library/python/lesscpy@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/librabbitmq/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/librabbitmq/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # This module is not Python 3 ready: syntax work needed.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/librabbitmq/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/librabbitmq/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/librabbitmq-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/librabbitmq-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/librabbitmq
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/linecache2/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/lockfile/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/lockfile/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lockfile-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lockfile-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lockfile
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/logutils/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/m2crypto/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/m2crypto/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -37,7 +37,7 @@
 TPNO=			4424
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/m2crypto/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/m2crypto/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/m2crypto-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/m2crypto-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/m2crypto
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/mako/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/mako/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/mako-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/mako-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/mako
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/markdown/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/markdown/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -55,5 +55,4 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/pygments-26
 REQUIRED_PACKAGES += library/python/pygments-27
--- a/components/python/markdown/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/markdown/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/markdown-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/markdown-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/markdown
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/markupsafe/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/markupsafe/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/markupsafe-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/markupsafe-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/markupsafe
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/mock/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/mock/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -36,7 +36,7 @@
 
 # mock has been subsumed into Python starting with 3.3, so no need to build
 # it for Python 3.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/mock/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/mock/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/mock-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/mock-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/mock
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/msgpack/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/mysql/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/mysql/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			21723
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/mysql/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/mysql/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/python-mysql-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/python-mysql-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/python-mysql
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/netaddr/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/netaddr/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			21724
 
 # Depends on iPython which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -64,5 +64,4 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/ipython-26
 REQUIRED_PACKAGES += library/python/ipython-27
--- a/components/python/netaddr/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/netaddr/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/netaddr-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/netaddr-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/netaddr
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/netifaces/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/netifaces/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/netifaces-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/netifaces-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/netifaces
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/networkx/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/networkx/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			21625
 
 # Depends on python-extra (numpy) which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/networkx/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/networkx/networkx-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/networkx/networkx-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -235,10 +235,6 @@
 depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
     pkg.debug.depend.path=usr/bin
 
-# force a dependency on python-extra; pkgdepend work is needed to flush this
-# out.
-$(PYTHON_2.6_ONLY)depend type=require fmri=library/python-2/python-extra-$(PYV)
-
 # force a dependency on decorator; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/decorator-$(PYV)
 
--- a/components/python/neutronclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/neutronclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25755
 
 # Depends on netaddr which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/neutronclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/nose-cover3/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/nose-cover3/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Depends on coverage, which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -51,7 +51,5 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/coverage-26
 REQUIRED_PACKAGES += library/python/coverage-27
-REQUIRED_PACKAGES += library/python/nose-26
 REQUIRED_PACKAGES += library/python/nose-27
--- a/components/python/nose-cover3/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/nose-cover3/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/nose-cover3-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/nose-cover3-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/nose-cover3
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/nose/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/nose/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -49,6 +49,5 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/nose/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/nose/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/nose-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/nose-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/nose
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/novaclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oauthlib/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/openstackclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/openstackclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			24760
 
 # Depends on keystoneclient which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/openstackclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/ordereddict/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-include ../../../make-rules/shared-macros.mk
-
-COMPONENT_NAME=		ordereddict
-COMPONENT_VERSION=	1.1
-COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
-COMPONENT_ARCHIVE_HASH=	\
-    sha256:1c35b4ac206cef2d24816c89f89cf289dd3d38cf7c449bb3fab7bf6d43f01b1f
-COMPONENT_ARCHIVE_URL=	$(call pypi_url)
-COMPONENT_PROJECT_URL=	https://pypi.python.org/pypi/ordereddict
-COMPONENT_BUGDB=	python-mod/ordereddict
-
-TPNO=			14503
-
-# The ordereddict module was integrated into Python 2.7, so we should
-# only deliver a 2.6 module.
-PYTHON_VERSIONS = 2.6
-
-include $(WS_MAKE_RULES)/prep.mk
-include $(WS_MAKE_RULES)/setup.py.mk
-include $(WS_MAKE_RULES)/ips.mk
-
-ASLR_MODE = $(ASLR_NOT_APPLICABLE)
-
-# common targets
-build:		$(BUILD_NO_ARCH)
-
-install:	$(INSTALL_NO_ARCH)
-
-test:		$(NO_TESTS)
-
-
--- a/components/python/ordereddict/history	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/ordereddict-26
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/ordereddict
--- a/components/python/ordereddict/ordereddict-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/ordereddict-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python ordereddict library"
-set name=com.oracle.info.description \
-    value="Drop-in substitute for Py2.7's new collections.OrderedDict. The recipe has big-oh performance that matches regular dictionaries (amortized O(1) insertion/deletion/lookup and O(n) iteration/repr/copy/equality_testing)."
-set name=com.oracle.info.tpno value=$(TPNO)
-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/2013/280
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-file path=usr/lib/python2.6/vendor-packages/ordereddict-$(COMPONENT_VERSION)-py2.6.egg-info
-file path=usr/lib/python2.6/vendor-packages/ordereddict.py
-#
-license LICENSE license=BSD-like
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the Python runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python2.6 \
-    pkg.debug.depend.path=usr/bin
-
-# force a dependency on the ordereddict package
-depend type=require \
-    fmri=library/python/ordereddict@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/ordereddict/ordereddict.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/ordereddict@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python ordereddict library"
-set name=com.oracle.info.description \
-    value="Drop-in substitute for Py2.7's new collections.OrderedDict. The recipe has big-oh performance that matches regular dictionaries (amortized O(1) insertion/deletion/lookup and O(n) iteration/repr/copy/equality_testing)."
-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/2013/280
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-depend type=conditional \
-    fmri=library/python/ordereddict-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
--- a/components/python/oslo.concurrency/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.concurrency/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			25717
 
 # Depends on oslo.utils which is Python 2 only
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.concurrency/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.config/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.config/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/oslo.config-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/oslo.config-27
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/oslo.config
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.context/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.db/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.db/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25740
 
 # Depends on sqlalchemy-migrate which is not Python3 ready.
-PYTHON_VERSIONS =	2.6 2.7
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.db/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.i18n/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.log/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.log/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			25718
 
 # Depends on oslo.serialization which is not Python 3 ready.
-PYTHON_VERSIONS =	2.7 2.6
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.log/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.messaging/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.messaging/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25742
 
 # Depends on oslo.utils which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -56,7 +56,5 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/eventlet-26
 REQUIRED_PACKAGES += library/python/eventlet-27
-REQUIRED_PACKAGES += library/python/oslo.config-26
 REQUIRED_PACKAGES += library/python/oslo.config-27
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.messaging/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.middleware/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.policy/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.policy/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			25889
 
 # Depends on oslo.serialization which is not Python 3 ready.
-PYTHON_VERSIONS =	2.7 2.6
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.policy/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.serialization/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.serialization/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25743
 
 # Depends on oslo.utils which is not Python 3 ready.
-PYTHON_VERSIONS =	2.7 2.6
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.serialization/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.utils/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.utils/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25744
 
 # Depends on netaddr which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.utils/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.versionedobjects/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.versionedobjects/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			23690
 
 # Depends on oslo.serialization which is not Python 3 ready.
-PYTHON_VERSIONS =	2.7 2.6
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.versionedobjects/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/oslo.vmware/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/oslo.vmware/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25745
 
 # Depends on netaddr & suds which are not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/oslo.vmware/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/osprofiler/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/osprofiler/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			20382
 
 # Depends on ceilometerclient, which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/osprofiler/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/paramiko/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/passlib/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/passlib/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/passlib-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/passlib-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/passlib
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/paste.deploy/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/paste.deploy/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Depends on paste which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/paste.deploy/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/paste.deploy/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/paste.deploy-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/paste.deploy-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/paste.deploy
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/paste/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/paste/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -56,7 +56,5 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/pyopenssl-26
 REQUIRED_PACKAGES += library/python/pyopenssl-27
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
--- a/components/python/paste/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/paste/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/paste-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/paste-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/paste
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pbr/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pbr/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/pbr-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/pbr-27
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/pbr
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pecan/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pecan/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			22205
 
 # Depends on logutils and webtest which are not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -60,5 +60,4 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pecan/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pep8/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pep8/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -70,6 +70,5 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/pep8/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pep8/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pep8-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pep8-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pep8
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pip/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pip/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -56,9 +56,7 @@
 
 system-test:    $(NO_TESTS)
 
-REQUIRED_PACKAGES += library/python/requests-26
 REQUIRED_PACKAGES += library/python/requests-27
 REQUIRED_PACKAGES += library/python/requests-34
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/pip/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pip/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.26.0 library/python/pip-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.26.0 library/python/pip-27
 library/python-2/[email protected],5.11-0.175.3.0.0.26.0 library/python/pip
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/ply/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ply/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -37,7 +37,7 @@
 TPNO=			10013
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/ply/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/ply/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/ply-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/ply-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/ply
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/posix_ipc/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/prettytable/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/prettytable/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/prettytable-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/prettytable-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/prettytable
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/psutil/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/psutil/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -38,7 +38,7 @@
 TPNO=			25720
 
 # Syntax Errors, not Python 3 ready
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/psutil/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/py/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/py/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/py-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/py-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/py
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyasn1-modules/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyasn1-modules/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyasn1-modules-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyasn1-modules-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyasn1-modules
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyasn1/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyasn1/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyasn1-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyasn1-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyasn1
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pybonjour/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pybonjour/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pybonjour-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pybonjour-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pybonjour
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pycadf/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pycadf/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25747
 
 # Depends on oslo.messaging which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pycadf/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pycountry/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pycountry/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycountry-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycountry-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycountry
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pycparser/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pycups/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pycups/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -37,7 +37,7 @@
 TPNO=			9025
 
 # Fails to compile: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/pycups/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pycups/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycups-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycups-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycups
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pycups/pycups-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/pycups-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python language bindings for CUPS"
-set name=com.oracle.info.description value="Python 2.6 bindings for CUPS"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification value=org.opensolaris.category.2008:System/Printing
-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/273
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/vendor-packages
-dir  path=usr/lib/python2.6/vendor-packages/64
-file path=usr/lib/python2.6/vendor-packages/64/cups.so
-file path=usr/lib/python2.6/vendor-packages/cups.so
-license pycups.copyright license=LGPLv2.1
-
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the pycups package
-depend type=require \
-    fmri=library/python/pycups@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/pycups/pycups.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pycups/pycups.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -32,9 +32,6 @@
 set name=org.opensolaris.arc-caseid value=PSARC/2008/273
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 depend type=conditional \
-    fmri=library/python/pycups-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=library/python/pycups-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
 
--- a/components/python/pycurl/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pycurl/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -41,7 +41,7 @@
 TPNO=			5912
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/pycurl/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pycurl/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycurl-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycurl-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pycurl
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pydns/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pydns/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Import/syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/pydns/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pydns/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pydns-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pydns-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pydns
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyflakes/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyflakes/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -58,6 +58,5 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/pyflakes/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyflakes/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pyflakes-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pyflakes-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pyflakes
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pygments/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pygments/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -61,6 +61,5 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/pygments/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pygments/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pygments-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pygments-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pygments
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pylxml/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pylxml/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lxml-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lxml-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/lxml
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyopenssl/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyopenssl/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyopenssl-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyopenssl-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyopenssl
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyparsing/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyparsing/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyparsing-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyparsing-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyparsing
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyrabbit/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyrabbit/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -37,7 +37,7 @@
 # pyrabbit itself is Python 3 ready: builds & publishes cleanly.  But it
 # depends on httplib2 which has its own dependency issues (see its Makefile
 # for details).  So don't build for Python 3 until dependencies resolved.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/pyrabbit/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyrabbit/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyrabbit-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyrabbit-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pyrabbit
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyscss/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyscss/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			20384
 
 # Python 3.4 has build errors.  Need to investigate...
-PYTHON_VERSIONS =	2.7 2.6
+PYTHON_VERSIONS =	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -59,10 +59,7 @@
 
 
 REQUIRED_PACKAGES += library/pcre
-REQUIRED_PACKAGES += library/python/pytest-26
 REQUIRED_PACKAGES += library/python/pytest-27
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
-REQUIRED_PACKAGES += library/python/six-26
 REQUIRED_PACKAGES += library/python/six-27
 REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pyscss/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pysendfile/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pytest-capturelog/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pytest-capturelog/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-capturelog-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-capturelog-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-capturelog
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pytest-codecheckers/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pytest-codecheckers/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -48,9 +48,6 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/pep8-26
 REQUIRED_PACKAGES += library/python/pep8-27
-REQUIRED_PACKAGES += library/python/py-26
 REQUIRED_PACKAGES += library/python/py-27
-REQUIRED_PACKAGES += library/python/pyflakes-26
 REQUIRED_PACKAGES += library/python/pyflakes-27
--- a/components/python/pytest-codecheckers/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pytest-codecheckers/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-codecheckers-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-codecheckers-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-codecheckers
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pytest-cov/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pytest-cov/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -37,7 +37,7 @@
 # pytest-cov itself is Python 3 ready (builds & publishes cleanly with usual
 # changes applied) but it depends on cov-core which depends on coverage which
 # needs to be upgraded.  Thus, skip Python 3 until then.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -57,5 +57,4 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/cov-core-26
 REQUIRED_PACKAGES += library/python/cov-core-27
--- a/components/python/pytest-cov/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pytest-cov/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-cov-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-cov-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/pytest-cov
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pytest/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pytest/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -56,6 +56,5 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/pytest/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pytest/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pytest-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pytest-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pytest
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/python-ldap/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/python-ldap/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # This module has syntax issues and thus is not Python 3 ready.
-PYTHON_VERSIONS = 2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -74,8 +74,6 @@
 
 
 REQUIRED_PACKAGES += library/openldap
-REQUIRED_PACKAGES += library/python/pyasn1-26
 REQUIRED_PACKAGES += library/python/pyasn1-27
-REQUIRED_PACKAGES += library/python/pyasn1-modules-26
 REQUIRED_PACKAGES += library/python/pyasn1-modules-27
 REQUIRED_PACKAGES += system/library
--- a/components/python/python-ldap/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/python-ldap/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-ldap-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-ldap-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-ldap
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/python-memcached/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/python-memcached/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			17839
 
 # Syntax errors: not Python 3 ready
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python-memcached/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python-mimeparse/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/python26/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-include ../../../make-rules/shared-macros.mk
-
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
-COMPONENT_NAME=		Python
-COMPONENT_VERSION=	2.6.8
-COMPONENT_PROJECT_URL=	http://python.org/
-COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.bz2
-COMPONENT_ARCHIVE_HASH=	\
-    sha256:c34036718ee1f091736677f543bc7960861cf9fcbea77d49572b59f7f1ab3c3f
-COMPONENT_ARCHIVE_URL=	$(COMPONENT_PROJECT_URL)ftp/python/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
-COMPONENT_BUGDB=	utility/python
-
-TPNO=			9104
-
-include $(WS_MAKE_RULES)/prep.mk
-include $(WS_MAKE_RULES)/configure.mk
-include $(WS_MAKE_RULES)/ips.mk
-include $(WS_MAKE_RULES)/lint-libraries.mk
-
-# We patch auto* files, so regenerate headers and configure
-COMPONENT_PREP_ACTION = \
-	(cd $(@D) ; autoheader ; autoconf)
-
-# This seems horribly wrong, but these defines break the ability to build c99
-# compliant modules or with gcc.
-COMPONENT_POST_CONFIGURE_ACTION = \
-	(cd $(@D) ; \
-	 perl -pi -e 's/(^\#define _POSIX_C_SOURCE.*)/\/* $$1 *\//' pyconfig.h ; \
-	 perl -pi -e 's/^(\#define _XOPEN_SOURCE.*)/\/* $$1 *\//' pyconfig.h ; \
-	 perl -pi -e 's/^(\#define _XOPEN_SOURCE_EXTENDED.*)/\/* $$1 *\//' \
-			pyconfig.h)
-
-# The python build is profile-guided for studio; to see the benefits of that,
-# Python must be compiled with -xO5 and a different build target must be used.
-# Use of xprofile requires that the same options be used during compilation and
-# linking.  The targets chosen are based on Solaris 11 minimum supported system
-# requirements.
-COMPONENT_BUILD_TARGETS = profile-opt
-XPROFILE_DIR = $(BUILD_DIR_$(BITS))/.profile
-PYFLAGS.i386 = -xtarget=opteron -xarch=sse2 -xcache=generic
-PYFLAGS.sparc =
-CFLAGS += -xO5 $(PYFLAGS.$(MACH))
-LDFLAGS += -xO5 $(PYFLAGS.$(MACH))
-
-# we don't want to leak $(CC_BITS) into BASECFLAGS as it causes problems with
-# python-config
-CC +=	$(CFLAGS)
-
-C99MODE=
-CPPFLAGS +=	-IPython
-
-# so we find the ncurses headers
-CPPFLAGS +=	-I/usr/include/ncurses
-# enable large files how they did in JDS
-CPPFLAGS +=	-D_LARGEFILE64_SOURCE
-# libffi for _ctypes
-CPPFLAGS +=	$(shell pkg-config --cflags-only-I libffi)
-
-# Python puts its header files in a special place.
-LINT_FLAGS +=	-I$(SOURCE_DIR)/Include
-
-CONFIGURE_OPTIONS  +=		--infodir=$(CONFIGURE_INFODIR)
-CONFIGURE_OPTIONS  +=		--enable-shared
-CONFIGURE_OPTIONS  +=		--with-system-ffi
-CONFIGURE_OPTIONS  +=		--without-gcc
-CONFIGURE_OPTIONS  +=		ac_cv_opt_olimit_ok=no
-CONFIGURE_OPTIONS  +=		ac_cv_olimit_ok=no
-CONFIGURE_OPTIONS  +=		CPPFLAGS="$(CPPFLAGS)"
-CONFIGURE_OPTIONS  +=		CFLAGS="$(CFLAGS)"
-CONFIGURE_OPTIONS  +=		CCSHARED="$(CC_PIC)"
-CONFIGURE_OPTIONS  +=		CXX="$(CXX)"
-CONFIGURE_OPTIONS  +=		CXXFLAGS="$(CXXFLAGS)"
-CONFIGURE_OPTIONS  +=		DFLAGS="-$(BITS)"
-CONFIGURE_OPTIONS  +=		XPROFILE_DIR="$(XPROFILE_DIR)"
-COMPONENT_BUILD_ENV  +=		DFLAGS="-$(BITS)"
-COMPONENT_BUILD_ENV  +=		XPROFILE_DIR="$(XPROFILE_DIR)"
-
-COMPONENT_TEST_TARGETS =	test
-
-# 64 bit shared objects need to go in a 64-bit directory
-COMPONENT_INSTALL_ARGS.64 += DESTSHARED=$(CONFIGURE_PREFIX)/lib/python2.6/lib-dynload
-
-# common targets
-build:		$(BUILD_32_and_64)
-
-$(INSTALL_32):	$(INSTALL_64)
-
-install:	$(INSTALL_32_and_64)
-
-test:		$(TEST_32_and_64)
-
-
-REQUIRED_PACKAGES += compress/bzip2
-REQUIRED_PACKAGES += database/sqlite-3
-REQUIRED_PACKAGES += developer/library/xprofile
-REQUIRED_PACKAGES += library/database/gdbm
-REQUIRED_PACKAGES += library/libffi
-REQUIRED_PACKAGES += library/ncurses
-REQUIRED_PACKAGES += library/python/tkinter-26
-REQUIRED_PACKAGES += library/readline
-REQUIRED_PACKAGES += library/security/openssl
-REQUIRED_PACKAGES += library/zlib
-REQUIRED_PACKAGES += runtime/tcl-8
-REQUIRED_PACKAGES += runtime/tk-8
-REQUIRED_PACKAGES += shell/ksh93
-REQUIRED_PACKAGES += system/core-os
-REQUIRED_PACKAGES += system/library
-REQUIRED_PACKAGES += system/library/math
-REQUIRED_PACKAGES += system/linker
-REQUIRED_PACKAGES += x11/compatibility/links-xorg
-REQUIRED_PACKAGES += x11/library/libx11
--- a/components/python/python26/Makefile.config	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1275 +0,0 @@
-#
-# This file is a static, checked in version of the build generated python
-# Makefile.pre.  It is packaged in place of the one in the proto area.
-#
-# Generated automatically from Makefile.pre by makesetup.
-# Top-level Makefile for Python
-#
-# As distributed, this file is called Makefile.pre.in; it is processed
-# into the real Makefile by running the script ./configure, which
-# replaces things like @spam@ with values appropriate for your system.
-# This means that if you edit Makefile, your changes get lost the next
-# time you run the configure script.  Ideally, you can do:
-#
-#	./configure
-#	make
-#	make test
-#	make install
-#
-# If you have a previous version of Python installed that you don't
-# want to overwrite, you can use "make altinstall" instead of "make
-# install".  Refer to the "Installing" section in the README file for
-# additional details.
-#
-# See also the section "Build instructions" in the README file.
-
-# === Variables set by makesetup ===
-
-MODOBJS=          Modules/threadmodule.o  Modules/signalmodule.o  Modules/posixmodule.o  Modules/errnomodule.o  Modules/pwdmodule.o  Modules/_sre.o  Modules/_codecsmodule.o  Modules/zipimport.o  Modules/symtablemodule.o  Modules/xxsubtype.o
-MODLIBS=        $(LOCALMODLIBS) $(BASEMODLIBS)
-
-# === Variables set by configure
-VERSION=	2.6
-srcdir=		.
-
-
-CC=		/usr/lib/python2.6/pycc
-CXX=		/usr/lib/python2.6/pyCC
-MAINCC=		$(CC)
-LINKCC=		$(PURIFY) $(MAINCC)
-AR=		ar
-RANLIB=		ranlib
-SVNVERSION=	svnversion $(srcdir)
-
-# Shell used by make (some versions default to the login shell, which is bad)
-SHELL=		/bin/sh
-
-# Use this to make a link between python$(VERSION) and python in $(BINDIR)
-LN=		ln
-
-# Portable install script (configure doesn't always guess right)
-INSTALL=	install
-INSTALL_PROGRAM=${INSTALL}
-INSTALL_SCRIPT= ${INSTALL}
-INSTALL_DATA=	${INSTALL} -m 644
-# Shared libraries must be installed with executable mode on some systems;
-# rather than figuring out exactly which, we always give them executable mode.
-# Also, making them read-only seems to be a good idea...
-INSTALL_SHARED= ${INSTALL} -m 555
-
-MAKESETUP=      $(srcdir)/Modules/makesetup
-
-# Compiler options
-OPT=		-DNDEBUG
-BASECFLAGS=	
-CFLAGS=		$(BASECFLAGS) $(OPT) $(EXTRA_CFLAGS)
-# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
-# be able to build extension modules using the directories specified in the
-# environment variables
-CPPFLAGS=	-I. -IInclude -I$(srcdir)/Include -D_LARGEFILE64_SOURCE -I/usr/lib/libffi-3.0.9/include  
-LDFLAGS=	  -Wl,-zignore -Wl,-zcombreloc -Wl,-Bdirect  -L. -L/usr/gnu/lib
-LDLAST=		
-SGI_ABI=	
-CCSHARED=	-KPIC
-LINKFORSHARED=	
-# Extra C flags added for building the interpreter object files.
-CFLAGSFORSHARED=$(CCSHARED)
-# C flags used for building the interpreter object files
-PY_CFLAGS=	$(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
-
-
-# Machine-dependent subdirectories
-MACHDEP=	sunos5
-
-# Install prefix for architecture-independent files
-prefix=		/usr
-
-# Install prefix for architecture-dependent files
-exec_prefix=	${prefix}
-
-# Install prefix for data files
-datarootdir=    ${prefix}/share
-
-# Expanded directories
-BINDIR=		$(exec_prefix)/bin
-LIBDIR=		/usr/lib
-MANDIR=		/usr/share/man
-INCLUDEDIR=	${prefix}/include
-CONFINCLUDEDIR=	$(exec_prefix)/include
-SCRIPTDIR=	$(prefix)/lib
-
-# Detailed destination directories
-BINLIBDEST=		$(exec_prefix)/lib/python$(VERSION)
-LIBDEST=		$(SCRIPTDIR)/python$(VERSION)
-INCLUDEPY=		$(INCLUDEDIR)/python$(VERSION)
-CONFINCLUDEPY=		$(CONFINCLUDEDIR)/python$(VERSION)
-LIBP=			$(exec_prefix)/lib/python$(VERSION)
-
-# Symbols used for using shared libraries
-SO=		.so
-LDSHARED=	$(CC) -G
-BLDSHARED=	$(CC) -G
-DESTSHARED=	$(BINLIBDEST)/lib-dynload
-
-# Executable suffix (.exe on Windows and Mac OS X)
-EXE=		
-BUILDEXE=	
-
-# Short name and location for Mac OS X Python framework
-UNIVERSALSDK=
-PYTHONFRAMEWORK=	
-PYTHONFRAMEWORKDIR=	no-framework
-PYTHONFRAMEWORKPREFIX=	
-PYTHONFRAMEWORKINSTALLDIR= 
-# Deployment target selected during configure, to be checked
-# by distutils. The export statement is needed to ensure that the
-# deployment target is active during build.
-MACOSX_DEPLOYMENT_TARGET=
-#export MACOSX_DEPLOYMENT_TARGET
-
-# Options to enable prebinding (for fast startup prior to Mac OS X 10.3)
-OTHER_LIBTOOL_OPT=
-
-# Environment to run shared python without installed libraries
-RUNSHARED=       
-
-# Modes for directories, executables and data files created by the
-# install process.  Default to user-only-writable for all file types.
-DIRMODE=	755
-EXEMODE=	755
-FILEMODE=	644
-
-# configure script arguments
-CONFIG_ARGS=	 '--prefix=/usr' '--libdir=/usr/lib' '--mandir=/usr/share/man' '--datadir=/usr/share' '--infodir=/usr/share/info' '--enable-shared' '--with-system-ffi' '--disable-static' 'CC=/usr/lib/python2.6/pycc' 'CFLAGS=' 'LDFLAGS=  -Wl,-zignore -Wl,-zcombreloc -Wl,-Bdirect  -L. -L/usr/gnu/lib' 'CPPFLAGS=-D_LARGEFILE64_SOURCE -I/usr/lib/libffi-3.0.9/include  '
-
-
-# Subdirectories with code
-SRCDIRS= 	Parser Grammar Objects Python Modules Mac
-
-# Other subdirectories
-SUBDIRSTOO=	Include Lib Misc Demo
-
-# Files and directories to be distributed
-CONFIGFILES=	configure configure.in acconfig.h pyconfig.h.in Makefile.pre.in
-DISTFILES=	README ChangeLog $(CONFIGFILES)
-DISTDIRS=	$(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
-DIST=		$(DISTFILES) $(DISTDIRS)
-
-
-LIBRARY=	libpython$(VERSION).a
-LDLIBRARY=      libpython$(VERSION).so
-BLDLIBRARY=     -Wl,-R,$(LIBDIR) -L. -lpython$(VERSION)
-DLLLIBRARY=	
-LDLIBRARYDIR=   
-INSTSONAME=	libpython$(VERSION).so.1.0
-
-
-LIBS=		-lsocket -lnsl -ldl 
-LIBM=		-lm
-LIBC=		
-SYSLIBS=	$(LIBM) $(LIBC)
-SHLIBS=		$(LIBS)
-
-THREADOBJ=	Python/thread.o
-DLINCLDIR=	.
-DYNLOADFILE=	dynload_shlib.o
-MACHDEP_OBJS=	
-LIBOBJDIR=	Python/
-LIBOBJS=	
-UNICODE_OBJS=   Objects/unicodeobject.o Objects/unicodectype.o
-
-PYTHON=		python$(EXE)
-BUILDPYTHON=	python$(BUILDEXE)
-
-# The task to run while instrument when building the profile-opt target
-PROFILE_TASK=	$(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
-#PROFILE_TASK=	$(srcdir)/Lib/test/regrtest.py
-
-# === Definitions added by makesetup ===
-
-LOCALMODLIBS=          
-BASEMODLIBS=
-GLHACK=-Dclear=__GLclear
-PYTHONPATH=$(COREPYTHONPATH)
-COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)$(OLDPATH)
-OLDPATH=:lib-old
-TKPATH=:lib-tk
-EXTRAMACHDEPPATH=
-MACHDEPPATH=:plat-$(MACHDEP)
-TESTPATH=
-SITEPATH=
-DESTPATH=
-MACHDESTLIB=$(BINLIBDEST)
-DESTLIB=$(LIBDEST)
-
-
-
-##########################################################################
-# Modules
-MODULE_OBJS=	\
-		Modules/config.o \
-		Modules/getpath.o \
-		Modules/main.o \
-		Modules/gcmodule.o
-
-# Used of signalmodule.o is not available
-SIGNAL_OBJS=	
-
-
-##########################################################################
-# Grammar
-GRAMMAR_H=	$(srcdir)/Include/graminit.h
-GRAMMAR_C=	$(srcdir)/Python/graminit.c
-GRAMMAR_INPUT=	$(srcdir)/Grammar/Grammar
-
-DTRACE_OBJS=Python/dtrace.o Python/phelper.o
-
-##########################################################################
-# Parser
-PGEN=		Parser/pgen$(EXE)
-
-POBJS=		\
-		Parser/acceler.o \
-		Parser/grammar1.o \
-		Parser/listnode.o \
-		Parser/node.o \
-		Parser/parser.o \
-		Parser/parsetok.o \
-		Parser/bitset.o \
-		Parser/metagrammar.o \
-		Parser/firstsets.o \
-		Parser/grammar.o \
-		Parser/pgen.o
-
-PARSER_OBJS=	$(POBJS) Parser/myreadline.o Parser/tokenizer.o
-
-PGOBJS=		\
-		Objects/obmalloc.o \
-		Python/mysnprintf.o \
-		Parser/tokenizer_pgen.o \
-		Parser/printgrammar.o \
-		Parser/pgenmain.o
-
-PARSER_HEADERS= \
-		Parser/parser.h \
-		Parser/tokenizer.h
-
-PGENOBJS=	$(PGENMAIN) $(POBJS) $(PGOBJS)
-
-##########################################################################
-# AST
-AST_H_DIR=	$(srcdir)/Include
-AST_H=		$(AST_H_DIR)/Python-ast.h
-AST_C_DIR=	$(srcdir)/Python
-AST_C=		$(AST_C_DIR)/Python-ast.c
-AST_ASDL=	$(srcdir)/Parser/Python.asdl
-
-ASDLGEN_FILES=	$(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py
-# XXX Note that a build now requires Python exist before the build starts
-ASDLGEN=	$(srcdir)/Parser/asdl_c.py
-
-##########################################################################
-# Python
-PYTHON_OBJS=	\
-		Python/_warnings.o \
-		Python/Python-ast.o \
-		Python/asdl.o \
-		Python/ast.o \
-		Python/bltinmodule.o \
-		Python/ceval.o \
-		Python/compile.o \
-		Python/codecs.o \
-		Python/errors.o \
-		Python/frozen.o \
-		Python/frozenmain.o \
-		Python/future.o \
-		Python/getargs.o \
-		Python/getcompiler.o \
-		Python/getcopyright.o \
-		Python/getmtime.o \
-		Python/getplatform.o \
-		Python/getversion.o \
-		Python/graminit.o \
-		Python/import.o \
-		Python/importdl.o \
-		Python/marshal.o \
-		Python/modsupport.o \
-		Python/mystrtoul.o \
-		Python/mysnprintf.o \
-		Python/peephole.o \
-		Python/pyarena.o \
-		Python/pyfpe.o \
-		Python/pymath.o \
-		Python/pystate.o \
-		Python/pythonrun.o \
-		Python/structmember.o \
-		Python/symtable.o \
-		Python/sysmodule.o \
-		Python/traceback.o \
-		Python/getopt.o \
-		Python/pystrcmp.o \
-		Python/pystrtod.o \
-		Python/formatter_unicode.o \
-		Python/formatter_string.o \
-		Python/$(DYNLOADFILE) \
-		$(DTRACE_OBJS) \
-		$(LIBOBJS) \
-		$(MACHDEP_OBJS) \
-		$(THREADOBJ)
-
-
-##########################################################################
-# Objects
-OBJECT_OBJS=	\
-		Objects/abstract.o \
-		Objects/boolobject.o \
-		Objects/bufferobject.o \
-		Objects/bytes_methods.o \
-		Objects/bytearrayobject.o \
-		Objects/cellobject.o \
-		Objects/classobject.o \
-		Objects/cobject.o \
-		Objects/codeobject.o \
-		Objects/complexobject.o \
-		Objects/descrobject.o \
-		Objects/enumobject.o \
-		Objects/exceptions.o \
-		Objects/genobject.o \
-		Objects/fileobject.o \
-		Objects/floatobject.o \
-		Objects/frameobject.o \
-		Objects/funcobject.o \
-		Objects/intobject.o \
-		Objects/iterobject.o \
-		Objects/listobject.o \
-		Objects/longobject.o \
-		Objects/dictobject.o \
-		Objects/methodobject.o \
-		Objects/moduleobject.o \
-		Objects/object.o \
-		Objects/obmalloc.o \
-		Objects/rangeobject.o \
-		Objects/setobject.o \
-		Objects/sliceobject.o \
-		Objects/stringobject.o \
-		Objects/structseq.o \
-		Objects/tupleobject.o \
-		Objects/typeobject.o \
-		Objects/weakrefobject.o \
-		$(UNICODE_OBJS)
-
-
-##########################################################################
-# objects that get linked into the Python library
-LIBRARY_OBJS=	\
-		Modules/getbuildinfo.o \
-		$(PARSER_OBJS) \
-		$(OBJECT_OBJS) \
-		$(PYTHON_OBJS) \
-		$(MODULE_OBJS) \
-		$(SIGNAL_OBJS) \
-		$(MODOBJS)
-
-#########################################################################
-# Rules
-
-# Default target
-all:		build_all
-build_all:	$(BUILDPYTHON) oldsharedmods sharedmods
-
-# Compile a binary with gcc profile guided optimization.
-profile-opt:
-	@echo "Building with support for profile generation:"
-	$(MAKE) clean
-	$(MAKE) build_all_generate_profile
-	@echo "Running benchmark to generate profile data:"
-	$(MAKE) profile-removal
-	$(MAKE) run_profile_task
-	@echo "Rebuilding with profile guided optimizations:"
-	$(MAKE) clean
-	$(MAKE) build_all_use_profile
-
-build_all_generate_profile:
-	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
-
-run_profile_task:
-	./$(BUILDPYTHON) $(PROFILE_TASK)
-
-build_all_use_profile:
-	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
-
-coverage:
-	@echo "Building with support for coverage checking:"
-	$(MAKE) clean
-	$(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
-
-
-# Build the interpreter
-$(BUILDPYTHON):	Modules/python.o $(LIBRARY) $(LDLIBRARY)
-		$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
-			Modules/python.o \
-			$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-
-platform: $(BUILDPYTHON)
-	$(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
-
-
-# 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
-
-# Build static library
-# avoid long command lines, same as LIBRARY_OBJS
-$(LIBRARY): $(LIBRARY_OBJS)
-	-rm -f $@
-	$(AR) cr $@ Modules/getbuildinfo.o
-	$(AR) cr $@ $(PARSER_OBJS)
-	$(AR) cr $@ $(OBJECT_OBJS)
-	$(AR) cr $@ $(PYTHON_OBJS)
-	$(AR) cr $@ $(MODULE_OBJS) $(SIGNAL_OBJS)
-	$(AR) cr $@ $(MODOBJS)
-	$(RANLIB) $@
-
-libpython$(VERSION).so: $(LIBRARY_OBJS)
-	if test $(INSTSONAME) != $(LDLIBRARY); then \
-		$(LDSHARED) $(LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-		$(LN) -f $(INSTSONAME) $@; \
-	else \
-		$(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-	fi
-
-libpython$(VERSION).dylib: $(LIBRARY_OBJS)
-	 $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(VERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-		 
-
-libpython$(VERSION).sl: $(LIBRARY_OBJS)
-	$(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST)
-
-# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
-# minimal framework (not including the Lib directory and such) in the current
-# directory.
-RESSRCDIR=Mac/Resources/framework
-$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
-		$(LIBRARY) \
-		$(RESSRCDIR)/Info.plist
-	$(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
-	if test "${UNIVERSALSDK}"; then \
-		$(CC) -o $(LDLIBRARY)  -dynamiclib \
-			-isysroot "${UNIVERSALSDK}" \
-			-all_load $(LIBRARY) -Wl,-single_module \
-			-install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \
-			-compatibility_version $(VERSION) \
-			-current_version $(VERSION); \
-        else \
-		/usr/bin/libtool -o $(LDLIBRARY) -dynamic $(OTHER_LIBTOOL_OPT) $(LIBRARY) \
-			 ;\
-	fi
-	$(INSTALL) -d -m $(DIRMODE)  \
-		$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj
-	$(INSTALL_DATA) $(RESSRCDIR)/Info.plist \
-		$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/Info.plist
-	$(LN) -fsn $(VERSION) $(PYTHONFRAMEWORKDIR)/Versions/Current
-	$(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)
-	$(LN) -fsn Versions/Current/Headers $(PYTHONFRAMEWORKDIR)/Headers
-	$(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources
-
-# This rule builds the Cygwin Python DLL and import library if configured
-# for a shared core library; otherwise, this rule is a noop.
-$(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS)
-	if test -n "$(DLLLIBRARY)"; then \
-		$(LDSHARED) $(LDFLAGS) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
-			$(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \
-	else true; \
-	fi
-
-
-oldsharedmods: $(SHAREDMODS)
-
-
-Makefile Modules/config.c: Makefile.pre \
-				$(srcdir)/Modules/config.c.in \
-				$(MAKESETUP) \
-				Modules/Setup.config \
-				Modules/Setup \
-				Modules/Setup.local
-	$(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \
-				-s Modules \
-				Modules/Setup.config \
-				Modules/Setup.local \
-				Modules/Setup
-	@mv config.c Modules
-	@echo "The Makefile was updated, you may need to re-run make."
-
-
-Modules/Setup: $(srcdir)/Modules/Setup.dist
-	@if test -f Modules/Setup; then \
-		echo "-----------------------------------------------"; \
-		echo "Modules/Setup.dist is newer than Modules/Setup;"; \
-		echo "check to make sure you have all the updates you"; \
-		echo "need in your Modules/Setup file."; \
-		echo "Usually, copying Modules/Setup.dist to Modules/Setup will work."; \
-		echo "-----------------------------------------------"; \
-	fi
-
-############################################################################
-# Special rules for object files
-
-Modules/getbuildinfo.o: $(PARSER_OBJS) \
-		$(OBJECT_OBJS) \
-		$(PYTHON_OBJS) \
-		$(MODULE_OBJS) \
-		$(SIGNAL_OBJS) \
-		$(MODOBJS) \
-		$(srcdir)/Modules/getbuildinfo.c
-	$(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c
-
-Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
-	$(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
-		-DPREFIX='"$(prefix)"' \
-		-DEXEC_PREFIX='"$(exec_prefix)"' \
-		-DVERSION='"$(VERSION)"' \
-		-DVPATH='"$(VPATH)"' \
-		-o $@ $(srcdir)/Modules/getpath.c
-
-Modules/python.o: $(srcdir)/Modules/python.c
-	$(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
-
-
-$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
-		-@$(INSTALL) -d Include
-		-$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-
-$(PGEN):	$(PGENOBJS)
-		$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
-
-Parser/grammar.o:	$(srcdir)/Parser/grammar.c \
-				$(srcdir)/Include/token.h \
-				$(srcdir)/Include/grammar.h
-Parser/metagrammar.o:	$(srcdir)/Parser/metagrammar.c
-
-Parser/tokenizer_pgen.o:	$(srcdir)/Parser/tokenizer.c
-
-Parser/pgenmain.o:	$(srcdir)/Include/parsetok.h
-
-$(AST_H): $(AST_ASDL) $(ASDLGEN_FILES)
-	$(ASDLGEN) -h $(AST_H_DIR) $(AST_ASDL)
-
-$(AST_C): $(AST_ASDL) $(ASDLGEN_FILES)
-	$(ASDLGEN) -c $(AST_C_DIR) $(AST_ASDL)
-
-Python/compile.o Python/symtable.o: $(GRAMMAR_H) $(AST_H)
-
-Python/getplatform.o: $(srcdir)/Python/getplatform.c
-		$(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
-
-Python/importdl.o: $(srcdir)/Python/importdl.c
-		$(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-
-Objects/unicodectype.o:	$(srcdir)/Objects/unicodectype.c \
-				$(srcdir)/Objects/unicodetype_db.h
-
-STRINGLIB_HEADERS= \
-		$(srcdir)/Include/bytes_methods.h \
-		$(srcdir)/Objects/stringlib/count.h \
-		$(srcdir)/Objects/stringlib/ctype.h \
-		$(srcdir)/Objects/stringlib/fastsearch.h \
-		$(srcdir)/Objects/stringlib/find.h \
-		$(srcdir)/Objects/stringlib/formatter.h \
-		$(srcdir)/Objects/stringlib/partition.h \
-		$(srcdir)/Objects/stringlib/stringdefs.h \
-		$(srcdir)/Objects/stringlib/string_format.h \
-		$(srcdir)/Objects/stringlib/transmogrify.h \
-		$(srcdir)/Objects/stringlib/unicodedefs.h \
-		$(srcdir)/Objects/stringlib/localeutil.h
-
-Objects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c \
-				$(STRINGLIB_HEADERS)
-
-Objects/bytearrayobject.o: $(srcdir)/Objects/bytearrayobject.c \
-				$(STRINGLIB_HEADERS)
-
-Objects/stringobject.o: $(srcdir)/Objects/stringobject.c \
-				$(STRINGLIB_HEADERS)
-
-Python/formatter_unicode.o: $(srcdir)/Python/formatter_unicode.c \
-				$(STRINGLIB_HEADERS)
-
-Python/formatter_string.o: $(srcdir)/Python/formatter_string.c \
-				$(STRINGLIB_HEADERS)
-
-Python/phelper.o: $(srcdir)/Python/phelper.d
-	dtrace -o $@ -DPHELPER $(DFLAGS) $(CPPFLAGS) -C -G -s $(srcdir)/Python/phelper.d
-
-Python/python.h: $(srcdir)/Python/python.d
-	dtrace -o $@ $(DFLAGS) -C -h -s $(srcdir)/Python/python.d
-
-Python/ceval.o: Python/python.h
-
-Python/dtrace.o: $(srcdir)/Python/python.d Python/ceval.o
-	dtrace -o $@ $(DFLAGS) -C -G -s $(srcdir)/Python/python.d Python/ceval.o
-
-############################################################################
-# Header files
-
-PYTHON_HEADERS= \
-		Include/Python-ast.h \
-		Include/Python.h \
-		Include/abstract.h \
-		Include/asdl.h \
-		Include/ast.h \
-		Include/bitset.h \
-		Include/boolobject.h \
-		Include/bytearrayobject.h \
-		Include/bytes_methods.h \
-		Include/bytesobject.h \
-		Include/bufferobject.h \
-		Include/cellobject.h \
-		Include/ceval.h \
-		Include/classobject.h \
-		Include/cobject.h \
-		Include/code.h \
-		Include/codecs.h \
-		Include/compile.h \
-		Include/complexobject.h \
-		Include/descrobject.h \
-		Include/dictobject.h \
-		Include/enumobject.h \
-		Include/errcode.h \
-		Include/eval.h \
-		Include/fileobject.h \
-		Include/floatobject.h \
-		Include/frameobject.h \
-		Include/funcobject.h \
-		Include/genobject.h \
-		Include/import.h \
-		Include/intobject.h \
-		Include/intrcheck.h \
-		Include/iterobject.h \
-		Include/listobject.h \
-		Include/longintrepr.h \
-		Include/longobject.h \
-		Include/marshal.h \
-		Include/metagrammar.h \
-		Include/methodobject.h \
-		Include/modsupport.h \
-		Include/moduleobject.h \
-		Include/node.h \
-		Include/object.h \
-		Include/objimpl.h \
-		Include/opcode.h \
-		Include/osdefs.h \
-		Include/parsetok.h \
-		Include/patchlevel.h \
-		Include/pgen.h \
-		Include/pgenheaders.h \
-		Include/pyarena.h \
-		Include/pydebug.h \
-		Include/pyerrors.h \
-		Include/pyfpe.h \
-		Include/pymath.h \
-		Include/pygetopt.h \
-		Include/pymem.h \
-		Include/pyport.h \
-		Include/pystate.h \
-		Include/pystrcmp.h \
-		Include/pystrtod.h \
-		Include/pythonrun.h \
-		Include/pythread.h \
-		Include/rangeobject.h \
-		Include/setobject.h \
-		Include/sliceobject.h \
-		Include/stringobject.h \
-		Include/structmember.h \
-		Include/structseq.h \
-		Include/symtable.h \
-		Include/sysmodule.h \
-		Include/traceback.h \
-		Include/tupleobject.h \
-		Include/ucnhash.h \
-		Include/unicodeobject.h \
-		Include/warnings.h \
-		Include/weakrefobject.h \
-		pyconfig.h \
-		$(PARSER_HEADERS)
-
-$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
-
-
-######################################################################
-
-# Test the interpreter (twice, once without .pyc files, once with)
-# In the past, we've had problems where bugs in the marshalling or
-# elsewhere caused bytecode read from .pyc files to behave differently
-# than bytecode generated directly from a .py source file.  Sometimes
-# the bytecode read from a .pyc file had the bug, somtimes the directly
-# generated bytecode.  This is sometimes a very shy bug needing a lot of
-# sample data.
-
-TESTOPTS=	-l $(EXTRATESTOPTS)
-TESTPROG=	$(srcdir)/Lib/test/regrtest.py
-TESTPYTHON=	$(RUNSHARED) ./$(BUILDPYTHON) -E -tt
-test:		all platform
-		-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
-		-$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
-		$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
-
-testall:	all platform
-		-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
-		$(TESTPYTHON) $(srcdir)/Lib/compileall.py
-		-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
-		-$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
-		$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
-
-#  Run the unitests for both architectures in a Universal build on OSX
-#  Must be run on an Intel box.
-testuniversal:	all platform
-		if [ `arch` != 'i386' ];then \
-			echo "This can only be used on OSX/i386" ;\
-			exit 1 ;\
-		fi
-		-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
-		-$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
-		$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
-		$(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) $(TESTOPTS) -uall
-
-
-# Like testall, but with a single pass only
-# run an optional script to include some information about the build environment
-buildbottest:	all platform
-		-@if which pybuildbot.identify >/dev/null 2>&1; then \
-			pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \
-		fi
-		$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall -rw
-
-QUICKTESTOPTS=	$(TESTOPTS) -x test_thread test_signal test_strftime \
-		test_unicodedata test_re test_sre test_select test_poll \
-		test_linuxaudiodev test_struct test_sunaudiodev test_zlib
-quicktest:	all platform
-		-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
-		-$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
-		$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
-
-MEMTESTOPTS=    $(QUICKTESTOPTS) -x test_dl test___all__ test_fork1 \
-		test_longexp
-memtest:	all platform
-		-rm -f $(srcdir)/Lib/test/*.py[co]
-		-$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
-		$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
-
-# Install everything
-install:	 altinstall bininstall maninstall 
-
-# Install almost everything without disturbing previous versions
-altinstall:	 altbininstall libinstall inclinstall libainstall \
-                sharedinstall oldsharedinstall 
-
-# Install shared libraries enabled by Setup
-DESTDIRS=	$(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
-
-oldsharedinstall: $(DESTSHARED) $(SHAREDMODS)
-		@for i in X $(SHAREDMODS); do \
-		  if test $$i != X; then \
-		    echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
-		    $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
-		  fi; \
-		done
-
-$(DESTSHARED):
-		@for i in $(DESTDIRS); \
-		do \
-			if test ! -d $(DESTDIR)$$i; then \
-				echo "Creating directory $$i"; \
-				$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
-			else    true; \
-			fi; \
-		done
-
-
-# Install the interpreter (by creating a hard link to python$(VERSION))
-bininstall:	altbininstall
-	-if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
-	then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
-	else true; \
-	fi
-	(cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON))
-	-rm -f $(DESTDIR)$(BINDIR)/python-config
-	(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python-config)
-
-# Install the interpreter with $(VERSION) affixed
-# This goes into $(exec_prefix)
-altbininstall:	$(BUILDPYTHON)
-	@for i in $(BINDIR) $(LIBDIR); \
-	do \
-		if test ! -d $(DESTDIR)$$i; then \
-			echo "Creating directory $$i"; \
-			$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
-		else	true; \
-		fi; \
-	done
-	$(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
-	if test -f $(LDLIBRARY); then \
-		if test -n "$(DLLLIBRARY)" ; then \
-			$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
-		else \
-			$(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
-			if test $(LDLIBRARY) != $(INSTSONAME); then \
-				(cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \
-			fi \
-		fi; \
-	else	true; \
-	fi
-
-# Install the manual page
-maninstall:
-	@for i in $(MANDIR) $(MANDIR)/man1; \
-	do \
-		if test ! -d $(DESTDIR)$$i; then \
-			echo "Creating directory $$i"; \
-			$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
-		else	true; \
-		fi; \
-	done
-	$(INSTALL_DATA) $(srcdir)/Misc/python.man \
-		$(DESTDIR)$(MANDIR)/man1/python.1
-
-# Install the library
-PLATDIR=	plat-$(MACHDEP)
-EXTRAPLATDIR= 
-EXTRAMACHDEPPATH=
-MACHDEPS=	$(PLATDIR) $(EXTRAPLATDIR)
-XMLLIBSUBDIRS=  xml xml/dom xml/etree xml/parsers xml/sax
-PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \
-	plat-mac/lib-scriptpackages/_builtinSuites \
-	plat-mac/lib-scriptpackages/CodeWarrior \
-	plat-mac/lib-scriptpackages/Explorer \
-	plat-mac/lib-scriptpackages/Finder \
-	plat-mac/lib-scriptpackages/Netscape \
-	plat-mac/lib-scriptpackages/StdSuites \
-	plat-mac/lib-scriptpackages/SystemEvents \
-	plat-mac/lib-scriptpackages/Terminal 
-PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
-LIBSUBDIRS=	lib-tk site-packages test test/output test/data \
-		test/decimaltestdata \
-		encodings compiler hotshot \
-		email email/mime email/test email/test/data \
-		json json/tests \
-		sqlite3 sqlite3/test \
-		logging bsddb bsddb/test csv wsgiref \
-		lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
-		ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \
-		distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
-		multiprocessing multiprocessing/dummy \
-		lib-old \
-		curses $(MACHDEPS)
-libinstall:	build_all $(srcdir)/Lib/$(PLATDIR)
-	@for i in $(SCRIPTDIR) $(LIBDEST); \
-	do \
-		if test ! -d $(DESTDIR)$$i; then \
-			echo "Creating directory $$i"; \
-			$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
-		else	true; \
-		fi; \
-	done
-	@for d in $(LIBSUBDIRS); \
-	do \
-		a=$(srcdir)/Lib/$$d; \
-		if test ! -d $$a; then continue; else true; fi; \
-		b=$(LIBDEST)/$$d; \
-		if test ! -d $(DESTDIR)$$b; then \
-			echo "Creating directory $$b"; \
-			$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \
-		else	true; \
-		fi; \
-	done
-	@for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
-	do \
-		if test -x $$i; then \
-			$(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
-			echo $(INSTALL_SCRIPT) $$i $(LIBDEST); \
-		else \
-			$(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \
-			echo $(INSTALL_DATA) $$i $(LIBDEST); \
-		fi; \
-	done
-	@for d in $(LIBSUBDIRS); \
-	do \
-		a=$(srcdir)/Lib/$$d; \
-		if test ! -d $$a; then continue; else true; fi; \
-		if test `ls $$a | wc -l` -lt 1; then continue; fi; \
-		b=$(LIBDEST)/$$d; \
-		for i in $$a/*; \
-		do \
-			case $$i in \
-			*CVS) ;; \
-			*.py[co]) ;; \
-			*.orig) ;; \
-			*~) ;; \
-			*) \
-				if test -d $$i; then continue; fi; \
-				if test -x $$i; then \
-				    echo $(INSTALL_SCRIPT) $$i $$b; \
-				    $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \
-				else \
-				    echo $(INSTALL_DATA) $$i $$b; \
-				    $(INSTALL_DATA) $$i $(DESTDIR)$$b; \
-				fi;; \
-			esac; \
-		done; \
-	done
-	$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
-	PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
-		./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
-		-d $(LIBDEST) -f \
-		-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
-	PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-		./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
-		-d $(LIBDEST) -f \
-		-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
-	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
-		./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
-		-d $(LIBDEST)/site-packages -f \
-		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-		./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
-		-d $(LIBDEST)/site-packages -f \
-		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-		./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
-
-# Create the PLATDIR source directory, if one wasn't distributed..
-$(srcdir)/Lib/$(PLATDIR):
-	mkdir $(srcdir)/Lib/$(PLATDIR)
-	cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen
-	export PATH; PATH="`pwd`:$$PATH"; \
-	export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
-	export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
-	export EXE; EXE="$(BUILDEXE)"; \
-	cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
-
-# Install the include files
-INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
-inclinstall:
-	@for i in $(INCLDIRSTOMAKE); \
-	do \
-		if test ! -d $(DESTDIR)$$i; then \
-			echo "Creating directory $$i"; \
-			$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
-		else	true; \
-		fi; \
-	done
-	@for i in $(srcdir)/Include/*.h; \
-	do \
-		echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
-		$(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
-	done
-	$(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
-
-# Install the library and miscellaneous stuff needed for extending/embedding
-# This goes into $(exec_prefix)
-LIBPL=		$(LIBP)/config
-libainstall:	all
-	@for i in $(LIBDIR) $(LIBP) $(LIBPL); \
-	do \
-		if test ! -d $(DESTDIR)$$i; then \
-			echo "Creating directory $$i"; \
-			$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
-		else	true; \
-		fi; \
-	done
-	@if test -d $(LIBRARY); then :; else \
-		if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
-			if test "$(SO)" = .dll; then \
-				$(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
-			else \
-				$(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
-				$(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
-			fi; \
-		else \
-			echo Skip install of $(LIBRARY) - use make frameworkinstall; \
-		fi; \
-	fi
-	$(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
-	$(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
-	$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
-	$(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
-	$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
-	$(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
-	$(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
-	$(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
-	$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
-	# Substitution happens here, as the completely-expanded BINDIR
-	# is not available in configure
-	sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
-	$(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
-	rm python-config
-	@if [ -s Modules/python.exp -a \
-		"`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
-		echo; echo "Installing support files for building shared extension modules on AIX:"; \
-		$(INSTALL_DATA) Modules/python.exp		\
-				$(DESTDIR)$(LIBPL)/python.exp;		\
-		echo; echo "$(LIBPL)/python.exp";		\
-		$(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix	\
-				$(DESTDIR)$(LIBPL)/makexp_aix;		\
-		echo "$(LIBPL)/makexp_aix";			\
-		$(INSTALL_SCRIPT) $(srcdir)/Modules/ld_so_aix	\
-				$(DESTDIR)$(LIBPL)/ld_so_aix;		\
-		echo "$(LIBPL)/ld_so_aix";			\
-		echo; echo "See Misc/AIX-NOTES for details.";	\
-	else true; \
-	fi
-	@case "$(MACHDEP)" in beos*) \
-		echo; echo "Installing support files for building shared extension modules on BeOS:"; \
-		$(INSTALL_DATA) Misc/BeOS-NOTES $(DESTDIR)$(LIBPL)/README;	\
-		echo; echo "$(LIBPL)/README";			\
-		$(INSTALL_SCRIPT) Modules/ar_beos $(DESTDIR)$(LIBPL)/ar_beos; \
-		echo "$(LIBPL)/ar_beos";			\
-		$(INSTALL_SCRIPT) Modules/ld_so_beos $(DESTDIR)$(LIBPL)/ld_so_beos; \
-		echo "$(LIBPL)/ld_so_beos";			\
-		echo; echo "See Misc/BeOS-NOTES for details.";	\
-		;; \
-	esac
-
-# Install the dynamically loadable modules
-# This goes into $(exec_prefix)
-sharedinstall:
-	$(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
-	   	--prefix=$(prefix) \
-		--install-scripts=$(BINDIR) \
-		--install-platlib=$(DESTSHARED) \
-		--root=/$(DESTDIR)
-
-# Here are a couple of targets for MacOSX again, to install a full
-# framework-based Python. frameworkinstall installs everything, the
-# subtargets install specific parts. Much of the actual work is offloaded to
-# the Makefile in Mac
-#
-#
-# This target is here for backward compatiblity, previous versions of Python
-# hadn't integrated framework installation in the normal install process.
-frameworkinstall: install
-
-# On install, we re-make the framework
-# structure in the install location, /Library/Frameworks/ or the argument to
-# --enable-framework. If --enable-framework has been specified then we have
-# automatically set prefix to the location deep down in the framework, so we
-# only have to cater for the structural bits of the framework.
-
-frameworkinstallframework: frameworkinstallstructure install frameworkinstallmaclib
-
-frameworkinstallstructure:	$(LDLIBRARY)
-	@if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
-		echo Not configured with --enable-framework; \
-		exit 1; \
-	else true; \
-	fi
-	@for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\
-		if test ! -d $(DESTDIR)$$i; then \
-			echo "Creating directory $(DESTDIR)$$i"; \
-			$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
-		else	true; \
-		fi; \
-	done
-	$(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers
-	sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
-	$(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
-	$(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)
-	$(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
-	$(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources
-	$(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY)
-
-# This installs Mac/Lib into the framework
-# Install a number of symlinks to keep software that expects a normal unix
-# install (which includes python-config) happy.
-frameworkinstallmaclib:
-	ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).a"
-	cd Mac && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)"
-
-# This installs the IDE, the Launcher and other apps into /Applications
-frameworkinstallapps:
-	cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)"
-
-frameworkinstallapps4way:
-	cd Mac && $(MAKE) installapps4way DESTDIR="$(DESTDIR)"
-
-# This install the unix python and pythonw tools in /usr/local/bin
-frameworkinstallunixtools:
-	cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)"
-
-frameworkinstallunixtools4way:
-	cd Mac && $(MAKE) installunixtools4way DESTDIR="$(DESTDIR)"
-
-frameworkaltinstallunixtools:
-	cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)"
-
-frameworkaltinstallunixtools4way:
-	cd Mac && $(MAKE) altinstallunixtools4way DESTDIR="$(DESTDIR)"
-
-# This installs the Demos and Tools into the applications directory.
-# It is not part of a normal frameworkinstall
-frameworkinstallextras:
-	cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)"
-
-# This installs a few of the useful scripts in Tools/scripts
-scriptsinstall:
-	SRCDIR=$(srcdir) $(RUNSHARED) \
-	./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py install \
-	--prefix=$(prefix) \
-	--install-scripts=$(BINDIR) \
-	--root=/$(DESTDIR)
-
-# Build the toplevel Makefile
-Makefile.pre: Makefile.pre.in config.status
-	CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
-	$(MAKE) -f Makefile.pre Makefile
-
-# Run the configure script.
-config.status:	$(srcdir)/configure
-	$(SHELL) $(srcdir)/configure $(CONFIG_ARGS)
-
-.PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre
-
-# Some make's put the object file in the current directory
-.c.o:
-	$(CC) -c $(PY_CFLAGS) -o $@ $<
-
-# Run reindent on the library
-reindent:
-	./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
-
-# Rerun configure with the same options as it was run last time,
-# provided the config.status script exists
-recheck:
-	$(SHELL) config.status --recheck
-	$(SHELL) config.status
-
-# Rebuild the configure script from configure.in; also rebuild pyconfig.h.in
-autoconf:
-	(cd $(srcdir); autoconf)
-	(cd $(srcdir); autoheader)
-
-# Create a tags file for vi
-tags::
-	cd $(srcdir); \
-	ctags -w -t Include/*.h; \
-	for i in $(SRCDIRS); do ctags -w -t -a $$i/*.[ch]; \
-	done; \
-	sort -o tags tags
-
-# Create a tags file for GNU Emacs
-TAGS::
-	cd $(srcdir); \
-	etags Include/*.h; \
-	for i in $(SRCDIRS); do etags -a $$i/*.[ch]; done
-
-# Sanitation targets -- clean leaves libraries, executables and tags
-# files, which clobber removes as well
-pycremoval:
-	find $(srcdir) -name '*.py[co]' -exec rm -f {} ';'
-
-clean: pycremoval
-	find . -name '*.o' -exec rm -f {} ';'
-	find . -name '*.s[ol]' -exec rm -f {} ';'
-	find $(srcdir)/build -name 'fficonfig.h' -exec rm -f {} ';' || true
-	find $(srcdir)/build -name 'fficonfig.py' -exec rm -f {} ';' || true
-	-rm -f Lib/lib2to3/*Grammar*.pickle
-
-profile-removal:
-	find . -name '*.gc??' -exec rm -f {} ';'
-
-clobber: clean profile-removal
-	-rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
-		tags TAGS \
-		config.cache config.log pyconfig.h Modules/config.c
-	-rm -rf build platform
-	-rm -rf $(PYTHONFRAMEWORKDIR)
-
-# Make things extra clean, before making a distribution:
-# remove all generated files, even Makefile[.pre]
-# Keep configure and Python-ast.[ch], it's possible they can't be generated
-distclean: clobber
-	-rm -f core Makefile Makefile.pre config.status \
-		Modules/Setup Modules/Setup.local Modules/Setup.config
-	find $(srcdir) '(' -name '*.fdc' -o -name '*~' \
-			   -o -name '[@,#]*' -o -name '*.old' \
-			   -o -name '*.orig' -o -name '*.rej' \
-			   -o -name '*.bak' ')' \
-			   -exec rm -f {} ';'
-
-# Check for smelly exported symbols (not starting with Py/_Py)
-smelly: all
-	nm -p $(LIBRARY) | \
-		sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \
-
-# Find files with funny names
-funny:
-	find $(DISTDIRS) -type d \
-		-o -name '*.[chs]' \
-		-o -name '*.py' \
-		-o -name '*.doc' \
-		-o -name '*.sty' \
-		-o -name '*.bib' \
-		-o -name '*.dat' \
-		-o -name '*.el' \
-		-o -name '*.fd' \
-		-o -name '*.in' \
-		-o -name '*.tex' \
-		-o -name '*,[vpt]' \
-		-o -name 'Setup' \
-		-o -name 'Setup.*' \
-		-o -name README \
-		-o -name Makefile \
-		-o -name ChangeLog \
-		-o -name Repository \
-		-o -name Root \
-		-o -name Entries \
-		-o -name Tag \
-		-o -name tags \
-		-o -name TAGS \
-		-o -name .cvsignore \
-		-o -name MANIFEST \
-		-o -print
-
-# Perform some verification checks on any modified files.
-patchcheck:
-	$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
-
-# Dependencies
-
-Python/thread.o:  $(srcdir)/Python/thread_atheos.h $(srcdir)/Python/thread_beos.h $(srcdir)/Python/thread_cthread.h $(srcdir)/Python/thread_foobar.h $(srcdir)/Python/thread_lwp.h $(srcdir)/Python/thread_nt.h $(srcdir)/Python/thread_os2.h $(srcdir)/Python/thread_pth.h $(srcdir)/Python/thread_pthread.h $(srcdir)/Python/thread_sgi.h $(srcdir)/Python/thread_solaris.h $(srcdir)/Python/thread_wince.h
-
-# Declare targets that aren't real files
-.PHONY: all build_all sharedmods oldsharedmods test quicktest memtest
-.PHONY: install altinstall oldsharedinstall bininstall altbininstall
-.PHONY: maninstall libinstall inclinstall libainstall sharedinstall
-.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
-.PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
-.PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean 
-.PHONY: smelly funny patchcheck
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
-
-# Rules appended by makedepend
-
-Modules/threadmodule.o: $(srcdir)/Modules/threadmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/threadmodule.c -o Modules/threadmodule.o
-Modules/threadmodule$(SO):  Modules/threadmodule.o; $(BLDSHARED)  Modules/threadmodule.o   -o Modules/threadmodule$(SO)
-Modules/signalmodule.o: $(srcdir)/Modules/signalmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/signalmodule.c -o Modules/signalmodule.o
-Modules/signalmodule$(SO):  Modules/signalmodule.o; $(BLDSHARED)  Modules/signalmodule.o   -o Modules/signalmodule$(SO)
-Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/posixmodule.c -o Modules/posixmodule.o
-Modules/posixmodule$(SO):  Modules/posixmodule.o; $(BLDSHARED)  Modules/posixmodule.o   -o Modules/posixmodule$(SO)
-Modules/errnomodule.o: $(srcdir)/Modules/errnomodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/errnomodule.c -o Modules/errnomodule.o
-Modules/errnomodule$(SO):  Modules/errnomodule.o; $(BLDSHARED)  Modules/errnomodule.o   -o Modules/errnomodule$(SO)
-Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/pwdmodule.c -o Modules/pwdmodule.o
-Modules/pwdmodule$(SO):  Modules/pwdmodule.o; $(BLDSHARED)  Modules/pwdmodule.o   -o Modules/pwdmodule$(SO)
-Modules/_sre.o: $(srcdir)/Modules/_sre.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_sre.c -o Modules/_sre.o
-Modules/_sre$(SO):  Modules/_sre.o; $(BLDSHARED)  Modules/_sre.o   -o Modules/_sre$(SO)
-Modules/_codecsmodule.o: $(srcdir)/Modules/_codecsmodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
-Modules/_codecsmodule$(SO):  Modules/_codecsmodule.o; $(BLDSHARED)  Modules/_codecsmodule.o   -o Modules/_codecsmodule$(SO)
-Modules/zipimport.o: $(srcdir)/Modules/zipimport.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/zipimport.c -o Modules/zipimport.o
-Modules/zipimport$(SO):  Modules/zipimport.o; $(BLDSHARED)  Modules/zipimport.o   -o Modules/zipimport$(SO)
-Modules/symtablemodule.o: $(srcdir)/Modules/symtablemodule.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/symtablemodule.c -o Modules/symtablemodule.o
-Modules/_symtablemodule$(SO):  Modules/symtablemodule.o; $(BLDSHARED)  Modules/symtablemodule.o   -o Modules/_symtablemodule$(SO)
-Modules/xxsubtype.o: $(srcdir)/Modules/xxsubtype.c; $(CC) $(PY_CFLAGS)  -c $(srcdir)/Modules/xxsubtype.c -o Modules/xxsubtype.o
-Modules/xxsubtype$(SO):  Modules/xxsubtype.o; $(BLDSHARED)  Modules/xxsubtype.o   -o Modules/xxsubtype$(SO)
--- a/components/python/python26/history	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/tkinter-26
--- a/components/python/python26/llib-lpython26	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
- */
-
-/* LINTLIBRARY */
-/* PROTOLIB1 */
-
-#include <Python.h>
-
--- a/components/python/python26/patches/Python26-00-filemagic.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2242 +0,0 @@
-diff -u Python-2.6.4/Lib/platform.py.orig Python-2.6.4/Lib/platform.py
---- Python-2.6.4/Lib/platform.py.orig	Mon Feb 21 10:46:30 2011
-+++ Python-2.6.4/Lib/platform.py	Mon Feb 21 10:46:30 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """ This module tries to retrieve as much platform-identifying data as
-     possible. It makes this information available via function APIs.
-diff -u Python-2.6.4/Lib/profile.py.orig Python-2.6.4/Lib/profile.py
---- Python-2.6.4/Lib/profile.py.orig	Mon Feb 21 10:46:25 2011
-+++ Python-2.6.4/Lib/profile.py	Mon Feb 21 10:46:25 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # Class for profiling python code. rev 1.0  6/2/94
- #
-diff -u Python-2.6.4/Lib/trace.py.orig Python-2.6.4/Lib/trace.py
---- Python-2.6.4/Lib/trace.py.orig	Mon Feb 21 10:46:29 2011
-+++ Python-2.6.4/Lib/trace.py	Mon Feb 21 10:46:29 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # portions copyright 2001, Autonomous Zones Industries, Inc., all rights...
- # err...  reserved and offered to the public under the terms of the
-diff -u Python-2.6.4/Lib/cProfile.py.orig Python-2.6.4/Lib/cProfile.py
---- Python-2.6.4/Lib/cProfile.py.orig	Mon Feb 21 10:46:29 2011
-+++ Python-2.6.4/Lib/cProfile.py	Mon Feb 21 10:46:29 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Python interface for the 'lsprof' profiler.
-    Compatible with the 'profile' module.
-diff -u Python-2.6.4/Lib/idlelib/PyShell.py.orig Python-2.6.4/Lib/idlelib/PyShell.py
---- Python-2.6.4/Lib/idlelib/PyShell.py.orig	Mon Feb 21 10:46:23 2011
-+++ Python-2.6.4/Lib/idlelib/PyShell.py	Mon Feb 21 10:46:23 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import os
- import os.path
-diff -u Python-2.6.4/Lib/UserString.py.orig Python-2.6.4/Lib/UserString.py
---- Python-2.6.4/Lib/UserString.py.orig	Mon Feb 21 10:46:27 2011
-+++ Python-2.6.4/Lib/UserString.py	Mon Feb 21 10:46:27 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- ## vim:ts=4:et:nowrap
- """A user-defined wrapper around string objects
- 
-diff -u Python-2.6.4/Lib/lib2to3/tests/pytree_idempotency.py.orig Python-2.6.4/Lib/lib2to3/tests/pytree_idempotency.py
---- Python-2.6.4/Lib/lib2to3/tests/pytree_idempotency.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/lib2to3/tests/pytree_idempotency.py	Mon Feb 21 10:46:24 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # Copyright 2006 Google, Inc. All Rights Reserved.
- # Licensed to PSF under a Contributor Agreement.
- 
-diff -u Python-2.6.4/Lib/lib2to3/tests/test_all_fixers.py.orig Python-2.6.4/Lib/lib2to3/tests/test_all_fixers.py
---- Python-2.6.4/Lib/lib2to3/tests/test_all_fixers.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/lib2to3/tests/test_all_fixers.py	Mon Feb 21 10:46:24 2011
-@@ -1,3 +1,4 @@
-+#!/usr/bin/python2.6
- """Tests that run all fixer modules over an input stream.
- 
- This has been broken out into its own test module because of its
-diff -u Python-2.6.4/Lib/lib2to3/tests/test_util.py.orig Python-2.6.4/Lib/lib2to3/tests/test_util.py
---- Python-2.6.4/Lib/lib2to3/tests/test_util.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/lib2to3/tests/test_util.py	Mon Feb 21 10:46:24 2011
-@@ -1,3 +1,4 @@
-+#!/usr/bin/python2.6
- """ Test suite for the code in fixer_util """
- 
- # Testing imports
-diff -u Python-2.6.4/Lib/lib2to3/tests/test_parser.py.orig Python-2.6.4/Lib/lib2to3/tests/test_parser.py
---- Python-2.6.4/Lib/lib2to3/tests/test_parser.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/lib2to3/tests/test_parser.py	Mon Feb 21 10:46:24 2011
-@@ -1,3 +1,4 @@
-+#!/usr/bin/python2.6
- """Test suite for 2to3's parser and grammar files.
- 
- This is the place to add tests for changes to 2to3's grammar, such as those
-diff -u Python-2.6.4/Lib/lib2to3/tests/test_pytree.py.orig Python-2.6.4/Lib/lib2to3/tests/test_pytree.py
---- Python-2.6.4/Lib/lib2to3/tests/test_pytree.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/lib2to3/tests/test_pytree.py	Mon Feb 21 10:46:24 2011
-@@ -1,3 +1,4 @@
-+#!/usr/bin/python2.6
- # Copyright 2006 Google, Inc. All Rights Reserved.
- # Licensed to PSF under a Contributor Agreement.
- 
-diff -u Python-2.6.4/Lib/lib2to3/tests/test_fixers.py.orig Python-2.6.4/Lib/lib2to3/tests/test_fixers.py
---- Python-2.6.4/Lib/lib2to3/tests/test_fixers.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/lib2to3/tests/test_fixers.py	Mon Feb 21 10:46:24 2011
-@@ -1,3 +1,4 @@
-+#!/usr/bin/python2.6
- """ Test suite for the fixer modules """
- # Author: Collin Winter
- 
-diff -u Python-2.6.4/Lib/lib2to3/refactor.py.orig Python-2.6.4/Lib/lib2to3/refactor.py
---- Python-2.6.4/Lib/lib2to3/refactor.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/lib2to3/refactor.py	Mon Feb 21 10:46:24 2011
-@@ -1,3 +1,4 @@
-+#!/usr/bin/python2.6
- # Copyright 2006 Google, Inc. All Rights Reserved.
- # Licensed to PSF under a Contributor Agreement.
- 
-diff -u Python-2.6.4/Lib/lib2to3/pgen2/token.py.orig Python-2.6.4/Lib/lib2to3/pgen2/token.py
---- Python-2.6.4/Lib/lib2to3/pgen2/token.py.orig	Mon Feb 21 10:46:25 2011
-+++ Python-2.6.4/Lib/lib2to3/pgen2/token.py	Mon Feb 21 10:46:25 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Token constants (from "token.h")."""
- 
-diff -u Python-2.6.4/Lib/cgi.py.orig Python-2.6.4/Lib/cgi.py
---- Python-2.6.4/Lib/cgi.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/cgi.py	Mon Feb 21 10:46:24 2011
-@@ -1,4 +1,4 @@
--#! /usr/local/bin/python
-+#!/usr/bin/python2.6
- 
- # NOTE: the above "/usr/local/bin/python" is NOT a mistake.  It is
- # intentionally NOT "/usr/bin/env python".  On many systems
-diff -u Python-2.6.4/Lib/base64.py.orig Python-2.6.4/Lib/base64.py
---- Python-2.6.4/Lib/base64.py.orig	Mon Feb 21 10:46:36 2011
-+++ Python-2.6.4/Lib/base64.py	Mon Feb 21 10:46:36 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """RFC 3548: Base16, Base32, Base64 Data Encodings"""
- 
-diff -u Python-2.6.4/Lib/encodings/rot_13.py.orig Python-2.6.4/Lib/encodings/rot_13.py
---- Python-2.6.4/Lib/encodings/rot_13.py.orig	Mon Feb 21 10:46:26 2011
-+++ Python-2.6.4/Lib/encodings/rot_13.py	Mon Feb 21 10:46:26 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- """ Python Character Mapping Codec for ROT13.
- 
-     See http://ucsub.colorado.edu/~kominek/rot13/ for details.
-diff -u Python-2.6.4/Lib/tabnanny.py.orig Python-2.6.4/Lib/tabnanny.py
---- Python-2.6.4/Lib/tabnanny.py.orig	Mon Feb 21 10:46:27 2011
-+++ Python-2.6.4/Lib/tabnanny.py	Mon Feb 21 10:46:27 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """The Tab Nanny despises ambiguous indentation.  She knows no mercy.
- 
-diff -u Python-2.6.4/Lib/timeit.py.orig Python-2.6.4/Lib/timeit.py
---- Python-2.6.4/Lib/timeit.py.orig	Mon Feb 21 10:46:23 2011
-+++ Python-2.6.4/Lib/timeit.py	Mon Feb 21 10:46:23 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Tool for measuring execution time of small code snippets.
- 
-diff -u Python-2.6.4/Lib/pydoc.py.orig Python-2.6.4/Lib/pydoc.py
---- Python-2.6.4/Lib/pydoc.py.orig	Mon Feb 21 10:46:28 2011
-+++ Python-2.6.4/Lib/pydoc.py	Mon Feb 21 10:46:28 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- coding: latin-1 -*-
- """Generate Python documentation in HTML or text for interactive use.
- 
-diff -u Python-2.6.4/Lib/quopri.py.orig Python-2.6.4/Lib/quopri.py
---- Python-2.6.4/Lib/quopri.py.orig	Mon Feb 21 10:46:29 2011
-+++ Python-2.6.4/Lib/quopri.py	Mon Feb 21 10:46:29 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Conversions to/from quoted-printable transport encoding as per RFC 1521."""
- 
-diff -u Python-2.6.4/Lib/keyword.py.orig Python-2.6.4/Lib/keyword.py
---- Python-2.6.4/Lib/keyword.py.orig	Mon Feb 21 10:46:24 2011
-+++ Python-2.6.4/Lib/keyword.py	Mon Feb 21 10:46:24 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Keywords (from "graminit.c")
- 
-diff -u Python-2.6.4/Lib/mailbox.py.orig Python-2.6.4/Lib/mailbox.py
---- Python-2.6.4/Lib/mailbox.py.orig	Mon Feb 21 10:46:27 2011
-+++ Python-2.6.4/Lib/mailbox.py	Mon Feb 21 10:46:27 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Read/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes."""
- 
-diff -u Python-2.6.4/Lib/difflib.py.orig Python-2.6.4/Lib/difflib.py
---- Python-2.6.4/Lib/difflib.py.orig	Mon Feb 21 10:46:36 2011
-+++ Python-2.6.4/Lib/difflib.py	Mon Feb 21 10:46:36 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """
- Module difflib -- helpers for computing deltas between objects.
-diff -u Python-2.6.4/Lib/webbrowser.py.orig Python-2.6.4/Lib/webbrowser.py
---- Python-2.6.4/Lib/webbrowser.py.orig	Mon Feb 21 10:46:26 2011
-+++ Python-2.6.4/Lib/webbrowser.py	Mon Feb 21 10:46:26 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Interfaces for launching and remotely controlling Web browsers."""
- # Maintained by Georg Brandl.
- 
-diff -u Python-2.6.4/Lib/unittest.py.orig Python-2.6.4/Lib/unittest.py
---- Python-2.6.4/Lib/unittest.py.orig	Mon Feb 21 10:46:28 2011
-+++ Python-2.6.4/Lib/unittest.py	Mon Feb 21 10:46:28 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- '''
- Python unit testing framework, based on Erich Gamma's JUnit and Kent Beck's
- Smalltalk testing framework.
-diff -u Python-2.6.4/Lib/bsddb/test/test_dbtables.py.orig Python-2.6.4/Lib/bsddb/test/test_dbtables.py
---- Python-2.6.4/Lib/bsddb/test/test_dbtables.py.orig	Mon Feb 21 10:46:28 2011
-+++ Python-2.6.4/Lib/bsddb/test/test_dbtables.py	Mon Feb 21 10:46:28 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- #-----------------------------------------------------------------------
- # A test suite for the table interface built on bsddb.db
-diff -u Python-2.6.4/Lib/bsddb/dbshelve.py.orig Python-2.6.4/Lib/bsddb/dbshelve.py
---- Python-2.6.4/Lib/bsddb/dbshelve.py.orig	Mon Feb 21 10:46:28 2011
-+++ Python-2.6.4/Lib/bsddb/dbshelve.py	Mon Feb 21 10:46:28 2011
-@@ -1,4 +1,4 @@
--#!/bin/env python
-+#!/usr/bin/python2.6
- #------------------------------------------------------------------------
- #           Copyright (c) 1997-2001 by Total Control Software
- #                         All Rights Reserved
-diff -u Python-2.6.4/Lib/token.py.orig Python-2.6.4/Lib/token.py
---- Python-2.6.4/Lib/token.py.orig	Mon Feb 21 10:46:28 2011
-+++ Python-2.6.4/Lib/token.py	Mon Feb 21 10:46:28 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Token constants (from "token.h")."""
- 
-diff -u Python-2.6.4/Lib/Cookie.py.orig Python-2.6.4/Lib/Cookie.py
---- Python-2.6.4/Lib/Cookie.py.orig	Mon Feb 21 10:46:25 2011
-+++ Python-2.6.4/Lib/Cookie.py	Mon Feb 21 10:46:25 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- 
- ####
-diff -u Python-2.6.4/Lib/smtplib.py.orig Python-2.6.4/Lib/smtplib.py
---- Python-2.6.4/Lib/smtplib.py.orig	Mon Feb 21 10:46:28 2011
-+++ Python-2.6.4/Lib/smtplib.py	Mon Feb 21 10:46:28 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- '''SMTP/ESMTP client class.
- 
-diff -u Python-2.6.4/Lib/smtpd.py.orig Python-2.6.4/Lib/smtpd.py
---- Python-2.6.4/Lib/smtpd.py.orig	Mon Feb 21 10:46:28 2011
-+++ Python-2.6.4/Lib/smtpd.py	Mon Feb 21 10:46:28 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """An RFC 2821 smtp proxy.
- 
- Usage: %(program)s [options] [localhost:localport [remotehost:remoteport]]
-diff -u Python-2.6.4/Lib/test/regrtest.py.orig Python-2.6.4/Lib/test/regrtest.py
---- Python-2.6.4/Lib/test/regrtest.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/regrtest.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Regression test.
- 
-diff -u Python-2.6.4/Lib/test/test_sets.py.orig Python-2.6.4/Lib/test/test_sets.py
---- Python-2.6.4/Lib/test/test_sets.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_sets.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import warnings
- warnings.filterwarnings("ignore", "the sets module is deprecated",
-diff -u Python-2.6.4/Lib/test/test_dl.py.orig Python-2.6.4/Lib/test/test_dl.py
---- Python-2.6.4/Lib/test/test_dl.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_dl.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test dlmodule.c
-    Roger E. Masse  revised strategy by Barry Warsaw
- """
-diff -u Python-2.6.4/Lib/test/test_multiprocessing.py.orig Python-2.6.4/Lib/test/test_multiprocessing.py
---- Python-2.6.4/Lib/test/test_multiprocessing.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_multiprocessing.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- #
- # Unit tests for the multiprocessing package
-diff -u Python-2.6.4/Lib/test/test_cmd.py.orig Python-2.6.4/Lib/test/test_cmd.py
---- Python-2.6.4/Lib/test/test_cmd.py.orig	Mon Feb 21 10:46:36 2011
-+++ Python-2.6.4/Lib/test/test_cmd.py	Mon Feb 21 10:46:36 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- """
- Test script for the 'cmd' module
- Original by Michael Schneider
-diff -u Python-2.6.4/Lib/test/test_userstring.py.orig Python-2.6.4/Lib/test/test_userstring.py
---- Python-2.6.4/Lib/test/test_userstring.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_userstring.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # UserString is a wrapper around the native builtin string type.
- # UserString instances should behave similar to builtin string objects.
- 
-diff -u Python-2.6.4/Lib/test/test_popen.py.orig Python-2.6.4/Lib/test/test_popen.py
---- Python-2.6.4/Lib/test/test_popen.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_popen.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Basic tests for os.popen()
- 
-   Particularly useful for platforms that fake popen.
-diff -u Python-2.6.4/Lib/test/test_cd.py.orig Python-2.6.4/Lib/test/test_cd.py
---- Python-2.6.4/Lib/test/test_cd.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_cd.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Whimpy test script for the cd module
-    Roger E. Masse
- """
-diff -u Python-2.6.4/Lib/test/test_cl.py.orig Python-2.6.4/Lib/test/test_cl.py
---- Python-2.6.4/Lib/test/test_cl.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_cl.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Whimpy test script for the cl module
-    Roger E. Masse
- """
-diff -u Python-2.6.4/Lib/test/test_imgfile.py.orig Python-2.6.4/Lib/test/test_imgfile.py
---- Python-2.6.4/Lib/test/test_imgfile.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_imgfile.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Simple test script for imgfile.c
-    Roger E. Masse
-diff -u Python-2.6.4/Lib/test/test_random.py.orig Python-2.6.4/Lib/test/test_random.py
---- Python-2.6.4/Lib/test/test_random.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_random.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import unittest
- import random
-diff -u Python-2.6.4/Lib/test/curses_tests.py.orig Python-2.6.4/Lib/test/curses_tests.py
---- Python-2.6.4/Lib/test/curses_tests.py.orig	Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/curses_tests.py	Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $
- #
-diff -u Python-2.6.4/Lib/test/test_codecmaps_cn.py.orig Python-2.6.4/Lib/test/test_codecmaps_cn.py
---- Python-2.6.4/Lib/test/test_codecmaps_cn.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_codecmaps_cn.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecmaps_cn.py
- #   Codec mapping tests for PRC encodings
-diff -u Python-2.6.4/Lib/test/test_whichdb.py.orig Python-2.6.4/Lib/test/test_whichdb.py
---- Python-2.6.4/Lib/test/test_whichdb.py.orig	Mon Feb 21 10:46:36 2011
-+++ Python-2.6.4/Lib/test/test_whichdb.py	Mon Feb 21 10:46:36 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test script for the whichdb module
-    based on test_anydbm.py
- """
-diff -u Python-2.6.4/Lib/test/test_eof.py.orig Python-2.6.4/Lib/test/test_eof.py
---- Python-2.6.4/Lib/test/test_eof.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_eof.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """test script for a few new invalid token catches"""
- 
- import unittest
-diff -u Python-2.6.4/Lib/test/test_imageop.py.orig Python-2.6.4/Lib/test/test_imageop.py
---- Python-2.6.4/Lib/test/test_imageop.py.orig	Mon Feb 21 10:46:31 2011
-+++ Python-2.6.4/Lib/test/test_imageop.py	Mon Feb 21 10:46:31 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Test script for the imageop module.  This has the side
-    effect of partially testing the imgfile module as well.
-diff -u Python-2.6.4/Lib/test/test_codecmaps_tw.py.orig Python-2.6.4/Lib/test/test_codecmaps_tw.py
---- Python-2.6.4/Lib/test/test_codecmaps_tw.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_codecmaps_tw.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecmaps_tw.py
- #   Codec mapping tests for ROC encodings
-diff -u Python-2.6.4/Lib/test/test_codecencodings_hk.py.orig Python-2.6.4/Lib/test/test_codecencodings_hk.py
---- Python-2.6.4/Lib/test/test_codecencodings_hk.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_codecencodings_hk.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecencodings_hk.py
- #   Codec encoding tests for HongKong encodings.
-diff -u Python-2.6.4/Lib/test/test_codecencodings_jp.py.orig Python-2.6.4/Lib/test/test_codecencodings_jp.py
---- Python-2.6.4/Lib/test/test_codecencodings_jp.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_codecencodings_jp.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecencodings_jp.py
- #   Codec encoding tests for Japanese encodings.
-diff -u Python-2.6.4/Lib/test/test_with.py.orig Python-2.6.4/Lib/test/test_with.py
---- Python-2.6.4/Lib/test/test_with.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_with.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Unit tests for the with statement specified in PEP 343."""
- 
-diff -u Python-2.6.4/Lib/test/crashers/recursive_call.py.orig Python-2.6.4/Lib/test/crashers/recursive_call.py
---- Python-2.6.4/Lib/test/crashers/recursive_call.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/crashers/recursive_call.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # No bug report AFAIK, mail on python-dev on 2006-01-10
- 
-diff -u Python-2.6.4/Lib/test/test_codecmaps_kr.py.orig Python-2.6.4/Lib/test/test_codecmaps_kr.py
---- Python-2.6.4/Lib/test/test_codecmaps_kr.py.orig	Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/test_codecmaps_kr.py	Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecmaps_kr.py
- #   Codec mapping tests for ROK encodings
-diff -u Python-2.6.4/Lib/test/test_array.py.orig Python-2.6.4/Lib/test/test_array.py
---- Python-2.6.4/Lib/test/test_array.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_array.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test the arraymodule.
-    Roger E. Masse
- """
-diff -u Python-2.6.4/Lib/test/test_pep263.py.orig Python-2.6.4/Lib/test/test_pep263.py
---- Python-2.6.4/Lib/test/test_pep263.py.orig   Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/test_pep263.py        Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--# -*- coding: koi8-r -*-
-+#!/usr/bin/python2.6
- 
- import unittest
- from test import test_support
-diff -u Python-2.6.4/Lib/test/test_anydbm.py.orig Python-2.6.4/Lib/test/test_anydbm.py
---- Python-2.6.4/Lib/test/test_anydbm.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_anydbm.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test script for the anydbm module
-    based on testdumbdbm.py
- """
-diff -u Python-2.6.4/Lib/test/test_smtpnet.py.orig Python-2.6.4/Lib/test/test_smtpnet.py
---- Python-2.6.4/Lib/test/test_smtpnet.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_smtpnet.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import unittest
- from test import test_support
-diff -u Python-2.6.4/Lib/test/test_al.py.orig Python-2.6.4/Lib/test/test_al.py
---- Python-2.6.4/Lib/test/test_al.py.orig	Mon Feb 21 10:46:31 2011
-+++ Python-2.6.4/Lib/test/test_al.py	Mon Feb 21 10:46:31 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Whimpy test script for the al module
-    Roger E. Masse
- """
-diff -u Python-2.6.4/Lib/test/test_urllib2net.py.orig Python-2.6.4/Lib/test/test_urllib2net.py
---- Python-2.6.4/Lib/test/test_urllib2net.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_urllib2net.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import unittest
- from test import test_support
-diff -u Python-2.6.4/Lib/test/test_marshal.py.orig Python-2.6.4/Lib/test/test_marshal.py
---- Python-2.6.4/Lib/test/test_marshal.py.orig	Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/test_marshal.py	Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- coding: iso-8859-1 -*-
- 
- from test import test_support
-diff -u Python-2.6.4/Lib/test/test_urlparse.py.orig Python-2.6.4/Lib/test/test_urlparse.py
---- Python-2.6.4/Lib/test/test_urlparse.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_urlparse.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- from test import test_support
- import unittest
-diff -u Python-2.6.4/Lib/test/test_bz2.py.orig Python-2.6.4/Lib/test/test_bz2.py
---- Python-2.6.4/Lib/test/test_bz2.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_bz2.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- from test import test_support
- from test.test_support import TESTFN
- 
-diff -u Python-2.6.4/Lib/test/test_urllibnet.py.orig Python-2.6.4/Lib/test/test_urllibnet.py
---- Python-2.6.4/Lib/test/test_urllibnet.py.orig	Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/test_urllibnet.py	Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import unittest
- from test import test_support
-diff -u Python-2.6.4/Lib/test/test_logging.py.orig Python-2.6.4/Lib/test/test_logging.py
---- Python-2.6.4/Lib/test/test_logging.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_logging.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # Copyright 2001-2004 by Vinay Sajip. All Rights Reserved.
- #
-diff -u Python-2.6.4/Lib/test/test_socket.py.orig Python-2.6.4/Lib/test/test_socket.py
---- Python-2.6.4/Lib/test/test_socket.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_socket.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import unittest
- from test import test_support
-diff -u Python-2.6.4/Lib/test/pystone.py.orig Python-2.6.4/Lib/test/pystone.py
---- Python-2.6.4/Lib/test/pystone.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/pystone.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """
- "PYSTONE" Benchmark Program
-diff -u Python-2.6.4/Lib/test/test_multibytecodec.py.orig Python-2.6.4/Lib/test/test_multibytecodec.py
---- Python-2.6.4/Lib/test/test_multibytecodec.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_multibytecodec.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_multibytecodec.py
- #   Unit test for multibytecodec itself
-diff -u Python-2.6.4/Lib/test/test_popen2.py.orig Python-2.6.4/Lib/test/test_popen2.py
---- Python-2.6.4/Lib/test/test_popen2.py.orig	Mon Feb 21 10:46:33 2011
-+++ Python-2.6.4/Lib/test/test_popen2.py	Mon Feb 21 10:46:33 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test script for popen2.py"""
- 
- import warnings
-diff -u Python-2.6.4/Lib/test/test_binhex.py.orig Python-2.6.4/Lib/test/test_binhex.py
---- Python-2.6.4/Lib/test/test_binhex.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_binhex.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test script for the binhex C module
- 
-    Uses the mechanism of the python binhex module
-diff -u Python-2.6.4/Lib/test/test_gzip.py.orig Python-2.6.4/Lib/test/test_gzip.py
---- Python-2.6.4/Lib/test/test_gzip.py.orig	Mon Feb 21 10:46:36 2011
-+++ Python-2.6.4/Lib/test/test_gzip.py	Mon Feb 21 10:46:36 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test script for the gzip module.
- """
- 
-diff -u Python-2.6.4/Lib/test/re_tests.py.orig Python-2.6.4/Lib/test/re_tests.py
---- Python-2.6.4/Lib/test/re_tests.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/re_tests.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- mode: python -*-
- 
- # Re test suite and benchmark suite v1.5
-diff -u Python-2.6.4/Lib/test/test_urllib2_localnet.py.orig Python-2.6.4/Lib/test/test_urllib2_localnet.py
---- Python-2.6.4/Lib/test/test_urllib2_localnet.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_urllib2_localnet.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import mimetools
- import threading
-diff -u Python-2.6.4/Lib/test/test_codecencodings_kr.py.orig Python-2.6.4/Lib/test/test_codecencodings_kr.py
---- Python-2.6.4/Lib/test/test_codecencodings_kr.py.orig	Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/test_codecencodings_kr.py	Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecencodings_kr.py
- #   Codec encoding tests for ROK encodings.
-diff -u Python-2.6.4/Lib/test/test_multibytecodec_support.py.orig Python-2.6.4/Lib/test/test_multibytecodec_support.py
---- Python-2.6.4/Lib/test/test_multibytecodec_support.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_multibytecodec_support.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_multibytecodec_support.py
- #   Common Unittest Routines for CJK codecs
-diff -u Python-2.6.4/Lib/test/test_tcl.py.orig Python-2.6.4/Lib/test/test_tcl.py
---- Python-2.6.4/Lib/test/test_tcl.py.orig	Mon Feb 21 10:46:36 2011
-+++ Python-2.6.4/Lib/test/test_tcl.py	Mon Feb 21 10:46:36 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import unittest
- import os
-diff -u Python-2.6.4/Lib/test/test_codecencodings_cn.py.orig Python-2.6.4/Lib/test/test_codecencodings_cn.py
---- Python-2.6.4/Lib/test/test_codecencodings_cn.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_codecencodings_cn.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecencodings_cn.py
- #   Codec encoding tests for PRC encodings.
-diff -u Python-2.6.4/Lib/test/test_gl.py.orig Python-2.6.4/Lib/test/test_gl.py
---- Python-2.6.4/Lib/test/test_gl.py.orig	Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/test_gl.py	Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Very simple test script for the SGI gl library extension module
-     taken mostly from the documentation.
-     Roger E. Masse
-diff -u Python-2.6.4/Lib/test/test___future__.py.orig Python-2.6.4/Lib/test/test___future__.py
---- Python-2.6.4/Lib/test/test___future__.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test___future__.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- import unittest
- from test import test_support
- import __future__
-diff -u Python-2.6.4/Lib/test/test_bsddb.py.orig Python-2.6.4/Lib/test/test_bsddb.py
---- Python-2.6.4/Lib/test/test_bsddb.py.orig	Mon Feb 21 10:46:36 2011
-+++ Python-2.6.4/Lib/test/test_bsddb.py	Mon Feb 21 10:46:36 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test script for the bsddb C module by Roger E. Masse
-    Adapted to unittest format and expanded scope by Raymond Hettinger
- """
-diff -u Python-2.6.4/Lib/test/test_errno.py.orig Python-2.6.4/Lib/test/test_errno.py
---- Python-2.6.4/Lib/test/test_errno.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_errno.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test the errno module
-    Roger E. Masse
- """
-diff -u Python-2.6.4/Lib/test/test_optparse.py.orig Python-2.6.4/Lib/test/test_optparse.py
---- Python-2.6.4/Lib/test/test_optparse.py.orig	Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/test_optparse.py	Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- 
- #
- # Test suite for Optik.  Supplied by Johannes Gijsbers
-diff -u Python-2.6.4/Lib/test/test_codecencodings_tw.py.orig Python-2.6.4/Lib/test/test_codecencodings_tw.py
---- Python-2.6.4/Lib/test/test_codecencodings_tw.py.orig	Mon Feb 21 10:46:35 2011
-+++ Python-2.6.4/Lib/test/test_codecencodings_tw.py	Mon Feb 21 10:46:35 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecencodings_tw.py
- #   Codec encoding tests for ROC encodings.
-diff -u Python-2.6.4/Lib/test/test_codecmaps_jp.py.orig Python-2.6.4/Lib/test/test_codecmaps_jp.py
---- Python-2.6.4/Lib/test/test_codecmaps_jp.py.orig	Mon Feb 21 10:46:32 2011
-+++ Python-2.6.4/Lib/test/test_codecmaps_jp.py	Mon Feb 21 10:46:32 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecmaps_jp.py
- #   Codec mapping tests for Japanese encodings
-diff -u Python-2.6.4/Lib/test/test_codecmaps_hk.py.orig Python-2.6.4/Lib/test/test_codecmaps_hk.py
---- Python-2.6.4/Lib/test/test_codecmaps_hk.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_codecmaps_hk.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # test_codecmaps_hk.py
- #   Codec mapping tests for HongKong encodings
-diff -u Python-2.6.4/Lib/test/test_dumbdbm.py.orig Python-2.6.4/Lib/test/test_dumbdbm.py
---- Python-2.6.4/Lib/test/test_dumbdbm.py.orig	Mon Feb 21 10:46:34 2011
-+++ Python-2.6.4/Lib/test/test_dumbdbm.py	Mon Feb 21 10:46:34 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Test script for the dumbdbm module
-    Original by Roger E. Masse
- """
-diff -u Python-2.6.4/Lib/tarfile.py.orig Python-2.6.4/Lib/tarfile.py
---- Python-2.6.4/Lib/tarfile.py.orig	Mon Feb 21 10:46:38 2011
-+++ Python-2.6.4/Lib/tarfile.py	Mon Feb 21 10:46:38 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- coding: iso-8859-1 -*-
- #-------------------------------------------------------------------
- # tarfile.py
-diff -u Python-2.6.4/Lib/uu.py.orig Python-2.6.4/Lib/uu.py
---- Python-2.6.4/Lib/uu.py.orig	Mon Feb 21 10:46:25 2011
-+++ Python-2.6.4/Lib/uu.py	Mon Feb 21 10:46:25 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Copyright 1994 by Lance Ellinghouse
- # Cathedral City, California Republic, United States of America.
-diff -u Python-2.6.4/Lib/symbol.py.orig Python-2.6.4/Lib/symbol.py
---- Python-2.6.4/Lib/symbol.py.orig	Mon Feb 21 10:46:27 2011
-+++ Python-2.6.4/Lib/symbol.py	Mon Feb 21 10:46:27 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Non-terminal symbols of Python grammar (from "graminit.h")."""
- 
-diff -u Python-2.6.4/Lib/mimify.py.orig Python-2.6.4/Lib/mimify.py
---- Python-2.6.4/Lib/mimify.py.orig	Mon Feb 21 10:46:28 2011
-+++ Python-2.6.4/Lib/mimify.py	Mon Feb 21 10:46:28 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Mimification and unmimification of mail messages.
- 
-diff -u Python-2.6.4/Lib/pdb.py.orig Python-2.6.4/Lib/pdb.py
---- Python-2.6.4/Lib/pdb.py.orig	Mon Feb 21 10:46:38 2011
-+++ Python-2.6.4/Lib/pdb.py	Mon Feb 21 10:46:38 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """A Python debugger."""
- 
-diff -u Python-2.6.4/Lib/plat-mac/bundlebuilder.py.orig Python-2.6.4/Lib/plat-mac/bundlebuilder.py
---- Python-2.6.4/Lib/plat-mac/bundlebuilder.py.orig	Mon Feb 21 10:46:38 2011
-+++ Python-2.6.4/Lib/plat-mac/bundlebuilder.py	Mon Feb 21 10:46:38 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """\
- bundlebuilder.py -- Tools to assemble MacOS X (application) bundles.
-diff -u Python-2.6.4/Lib/plat-mac/appletrunner.py.orig Python-2.6.4/Lib/plat-mac/appletrunner.py
---- Python-2.6.4/Lib/plat-mac/appletrunner.py.orig	Mon Feb 21 10:46:38 2011
-+++ Python-2.6.4/Lib/plat-mac/appletrunner.py	Mon Feb 21 10:46:38 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # This file is meant as an executable script for running applets.
- # BuildApplet will use it as the main executable in the .app bundle if
- # we are not running in a framework build.
-diff -u Python-2.6.4/Demo/scripts/primes.py.orig Python-2.6.4/Demo/scripts/primes.py
---- Python-2.6.4/Demo/scripts/primes.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/primes.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Print prime numbers in a given range
- 
-diff -u Python-2.6.4/Demo/scripts/mkrcs.py.orig Python-2.6.4/Demo/scripts/mkrcs.py
---- Python-2.6.4/Demo/scripts/mkrcs.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/mkrcs.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # A rather specialized script to make sure that a symbolic link named
- # RCS exists pointing to a real RCS directory in a parallel tree
-diff -u Python-2.6.4/Demo/scripts/queens.py.orig Python-2.6.4/Demo/scripts/queens.py
---- Python-2.6.4/Demo/scripts/queens.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/queens.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """N queens problem.
- 
-diff -u Python-2.6.4/Demo/scripts/pi.py.orig Python-2.6.4/Demo/scripts/pi.py
---- Python-2.6.4/Demo/scripts/pi.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/pi.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Print digits of pi forever.
- #
-diff -u Python-2.6.4/Demo/scripts/mboxconvert.py.orig Python-2.6.4/Demo/scripts/mboxconvert.py
---- Python-2.6.4/Demo/scripts/mboxconvert.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/mboxconvert.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Convert  MH directories (1 message per file) or MMDF mailboxes (4x^A
- # delimited) to unix mailbox (From ... delimited) on stdout.
-diff -u Python-2.6.4/Demo/scripts/eqfix.py.orig Python-2.6.4/Demo/scripts/eqfix.py
---- Python-2.6.4/Demo/scripts/eqfix.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/eqfix.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Fix Python source files to use the new equality test operator, i.e.,
- #       if x = y: ...
-diff -u Python-2.6.4/Demo/scripts/find-uname.py.orig Python-2.6.4/Demo/scripts/find-uname.py
---- Python-2.6.4/Demo/scripts/find-uname.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/find-uname.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """
- For each argument on the command line, look for it in the set of all Unicode
-diff -u Python-2.6.4/Demo/scripts/pp.py.orig Python-2.6.4/Demo/scripts/pp.py
---- Python-2.6.4/Demo/scripts/pp.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/pp.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Emulate some Perl command line options.
- # Usage: pp [-a] [-c] [-d] [-e scriptline] [-F fieldsep] [-n] [-p] [file] ...
-diff -u Python-2.6.4/Demo/scripts/unbirthday.py.orig Python-2.6.4/Demo/scripts/unbirthday.py
---- Python-2.6.4/Demo/scripts/unbirthday.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/unbirthday.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Calculate your unbirthday count (see Alice in Wonderland).
- # This is defined as the number of days from your birth until today
-diff -u Python-2.6.4/Demo/scripts/update.py.orig Python-2.6.4/Demo/scripts/update.py
---- Python-2.6.4/Demo/scripts/update.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/update.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Update a bunch of files according to a script.
- # The input file contains lines of the form <filename>:<lineno>:<text>,
-diff -u Python-2.6.4/Demo/scripts/markov.py.orig Python-2.6.4/Demo/scripts/markov.py
---- Python-2.6.4/Demo/scripts/markov.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/markov.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- class Markov:
-     def __init__(self, histsize, choice):
-diff -u Python-2.6.4/Demo/scripts/from.py.orig Python-2.6.4/Demo/scripts/from.py
---- Python-2.6.4/Demo/scripts/from.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/from.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Print From and Subject of messages in $MAIL.
- # Extension to multiple mailboxes and other bells & whistles are left
-diff -u Python-2.6.4/Demo/scripts/script.py.orig Python-2.6.4/Demo/scripts/script.py
---- Python-2.6.4/Demo/scripts/script.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/script.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- # script.py -- Make typescript of terminal session.
- # Usage:
- #       -a      Append to typescript.
-diff -u Python-2.6.4/Demo/scripts/lpwatch.py.orig Python-2.6.4/Demo/scripts/lpwatch.py
---- Python-2.6.4/Demo/scripts/lpwatch.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/lpwatch.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Watch line printer queue(s).
- # Intended for BSD 4.3 lpq.
-diff -u Python-2.6.4/Demo/scripts/fact.py.orig Python-2.6.4/Demo/scripts/fact.py
---- Python-2.6.4/Demo/scripts/fact.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/fact.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Factorize numbers.
- # The algorithm is not efficient, but easy to understand.
-diff -u Python-2.6.4/Demo/scripts/beer.py.orig Python-2.6.4/Demo/scripts/beer.py
---- Python-2.6.4/Demo/scripts/beer.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/beer.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- # By GvR, demystified after a version by Fredrik Lundh.
- import sys
- n = 100
-diff -u Python-2.6.4/Demo/scripts/newslist.py.orig Python-2.6.4/Demo/scripts/newslist.py
---- Python-2.6.4/Demo/scripts/newslist.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/newslist.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- #######################################################################
- # Newslist  $Revision: 66429 $
- #
-diff -u Python-2.6.4/Demo/scripts/ftpstats.py.orig Python-2.6.4/Demo/scripts/ftpstats.py
---- Python-2.6.4/Demo/scripts/ftpstats.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/ftpstats.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Extract statistics from ftp daemon log.
- 
-diff -u Python-2.6.4/Demo/scripts/makedir.py.orig Python-2.6.4/Demo/scripts/makedir.py
---- Python-2.6.4/Demo/scripts/makedir.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/scripts/makedir.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Like mkdir, but also make intermediate directories if necessary.
- # It is not an error if the given directory already exists (as long
-diff -u Python-2.6.4/Demo/turtle/tdemo_clock.py.orig Python-2.6.4/Demo/turtle/tdemo_clock.py
---- Python-2.6.4/Demo/turtle/tdemo_clock.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_clock.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- # -*- coding: cp1252 -*-
- """       turtle-example-suite:
- 
-diff -u Python-2.6.4/Demo/turtle/tdemo_planet_and_moon.py.orig Python-2.6.4/Demo/turtle/tdemo_planet_and_moon.py
---- Python-2.6.4/Demo/turtle/tdemo_planet_and_moon.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_planet_and_moon.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """       turtle-example-suite:
- 
-         tdemo_planets_and_moon.py
-diff -u Python-2.6.4/Demo/turtle/tdemo_lindenmayer_indian.py.orig Python-2.6.4/Demo/turtle/tdemo_lindenmayer_indian.py
---- Python-2.6.4/Demo/turtle/tdemo_lindenmayer_indian.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_lindenmayer_indian.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """       turtle-example-suite:
- 
-         xtx_lindenmayer_indian.py
-diff -u Python-2.6.4/Demo/turtle/tdemo_penrose.py.orig Python-2.6.4/Demo/turtle/tdemo_penrose.py
---- Python-2.6.4/Demo/turtle/tdemo_penrose.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_penrose.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """       xturtle-example-suite:
- 
-           xtx_kites_and_darts.py
-diff -u Python-2.6.4/Demo/turtle/turtleDemo.py.orig Python-2.6.4/Demo/turtle/turtleDemo.py
---- Python-2.6.4/Demo/turtle/turtleDemo.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/turtleDemo.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- import sys
- import os
- 
-diff -u Python-2.6.4/Demo/turtle/tdemo_yinyang.py.orig Python-2.6.4/Demo/turtle/tdemo_yinyang.py
---- Python-2.6.4/Demo/turtle/tdemo_yinyang.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_yinyang.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """       turtle-example-suite:
- 
-             tdemo_yinyang.py
-diff -u Python-2.6.4/Demo/turtle/tdemo_tree.py.orig Python-2.6.4/Demo/turtle/tdemo_tree.py
---- Python-2.6.4/Demo/turtle/tdemo_tree.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_tree.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """      turtle-example-suite:
- 
-              tdemo_tree.py
-diff -u Python-2.6.4/Demo/turtle/tdemo_fractalcurves.py.orig Python-2.6.4/Demo/turtle/tdemo_fractalcurves.py
---- Python-2.6.4/Demo/turtle/tdemo_fractalcurves.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_fractalcurves.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """      turtle-example-suite:
- 
-         tdemo_fractalCurves.py
-diff -u Python-2.6.4/Demo/turtle/turtledemo_two_canvases.py.orig Python-2.6.4/Demo/turtle/turtledemo_two_canvases.py
---- Python-2.6.4/Demo/turtle/turtledemo_two_canvases.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/turtledemo_two_canvases.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- ## DEMONSTRATES USE OF 2 CANVASES, SO CANNOT BE RUN IN DEMOVIEWER!
- """turtle example: Using TurtleScreen and RawTurtle
- for drawing on two distinct canvases.
-diff -u Python-2.6.4/Demo/turtle/tdemo_minimal_hanoi.py.orig Python-2.6.4/Demo/turtle/tdemo_minimal_hanoi.py
---- Python-2.6.4/Demo/turtle/tdemo_minimal_hanoi.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_minimal_hanoi.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """       turtle-example-suite:
- 
-          tdemo_minimal_hanoi.py
-diff -u Python-2.6.4/Demo/turtle/tdemo_peace.py.orig Python-2.6.4/Demo/turtle/tdemo_peace.py
---- Python-2.6.4/Demo/turtle/tdemo_peace.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_peace.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """       turtle-example-suite:
- 
-               tdemo_peace.py
-diff -u Python-2.6.4/Demo/turtle/tdemo_bytedesign.py.orig Python-2.6.4/Demo/turtle/tdemo_bytedesign.py
---- Python-2.6.4/Demo/turtle/tdemo_bytedesign.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_bytedesign.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """      turtle-example-suite:
- 
-         tdemo_bytedesign.py
-diff -u Python-2.6.4/Demo/turtle/tdemo_paint.py.orig Python-2.6.4/Demo/turtle/tdemo_paint.py
---- Python-2.6.4/Demo/turtle/tdemo_paint.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_paint.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """       turtle-example-suite:
- 
-             tdemo_paint.py
-diff -u Python-2.6.4/Demo/turtle/tdemo_I_dontlike_tiltdemo.py.orig Python-2.6.4/Demo/turtle/tdemo_I_dontlike_tiltdemo.py
---- Python-2.6.4/Demo/turtle/tdemo_I_dontlike_tiltdemo.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/turtle/tdemo_I_dontlike_tiltdemo.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """       turtle-example-suite:
- 
-      tdemo-I_dont_like_tiltdemo.py
-diff -u Python-2.6.4/Demo/cgi/cgi1.py.orig Python-2.6.4/Demo/cgi/cgi1.py
---- Python-2.6.4/Demo/cgi/cgi1.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/cgi/cgi1.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/python
-+#!/usr/bin/python2.6
- 
- """CGI test 1 - check server setup."""
- 
-diff -u Python-2.6.4/Demo/cgi/cgi3.py.orig Python-2.6.4/Demo/cgi/cgi3.py
---- Python-2.6.4/Demo/cgi/cgi3.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/cgi/cgi3.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/python
-+#!/usr/bin/python2.6
- 
- """CGI test 3 (persistent data)."""
- 
-diff -u Python-2.6.4/Demo/cgi/cgi2.py.orig Python-2.6.4/Demo/cgi/cgi2.py
---- Python-2.6.4/Demo/cgi/cgi2.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/cgi/cgi2.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/python
-+#!/usr/bin/python2.6
- 
- """CGI test 2 - basic use of cgi module."""
- 
-diff -u Python-2.6.4/Demo/comparisons/sortingtest.py.orig Python-2.6.4/Demo/comparisons/sortingtest.py
---- Python-2.6.4/Demo/comparisons/sortingtest.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/comparisons/sortingtest.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # 2)  Sorting Test
- #
-diff -u Python-2.6.4/Demo/comparisons/regextest.py.orig Python-2.6.4/Demo/comparisons/regextest.py
---- Python-2.6.4/Demo/comparisons/regextest.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/comparisons/regextest.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # 1)  Regular Expressions Test
- #
-diff -u Python-2.6.4/Demo/comparisons/systemtest.py.orig Python-2.6.4/Demo/comparisons/systemtest.py
---- Python-2.6.4/Demo/comparisons/systemtest.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/comparisons/systemtest.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # 3)  System Test
- #
-diff -u Python-2.6.4/Demo/pysvr/pysvr.py.orig Python-2.6.4/Demo/pysvr/pysvr.py
---- Python-2.6.4/Demo/pysvr/pysvr.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/pysvr/pysvr.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """A multi-threaded telnet-like server that gives a Python prompt.
- 
-diff -u Python-2.6.4/Demo/tkinter/guido/sortvisu.py.orig Python-2.6.4/Demo/tkinter/guido/sortvisu.py
---- Python-2.6.4/Demo/tkinter/guido/sortvisu.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/sortvisu.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Sorting algorithms visualizer using Tkinter.
- 
-diff -u Python-2.6.4/Demo/tkinter/guido/dialog.py.orig Python-2.6.4/Demo/tkinter/guido/dialog.py
---- Python-2.6.4/Demo/tkinter/guido/dialog.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/dialog.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # A Python function that generates dialog boxes with a text message,
- # optional bitmap, and any number of buttons.
-diff -u Python-2.6.4/Demo/tkinter/guido/electrons.py.orig Python-2.6.4/Demo/tkinter/guido/electrons.py
---- Python-2.6.4/Demo/tkinter/guido/electrons.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/electrons.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Simulate "electrons" migrating across the screen.
- # An optional bitmap file in can be in the background.
-diff -u Python-2.6.4/Demo/tkinter/guido/newmenubardemo.py.orig Python-2.6.4/Demo/tkinter/guido/newmenubardemo.py
---- Python-2.6.4/Demo/tkinter/guido/newmenubardemo.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/newmenubardemo.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Play with the new Tk 8.0 toplevel menu option."""
- 
-diff -u Python-2.6.4/Demo/tkinter/guido/canvasevents.py.orig Python-2.6.4/Demo/tkinter/guido/canvasevents.py
---- Python-2.6.4/Demo/tkinter/guido/canvasevents.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/canvasevents.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- from Tkinter import *
- from Canvas import Oval, Group, CanvasText
-diff -u Python-2.6.4/Demo/tkinter/guido/tkman.py.orig Python-2.6.4/Demo/tkinter/guido/tkman.py
---- Python-2.6.4/Demo/tkinter/guido/tkman.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/tkman.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Tk man page browser -- currently only shows the Tcl/Tk man pages
- 
-diff -u Python-2.6.4/Demo/tkinter/guido/solitaire.py.orig Python-2.6.4/Demo/tkinter/guido/solitaire.py
---- Python-2.6.4/Demo/tkinter/guido/solitaire.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/solitaire.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Solitaire game, much like the one that comes with MS Windows.
- 
-diff -u Python-2.6.4/Demo/tkinter/guido/kill.py.orig Python-2.6.4/Demo/tkinter/guido/kill.py
---- Python-2.6.4/Demo/tkinter/guido/kill.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/kill.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- # Tkinter interface to Linux `kill' command.
- 
- from Tkinter import *
-diff -u Python-2.6.4/Demo/tkinter/guido/MimeViewer.py.orig Python-2.6.4/Demo/tkinter/guido/MimeViewer.py
---- Python-2.6.4/Demo/tkinter/guido/MimeViewer.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/MimeViewer.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # View a single MIME multipart message.
- # Display each part as a box.
-diff -u Python-2.6.4/Demo/tkinter/guido/mbox.py.orig Python-2.6.4/Demo/tkinter/guido/mbox.py
---- Python-2.6.4/Demo/tkinter/guido/mbox.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/mbox.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Scan MH folder, display results in window
- 
-diff -u Python-2.6.4/Demo/tkinter/guido/rmt.py.orig Python-2.6.4/Demo/tkinter/guido/rmt.py
---- Python-2.6.4/Demo/tkinter/guido/rmt.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/rmt.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # A Python program implementing rmt, an application for remotely
- # controlling other Tk applications.
-diff -u Python-2.6.4/Demo/tkinter/guido/svkill.py.orig Python-2.6.4/Demo/tkinter/guido/svkill.py
---- Python-2.6.4/Demo/tkinter/guido/svkill.py.orig	Mon Feb 21 10:46:39 2011
-+++ Python-2.6.4/Demo/tkinter/guido/svkill.py	Mon Feb 21 10:46:39 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Tkinter interface to SYSV `ps' and `kill' commands.
- 
-diff -u Python-2.6.4/Demo/pdist/rrcs.py.orig Python-2.6.4/Demo/pdist/rrcs.py
---- Python-2.6.4/Demo/pdist/rrcs.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/pdist/rrcs.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- "Remote RCS -- command line interface"
- 
-diff -u Python-2.6.4/Demo/pdist/rcvs.py.orig Python-2.6.4/Demo/pdist/rcvs.py
---- Python-2.6.4/Demo/pdist/rcvs.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/pdist/rcvs.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Remote CVS -- command line interface"""
- 
-diff -u Python-2.6.4/Demo/pdist/RCSProxy.py.orig Python-2.6.4/Demo/pdist/RCSProxy.py
---- Python-2.6.4/Demo/pdist/RCSProxy.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/pdist/RCSProxy.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """RCS Proxy.
- 
-diff -u Python-2.6.4/Demo/pdist/makechangelog.py.orig Python-2.6.4/Demo/pdist/makechangelog.py
---- Python-2.6.4/Demo/pdist/makechangelog.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/pdist/makechangelog.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Turn a pile of RCS log output into ChangeLog file entries.
- 
-diff -u Python-2.6.4/Demo/zlib/zlibdemo.py.orig Python-2.6.4/Demo/zlib/zlibdemo.py
---- Python-2.6.4/Demo/zlib/zlibdemo.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/zlib/zlibdemo.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Takes an optional filename, defaulting to this file itself.
- # Reads the file and compresses the content using level 1 and level 9
-diff -u Python-2.6.4/Demo/zlib/minigzip.py.orig Python-2.6.4/Demo/zlib/minigzip.py
---- Python-2.6.4/Demo/zlib/minigzip.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/zlib/minigzip.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # Demo program for zlib; it compresses or decompresses files, but *doesn't*
- # delete the original.  This doesn't support all of gzip's options.
- #
-diff -u Python-2.6.4/Demo/curses/life.py.orig Python-2.6.4/Demo/curses/life.py
---- Python-2.6.4/Demo/curses/life.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/curses/life.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # life.py -- A curses-based version of Conway's Game of Life.
- # Contributed by AMK
- #
-diff -u Python-2.6.4/Demo/curses/rain.py.orig Python-2.6.4/Demo/curses/rain.py
---- Python-2.6.4/Demo/curses/rain.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/curses/rain.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # $Id: rain.py 46625 2006-06-03 23:02:15Z andrew.kuchling $
- #
-diff -u Python-2.6.4/Demo/curses/repeat.py.orig Python-2.6.4/Demo/curses/repeat.py
---- Python-2.6.4/Demo/curses/repeat.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/curses/repeat.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """repeat <shell-command>
- 
-diff -u Python-2.6.4/Demo/curses/ncurses.py.orig Python-2.6.4/Demo/curses/ncurses.py
---- Python-2.6.4/Demo/curses/ncurses.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/curses/ncurses.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # $Id: ncurses.py 66424 2008-09-13 01:22:08Z andrew.kuchling $
- #
-diff -u Python-2.6.4/Demo/curses/tclock.py.orig Python-2.6.4/Demo/curses/tclock.py
---- Python-2.6.4/Demo/curses/tclock.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/curses/tclock.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # $Id: tclock.py 46626 2006-06-03 23:07:21Z andrew.kuchling $
- #
-diff -u Python-2.6.4/Demo/parser/test_parser.py.orig Python-2.6.4/Demo/parser/test_parser.py
---- Python-2.6.4/Demo/parser/test_parser.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/parser/test_parser.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- #  (Force the script to use the latest build.)
- #
- #  test_parser.py
-diff -u Python-2.6.4/Demo/sockets/gopher.py.orig Python-2.6.4/Demo/sockets/gopher.py
---- Python-2.6.4/Demo/sockets/gopher.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/sockets/gopher.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # A simple gopher client.
- #
-diff -u Python-2.6.4/Demo/sockets/throughput.py.orig Python-2.6.4/Demo/sockets/throughput.py
---- Python-2.6.4/Demo/sockets/throughput.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/sockets/throughput.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Test network throughput.
- #
-diff -u Python-2.6.4/Demo/sockets/rpython.py.orig Python-2.6.4/Demo/sockets/rpython.py
---- Python-2.6.4/Demo/sockets/rpython.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/sockets/rpython.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Remote python client.
- # Execute Python commands remotely and send output back.
-diff -u Python-2.6.4/Demo/sockets/echosvr.py.orig Python-2.6.4/Demo/sockets/echosvr.py
---- Python-2.6.4/Demo/sockets/echosvr.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/sockets/echosvr.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Python implementation of an 'echo' tcp server: echo all data it receives.
- #
-diff -u Python-2.6.4/Demo/sockets/telnet.py.orig Python-2.6.4/Demo/sockets/telnet.py
---- Python-2.6.4/Demo/sockets/telnet.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/sockets/telnet.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Minimal interface to the Internet telnet protocol.
- #
-diff -u Python-2.6.4/Demo/sockets/finger.py.orig Python-2.6.4/Demo/sockets/finger.py
---- Python-2.6.4/Demo/sockets/finger.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/sockets/finger.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Python interface to the Internet finger daemon.
- #
-diff -u Python-2.6.4/Demo/sockets/udpecho.py.orig Python-2.6.4/Demo/sockets/udpecho.py
---- Python-2.6.4/Demo/sockets/udpecho.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/sockets/udpecho.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Client and server for udp (datagram) echo.
- #
-diff -u Python-2.6.4/Demo/sockets/rpythond.py.orig Python-2.6.4/Demo/sockets/rpythond.py
---- Python-2.6.4/Demo/sockets/rpythond.py.orig	Mon Feb 21 10:46:40 2011
-+++ Python-2.6.4/Demo/sockets/rpythond.py	Mon Feb 21 10:46:40 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Remote python server.
- # Execute Python commands remotely and send output back.
-diff -u Python-2.6.4/Tools/ssl/get-remote-certificate.py.orig Python-2.6.4/Tools/ssl/get-remote-certificate.py
---- Python-2.6.4/Tools/ssl/get-remote-certificate.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/ssl/get-remote-certificate.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # fetch the certificate that the server(s) are providing in PEM form
- #
-diff -u Python-2.6.4/Tools/compiler/demo.py.orig Python-2.6.4/Tools/compiler/demo.py
---- Python-2.6.4/Tools/compiler/demo.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/compiler/demo.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Print names of all methods defined in module
- 
-diff -u Python-2.6.4/Tools/compiler/dumppyc.py.orig Python-2.6.4/Tools/compiler/dumppyc.py
---- Python-2.6.4/Tools/compiler/dumppyc.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/compiler/dumppyc.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import marshal
- import dis
-diff -u Python-2.6.4/Tools/webchecker/wsgui.py.orig Python-2.6.4/Tools/webchecker/wsgui.py
---- Python-2.6.4/Tools/webchecker/wsgui.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/webchecker/wsgui.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Tkinter-based GUI for websucker.
- 
-diff -u Python-2.6.4/Tools/webchecker/webchecker.py.orig Python-2.6.4/Tools/webchecker/webchecker.py
---- Python-2.6.4/Tools/webchecker/webchecker.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/webchecker/webchecker.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Original code by Guido van Rossum; extensive changes by Sam Bayer,
- # including code to check URL fragments.
-diff -u Python-2.6.4/Tools/webchecker/websucker.py.orig Python-2.6.4/Tools/webchecker/websucker.py
---- Python-2.6.4/Tools/webchecker/websucker.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/webchecker/websucker.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """A variant on webchecker that creates a mirror copy of a remote site."""
- 
-diff -u Python-2.6.4/Tools/webchecker/wcgui.py.orig Python-2.6.4/Tools/webchecker/wcgui.py
---- Python-2.6.4/Tools/webchecker/wcgui.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/webchecker/wcgui.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """GUI interface to webchecker.
- 
-diff -u Python-2.6.4/Tools/faqwiz/faqw.py.orig Python-2.6.4/Tools/faqwiz/faqw.py
---- Python-2.6.4/Tools/faqwiz/faqw.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/faqwiz/faqw.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/local/bin/python
-+#!/usr/bin/python2.6
- 
- """FAQ wizard bootstrap."""
- 
-diff -u Python-2.6.4/Tools/unicode/comparecodecs.py.orig Python-2.6.4/Tools/unicode/comparecodecs.py
---- Python-2.6.4/Tools/unicode/comparecodecs.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/unicode/comparecodecs.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """ Compare the output of two codecs.
- 
-diff -u Python-2.6.4/Tools/i18n/msgfmt.py.orig Python-2.6.4/Tools/i18n/msgfmt.py
---- Python-2.6.4/Tools/i18n/msgfmt.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/i18n/msgfmt.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- coding: iso-8859-1 -*-
- # Written by Martin v. Löwis <[email protected]>
- 
-diff -u Python-2.6.4/Tools/i18n/makelocalealias.py.orig Python-2.6.4/Tools/i18n/makelocalealias.py
---- Python-2.6.4/Tools/i18n/makelocalealias.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/i18n/makelocalealias.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- """
-     Convert the X11 locale.alias file into a mapping dictionary suitable
-     for locale.py.
-diff -u Python-2.6.4/Tools/i18n/pygettext.py.orig Python-2.6.4/Tools/i18n/pygettext.py
---- Python-2.6.4/Tools/i18n/pygettext.py.orig	Mon Feb 21 10:46:41 2011
-+++ Python-2.6.4/Tools/i18n/pygettext.py	Mon Feb 21 10:46:41 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- coding: iso-8859-1 -*-
- # Originally written by Barry Warsaw <[email protected]>
- #
-diff -u Python-2.6.4/Tools/freeze/freeze.py.orig Python-2.6.4/Tools/freeze/freeze.py
---- Python-2.6.4/Tools/freeze/freeze.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/freeze/freeze.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Freeze a Python script into a binary.
- 
-diff -u Python-2.6.4/Tools/modulator/Tkextra.py.orig Python-2.6.4/Tools/modulator/Tkextra.py
---- Python-2.6.4/Tools/modulator/Tkextra.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/modulator/Tkextra.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # A Python function that generates dialog boxes with a text message,
- # optional bitmap, and any number of buttons.
-diff -u Python-2.6.4/Tools/modulator/modulator.py.orig Python-2.6.4/Tools/modulator/modulator.py
---- Python-2.6.4/Tools/modulator/modulator.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/modulator/modulator.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- #
- # Modulator - Generate skeleton modules.
- #
-diff -u Python-2.6.4/Tools/pybench/pybench.py.orig Python-2.6.4/Tools/pybench/pybench.py
---- Python-2.6.4/Tools/pybench/pybench.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/pybench/pybench.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/python -O
-+#!/usr/bin/python2.6
- 
- """ A Python Benchmark Suite
- 
-diff -u Python-2.6.4/Tools/pybench/Setup.py.orig Python-2.6.4/Tools/pybench/Setup.py
---- Python-2.6.4/Tools/pybench/Setup.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/pybench/Setup.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!python
-+#!/usr/bin/python2.6
- 
- # Setup file for pybench
- #
-diff -u Python-2.6.4/Tools/pybench/clockres.py.orig Python-2.6.4/Tools/pybench/clockres.py
---- Python-2.6.4/Tools/pybench/clockres.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/pybench/clockres.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """ clockres - calculates the resolution in seconds of a given timer.
- 
-diff -u Python-2.6.4/Tools/pybench/systimes.py.orig Python-2.6.4/Tools/pybench/systimes.py
---- Python-2.6.4/Tools/pybench/systimes.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/pybench/systimes.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """ systimes() user and system timer implementations for use by
-     pybench.
-diff -u Python-2.6.4/Tools/scripts/fixheader.py.orig Python-2.6.4/Tools/scripts/fixheader.py
---- Python-2.6.4/Tools/scripts/fixheader.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/fixheader.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Add some standard cpp magic to a header file
- 
-diff -u Python-2.6.4/Tools/scripts/fixdiv.py.orig Python-2.6.4/Tools/scripts/fixdiv.py
---- Python-2.6.4/Tools/scripts/fixdiv.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/fixdiv.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """fixdiv - tool to fix division operators.
- 
-diff -u Python-2.6.4/Tools/scripts/which.py.orig Python-2.6.4/Tools/scripts/which.py
---- Python-2.6.4/Tools/scripts/which.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/which.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Variant of "which".
- # On stderr, near and total misses are reported.
-diff -u Python-2.6.4/Tools/scripts/suff.py.orig Python-2.6.4/Tools/scripts/suff.py
---- Python-2.6.4/Tools/scripts/suff.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/suff.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # suff
- #
-diff -u Python-2.6.4/Tools/scripts/pysource.py.orig Python-2.6.4/Tools/scripts/pysource.py
---- Python-2.6.4/Tools/scripts/pysource.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/pysource.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """\
- List python source files.
-diff -u Python-2.6.4/Tools/scripts/lll.py.orig Python-2.6.4/Tools/scripts/lll.py
---- Python-2.6.4/Tools/scripts/lll.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/lll.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Find symbolic links and show where they point to.
- # Arguments are directories to search; default is current directory.
-diff -u Python-2.6.4/Tools/scripts/pickle2db.py.orig Python-2.6.4/Tools/scripts/pickle2db.py
---- Python-2.6.4/Tools/scripts/pickle2db.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/pickle2db.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """
- Synopsis: %(prog)s [-h|-b|-g|-r|-a|-d] [ picklefile ] dbfile
-diff -u Python-2.6.4/Tools/scripts/texi2html.py.orig Python-2.6.4/Tools/scripts/texi2html.py
---- Python-2.6.4/Tools/scripts/texi2html.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/texi2html.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Convert GNU texinfo files into HTML, one file per node.
- # Based on Texinfo 2.14.
-diff -u Python-2.6.4/Tools/scripts/mkreal.py.orig Python-2.6.4/Tools/scripts/mkreal.py
---- Python-2.6.4/Tools/scripts/mkreal.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/mkreal.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # mkreal
- #
-diff -u Python-2.6.4/Tools/scripts/ftpmirror.py.orig Python-2.6.4/Tools/scripts/ftpmirror.py
---- Python-2.6.4/Tools/scripts/ftpmirror.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/ftpmirror.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Mirror a remote ftp subtree into a local directory tree.
- 
-diff -u Python-2.6.4/Tools/scripts/lfcr.py.orig Python-2.6.4/Tools/scripts/lfcr.py
---- Python-2.6.4/Tools/scripts/lfcr.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/lfcr.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- "Replace LF with CRLF in argument files.  Print names of changed files."
- 
-diff -u Python-2.6.4/Tools/scripts/ptags.py.orig Python-2.6.4/Tools/scripts/ptags.py
---- Python-2.6.4/Tools/scripts/ptags.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/ptags.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # ptags
- #
-diff -u Python-2.6.4/Tools/scripts/copytime.py.orig Python-2.6.4/Tools/scripts/copytime.py
---- Python-2.6.4/Tools/scripts/copytime.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/copytime.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Copy one file's atime and mtime to another
- 
-diff -u Python-2.6.4/Tools/scripts/finddiv.py.orig Python-2.6.4/Tools/scripts/finddiv.py
---- Python-2.6.4/Tools/scripts/finddiv.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/finddiv.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """finddiv - a grep-like tool that looks for division operators.
- 
-diff -u Python-2.6.4/Tools/scripts/combinerefs.py.orig Python-2.6.4/Tools/scripts/combinerefs.py
---- Python-2.6.4/Tools/scripts/combinerefs.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/combinerefs.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """
- combinerefs path
-diff -u Python-2.6.4/Tools/scripts/cvsfiles.py.orig Python-2.6.4/Tools/scripts/cvsfiles.py
---- Python-2.6.4/Tools/scripts/cvsfiles.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/cvsfiles.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Print a list of files that are mentioned in CVS directories.
- 
-diff -u Python-2.6.4/Tools/scripts/reindent.py.orig Python-2.6.4/Tools/scripts/reindent.py
---- Python-2.6.4/Tools/scripts/reindent.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/reindent.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Released to the public domain, by Tim Peters, 03 October 2000.
- 
-diff -u Python-2.6.4/Tools/scripts/checkpyc.py.orig Python-2.6.4/Tools/scripts/checkpyc.py
---- Python-2.6.4/Tools/scripts/checkpyc.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/checkpyc.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- # Check that all ".pyc" files exist and are up-to-date
- # Uses module 'os'
- 
-diff -u Python-2.6.4/Tools/scripts/fixps.py.orig Python-2.6.4/Tools/scripts/fixps.py
---- Python-2.6.4/Tools/scripts/fixps.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/fixps.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Fix Python script(s) to reference the interpreter via /usr/bin/env python.
- # Warning: this overwrites the file without making a backup.
-diff -u Python-2.6.4/Tools/scripts/crlf.py.orig Python-2.6.4/Tools/scripts/crlf.py
---- Python-2.6.4/Tools/scripts/crlf.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/crlf.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- "Replace CRLF with LF in argument files.  Print names of changed files."
- 
- import sys, os
-diff -u Python-2.6.4/Tools/scripts/methfix.py.orig Python-2.6.4/Tools/scripts/methfix.py
---- Python-2.6.4/Tools/scripts/methfix.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/methfix.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Fix Python source files to avoid using
- #       def method(self, (arg1, ..., argn)):
-diff -u Python-2.6.4/Tools/scripts/classfix.py.orig Python-2.6.4/Tools/scripts/classfix.py
---- Python-2.6.4/Tools/scripts/classfix.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/classfix.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # This script is obsolete -- it is kept for historical purposes only.
- #
-diff -u Python-2.6.4/Tools/scripts/xxci.py.orig Python-2.6.4/Tools/scripts/xxci.py
---- Python-2.6.4/Tools/scripts/xxci.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/xxci.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # xxci
- #
-diff -u Python-2.6.4/Tools/scripts/findnocoding.py.orig Python-2.6.4/Tools/scripts/findnocoding.py
---- Python-2.6.4/Tools/scripts/findnocoding.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/findnocoding.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """List all those Python files that require a coding directive
- 
-diff -u Python-2.6.4/Tools/scripts/fixnotice.py.orig Python-2.6.4/Tools/scripts/fixnotice.py
---- Python-2.6.4/Tools/scripts/fixnotice.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/fixnotice.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """(Ostensibly) fix copyright notices in files.
- 
-diff -u Python-2.6.4/Tools/scripts/eptags.py.orig Python-2.6.4/Tools/scripts/eptags.py
---- Python-2.6.4/Tools/scripts/eptags.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/eptags.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Create a TAGS file for Python programs, usable with GNU Emacs.
- 
- usage: eptags pyfiles...
-diff -u Python-2.6.4/Tools/scripts/linktree.py.orig Python-2.6.4/Tools/scripts/linktree.py
---- Python-2.6.4/Tools/scripts/linktree.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/linktree.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # linktree
- #
-diff -u Python-2.6.4/Tools/scripts/checkappend.py.orig Python-2.6.4/Tools/scripts/checkappend.py
---- Python-2.6.4/Tools/scripts/checkappend.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/checkappend.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Released to the public domain, by Tim Peters, 28 February 2000.
- 
-diff -u Python-2.6.4/Tools/scripts/pindent.py.orig Python-2.6.4/Tools/scripts/pindent.py
---- Python-2.6.4/Tools/scripts/pindent.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/pindent.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # This file contains a class and a main program that perform three
- # related (though complimentary) formatting operations on Python
-diff -u Python-2.6.4/Tools/scripts/google.py.orig Python-2.6.4/Tools/scripts/google.py
---- Python-2.6.4/Tools/scripts/google.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/google.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- import sys, webbrowser
- 
-diff -u Python-2.6.4/Tools/scripts/nm2def.py.orig Python-2.6.4/Tools/scripts/nm2def.py
---- Python-2.6.4/Tools/scripts/nm2def.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/nm2def.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """nm2def.py
- 
- Helpers to extract symbols from Unix libs and auto-generate
-diff -u Python-2.6.4/Tools/scripts/md5sum.py.orig Python-2.6.4/Tools/scripts/md5sum.py
---- Python-2.6.4/Tools/scripts/md5sum.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/md5sum.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Python utility to print MD5 checksums of argument files.
- """
-diff -u Python-2.6.4/Tools/scripts/logmerge.py.orig Python-2.6.4/Tools/scripts/logmerge.py
---- Python-2.6.4/Tools/scripts/logmerge.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/logmerge.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Consolidate a bunch of CVS or RCS logs read from stdin.
- 
-diff -u Python-2.6.4/Tools/scripts/svneol.py.orig Python-2.6.4/Tools/scripts/svneol.py
---- Python-2.6.4/Tools/scripts/svneol.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/svneol.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """
- SVN helper script.
-diff -u Python-2.6.4/Tools/scripts/rgrep.py.orig Python-2.6.4/Tools/scripts/rgrep.py
---- Python-2.6.4/Tools/scripts/rgrep.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/rgrep.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Reverse grep.
- 
-diff -u Python-2.6.4/Tools/scripts/h2py.py.orig Python-2.6.4/Tools/scripts/h2py.py
---- Python-2.6.4/Tools/scripts/h2py.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/h2py.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Read #define's and translate to Python code.
- # Handle #include statements.
-diff -u Python-2.6.4/Tools/scripts/pathfix.py.orig Python-2.6.4/Tools/scripts/pathfix.py
---- Python-2.6.4/Tools/scripts/pathfix.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/pathfix.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Change the #! line occurring in Python scripts.  The new interpreter
- # pathname must be given with a -i option.
-diff -u Python-2.6.4/Tools/scripts/byext.py.orig Python-2.6.4/Tools/scripts/byext.py
---- Python-2.6.4/Tools/scripts/byext.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/byext.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Show file statistics by extension."""
- 
-diff -u Python-2.6.4/Tools/scripts/ifdef.py.orig Python-2.6.4/Tools/scripts/ifdef.py
---- Python-2.6.4/Tools/scripts/ifdef.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/ifdef.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Selectively preprocess #ifdef / #ifndef statements.
- # Usage:
-diff -u Python-2.6.4/Tools/scripts/treesync.py.orig Python-2.6.4/Tools/scripts/treesync.py
---- Python-2.6.4/Tools/scripts/treesync.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/treesync.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Script to synchronize two source trees.
- 
-diff -u Python-2.6.4/Tools/scripts/ndiff.py.orig Python-2.6.4/Tools/scripts/ndiff.py
---- Python-2.6.4/Tools/scripts/ndiff.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/ndiff.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Module ndiff version 1.7.0
- # Released to the public domain 08-Dec-2000,
-diff -u Python-2.6.4/Tools/scripts/findlinksto.py.orig Python-2.6.4/Tools/scripts/findlinksto.py
---- Python-2.6.4/Tools/scripts/findlinksto.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/findlinksto.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # findlinksto
- #
-diff -u Python-2.6.4/Tools/scripts/objgraph.py.orig Python-2.6.4/Tools/scripts/objgraph.py
---- Python-2.6.4/Tools/scripts/objgraph.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/objgraph.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # objgraph
- #
-diff -u Python-2.6.4/Tools/scripts/untabify.py.orig Python-2.6.4/Tools/scripts/untabify.py
---- Python-2.6.4/Tools/scripts/untabify.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/untabify.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- "Replace tabs with spaces in argument files.  Print names of changed files."
- 
-diff -u Python-2.6.4/Tools/scripts/db2pickle.py.orig Python-2.6.4/Tools/scripts/db2pickle.py
---- Python-2.6.4/Tools/scripts/db2pickle.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/db2pickle.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """
- Synopsis: %(prog)s [-h|-g|-b|-r|-a] dbfile [ picklefile ]
-diff -u Python-2.6.4/Tools/scripts/parseentities.py.orig Python-2.6.4/Tools/scripts/parseentities.py
---- Python-2.6.4/Tools/scripts/parseentities.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/parseentities.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/python
-+#!/usr/bin/python2.6
- """ Utility for parsing HTML entity definitions available from:
- 
-       http://www.w3.org/ as e.g.
-diff -u Python-2.6.4/Tools/scripts/dutree.py.orig Python-2.6.4/Tools/scripts/dutree.py
---- Python-2.6.4/Tools/scripts/dutree.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/dutree.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- # Format du output in a tree shape
- 
- import os, sys, errno
-diff -u Python-2.6.4/Tools/scripts/pdeps.py.orig Python-2.6.4/Tools/scripts/pdeps.py
---- Python-2.6.4/Tools/scripts/pdeps.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/pdeps.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # pdeps
- #
-diff -u Python-2.6.4/Tools/scripts/cleanfuture.py.orig Python-2.6.4/Tools/scripts/cleanfuture.py
---- Python-2.6.4/Tools/scripts/cleanfuture.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/cleanfuture.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """cleanfuture [-d][-r][-v] path ...
- 
-diff -u Python-2.6.4/Tools/scripts/hotshotmain.py.orig Python-2.6.4/Tools/scripts/hotshotmain.py
---- Python-2.6.4/Tools/scripts/hotshotmain.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/hotshotmain.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- coding: iso-8859-1 -*-
- 
- """
-diff -u Python-2.6.4/Tools/scripts/byteyears.py.orig Python-2.6.4/Tools/scripts/byteyears.py
---- Python-2.6.4/Tools/scripts/byteyears.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/byteyears.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Print the product of age and size of each file, in suitable units.
- #
-diff -u Python-2.6.4/Tools/scripts/gprof2html.py.orig Python-2.6.4/Tools/scripts/gprof2html.py
---- Python-2.6.4/Tools/scripts/gprof2html.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/gprof2html.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python2.3
-+#!/usr/bin/python2.6
- 
- """Transform gprof(1) output into useful HTML."""
- 
-diff -u Python-2.6.4/Tools/scripts/fixcid.py.orig Python-2.6.4/Tools/scripts/fixcid.py
---- Python-2.6.4/Tools/scripts/fixcid.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/fixcid.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Perform massive identifier substitution on C source files.
- # This actually tokenizes the files (to some extent) so it can
-diff -u Python-2.6.4/Tools/scripts/reindent-rst.py.orig Python-2.6.4/Tools/scripts/reindent-rst.py
---- Python-2.6.4/Tools/scripts/reindent-rst.py.orig	Mon Feb 21 10:46:42 2011
-+++ Python-2.6.4/Tools/scripts/reindent-rst.py	Mon Feb 21 10:46:42 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- # Make a reST file compliant to our pre-commit hook.
- # Currently just remove trailing whitespace.
-diff -u Python-2.6.4/Mac/BuildScript/build-installer.py.orig Python-2.6.4/Mac/BuildScript/build-installer.py
---- Python-2.6.4/Mac/BuildScript/build-installer.py.orig	Mon Feb 21 10:46:43 2011
-+++ Python-2.6.4/Mac/BuildScript/build-installer.py	Mon Feb 21 10:46:43 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """
- This script is used to build the "official unofficial" universal build on
- Mac OS X. It requires Mac OS X 10.4, Xcode 2.2 and the 10.4u SDK to do its
-diff -u Python-2.6.4/Mac/scripts/zappycfiles.py.orig Python-2.6.4/Mac/scripts/zappycfiles.py
---- Python-2.6.4/Mac/scripts/zappycfiles.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Mac/scripts/zappycfiles.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/python
-+#!/usr/bin/python2.6
- """Recursively zap all .pyc and .pyo files"""
- import os
- import sys
-diff -u Python-2.6.4/Mac/scripts/buildpkg.py.orig Python-2.6.4/Mac/scripts/buildpkg.py
---- Python-2.6.4/Mac/scripts/buildpkg.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Mac/scripts/buildpkg.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """buildpkg.py -- Build OS X packages for Apple's Installer.app.
- 
-diff -u Python-2.6.4/Mac/Tools/fixapplepython23.py.orig Python-2.6.4/Mac/Tools/fixapplepython23.py
---- Python-2.6.4/Mac/Tools/fixapplepython23.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Mac/Tools/fixapplepython23.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python2.6
- """fixapplepython23 - Fix Apple-installed Python 2.3 (on Mac OS X 10.3)
- 
- Python 2.3 (and 2.3.X for X<5) have the problem that building an extension
-diff -u Python-2.6.4/Misc/find_recursionlimit.py.orig Python-2.6.4/Misc/find_recursionlimit.py
---- Python-2.6.4/Misc/find_recursionlimit.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Misc/find_recursionlimit.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Find the maximum recursion limit that prevents interpreter termination.
- 
- This script finds the maximum safe recursion limit on a particular
-diff -u Python-2.6.4/Parser/asdl_c.py.orig Python-2.6.4/Parser/asdl_c.py
---- Python-2.6.4/Parser/asdl_c.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Parser/asdl_c.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python2.6
- """Generate C code from an ASDL description."""
- 
- # TO DO
-diff -u Python-2.6.4/Doc/includes/email-alternative.py.orig Python-2.6.4/Doc/includes/email-alternative.py
---- Python-2.6.4/Doc/includes/email-alternative.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Doc/includes/email-alternative.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#!/usr/bin/python2.6
- 
- import smtplib
- 
-diff -u Python-2.6.4/Doc/includes/email-unpack.py.orig Python-2.6.4/Doc/includes/email-unpack.py
---- Python-2.6.4/Doc/includes/email-unpack.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Doc/includes/email-unpack.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Unpack a MIME message into a directory of files."""
- 
-diff -u Python-2.6.4/Doc/includes/email-dir.py.orig Python-2.6.4/Doc/includes/email-dir.py
---- Python-2.6.4/Doc/includes/email-dir.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Doc/includes/email-dir.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- 
- """Send the contents of a directory as a MIME message."""
- 
-diff -u Python-2.6.4/Doc/tools/rstlint.py.orig Python-2.6.4/Doc/tools/rstlint.py
---- Python-2.6.4/Doc/tools/rstlint.py.orig	Mon Feb 21 10:46:44 2011
-+++ Python-2.6.4/Doc/tools/rstlint.py	Mon Feb 21 10:46:44 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- coding: utf-8 -*-
- 
- # Check for stylistic and formal issues in .rst and .py
---- Python-2.6.8/Lib/lib2to3/tests/data/different_encoding.py.orig	2012-05-11 08:48:22.819694540 -0700
-+++ Python-2.6.8/Lib/lib2to3/tests/data/different_encoding.py	2012-05-11 08:48:38.042397815 -0700
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python2.6
- # -*- coding: utf-8 -*-
- print u'ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ'
- 
---- Python-2.6.8/Lib/whichdb.py.orig	2012-05-11 08:51:07.506663732 -0700
-+++ Python-2.6.8/Lib/whichdb.py	2012-05-11 08:51:22.897281496 -0700
-@@ -1,4 +1,4 @@
--# !/usr/bin/env python
-+#!/usr/bin/python2.6
- """Guess which db package to use to open a db file."""
- 
- import os
--- a/components/python/python26/patches/Python26-01-solaris-lib-dirs.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-diff --git Python-2.6.4/Modules/_multiprocessing/multiprocessing.h Python-2.6.4/Modules/_multiprocessing/multiprocessing.h
---- Python-2.6.4/Modules/_multiprocessing/multiprocessing.h
-+++ Python-2.6.4/Modules/_multiprocessing/multiprocessing.h
-@@ -3,6 +3,10 @@
- 
- #define PY_SSIZE_T_CLEAN
- 
-+/* needed on Solaris for the definition of CMSG_SPACE and friends */
-+#define _XOPEN_SOURCE
-+#define _XOPEN_SOURCE_EXTENDED 1
-+
- #include "Python.h"
- #include "structmember.h"
- #include "pythread.h"
-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
-@@ -355,10 +355,10 @@
-         return sys.platform
- 
-     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')
--
-+        if sys.platform != 'sunos5':
-+            # 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 paths specified in the environment variables LDFLAGS and
-         # CPPFLAGS for header and library files.
-         # We must get the values from the Makefile and not the environment
-@@ -687,11 +687,22 @@
-         exts.append( Extension('_csv', ['_csv.c']) )
- 
-         # socket(2)
-+        socket_libs = []
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'socket'):
-+            socket_libs.append('socket')
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'nsl'):
-+            socket_libs.append('nsl')
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'resolv'):
-+            socket_libs.append('resolv')
-         exts.append( Extension('_socket', ['socketmodule.c'],
--                               depends = ['socketmodule.h']) )
-+                               depends = ['socketmodule.h'],
-+                               libraries = socket_libs) )
-         # Detect SSL support for the socket module (via _ssl)
-         search_for_ssl_incs_in = [
--                              '/usr/local/ssl/include',
-+                              '/usr/sfw/include',
-                               '/usr/contrib/ssl/include/'
-                              ]
-         ssl_incs = find_file('openssl/ssl.h', inc_dirs,
-@@ -702,8 +713,12 @@
-                                ['/usr/kerberos/include'])
-             if krb5_h:
-                 ssl_incs += krb5_h
-+        if sys.maxint == 2147483647L:
-+            sfw_libdir = '/usr/sfw/lib';
-+        else:
-+            sfw_libdir = '/usr/sfw/lib/64';
-         ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
--                                     ['/usr/local/ssl/lib',
-+                                     [sfw_libdir,
-                                       '/usr/contrib/ssl/lib/'
-                                      ] )
- 
-@@ -712,6 +727,7 @@
-             exts.append( Extension('_ssl', ['_ssl.c'],
-                                    include_dirs = ssl_incs,
-                                    library_dirs = ssl_libs,
-+				   runtime_library_dirs = ssl_libs,
-                                    libraries = ['ssl', 'crypto'],
-                                    depends = ['socketmodule.h']), )
-         else:
-@@ -1191,16 +1207,34 @@
- 
-         # Curses support, requiring the System V version of curses, often
-         # provided by the ncurses library.
-+        curses_lib_dirs = []
-+        curses_inc_dirs = []
-+        if platform == 'sunos5':
-+            # look for ncurses in /usr/gnu on Solaris
-+            curses_inc_dirs.append('/usr/include/ncurses')
-+            curses_lib_dirs.append('/usr/gnu/lib')
-+            if os.path.exists('/usr/gnu/lib/sparcv9'):
-+                curses_lib_dirs.append('/usr/gnu/lib/sparcv9')
-+            else:
-+                curses_lib_dirs.append('/usr/gnu/lib/amd64')
-         panel_library = 'panel'
--        if curses_library.startswith('ncurses'):
--            if curses_library == 'ncursesw':
--                # Bug 1464056: If _curses.so links with ncursesw,
--                # _curses_panel.so must link with panelw.
--                panel_library = 'panelw'
--            curses_libs = [curses_library]
-+        if (self.compiler.find_library_file(lib_dirs, 'ncursesw')):
-+            curses_libs = ['ncursesw']
-+            # Bug 1464056: If _curses.so links with ncursesw,
-+            # _curses_panel.so must link with panelw.
-+            panel_library = 'panelw'
-             exts.append( Extension('_curses', ['_cursesmodule.c'],
-                                    libraries = curses_libs) )
--        elif curses_library == 'curses' and platform != 'darwin':
-+        elif (self.compiler.find_library_file(lib_dirs + curses_lib_dirs, 'ncurses')):
-+            curses_libs = ['ncurses']
-+            exts.append( Extension('_curses', ['_cursesmodule.c'],
-+                                   libraries = curses_libs,
-+                                   library_dirs = curses_lib_dirs,
-+                                   runtime_library_dirs = curses_lib_dirs,
-+                                   include_dirs = curses_inc_dirs ) )
-+
-+        elif (self.compiler.find_library_file(lib_dirs, 'curses')
-+              and platform != 'darwin'):
-                 # OSX has an old Berkeley curses, not good enough for
-                 # the _curses module.
-             if (self.compiler.find_library_file(lib_dirs, 'terminfo')):
-@@ -1217,9 +1251,12 @@
- 
-         # If the curses module is enabled, check for the panel module
-         if (module_enabled(exts, '_curses') and
--            self.compiler.find_library_file(lib_dirs, panel_library)):
-+            self.compiler.find_library_file(lib_dirs + curses_lib_dirs, panel_library)):
-             exts.append( Extension('_curses_panel', ['_curses_panel.c'],
--                                   libraries = [panel_library] + curses_libs) )
-+                                   libraries = [panel_library] + curses_libs,
-+                                   include_dirs = curses_inc_dirs,
-+                                   library_dirs = curses_lib_dirs,
-+                                   runtime_library_dirs = curses_lib_dirs ) )
-         else:
-             missing.append('_curses_panel')
- 
-@@ -1432,9 +1469,14 @@
-             if macros.get('HAVE_SEM_OPEN', False):
-                 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')
-@@ -1674,12 +1716,23 @@
-         # Assume we haven't found any of the libraries or include files
-         # The versions with dots are used on Unix, and the versions without
-         # dots on Windows, for detection by cygwin.
-+        added_lib_dirs = []
-+        tcl_tk_lib_dirs = ['/usr/sfw/lib']
-+        tcl_tk_inc_dirs = ['/usr/sfw/include']
-         tcllib = tklib = tcl_includes = tk_includes = None
-         for version in ['8.5', '85', '8.4', '84', '8.3', '83', '8.2',
-                         '82', '8.1', '81', '8.0', '80']:
--            tklib = self.compiler.find_library_file(lib_dirs, 'tk' + version)
--            tcllib = self.compiler.find_library_file(lib_dirs, 'tcl' + version)
-+            tklib = self.compiler.find_library_file(lib_dirs, 'tk' + version, tcl_tk_lib_dirs)
-+            tcllib = self.compiler.find_library_file(lib_dirs, 'tcl' + version, tcl_tk_lib_dirs)
-+            if tklib and tcllib:
-+                # Exit the loop when we've found the Tcl/Tk libraries
-+                break
-+
-+            tklib = self.compiler.find_library_file(tcl_tk_lib_dirs, 'tk' + version)
-+            tcllib = self.compiler.find_library_file(tcl_tk_lib_dirs, 'tcl' + version)
-             if tklib and tcllib:
-+                # found the libs in a non-standard dir
-+                added_lib_dirs.append(os.path.dirname(tcllib))
-                 # Exit the loop when we've found the Tcl/Tk libraries
-                 break
- 
-@@ -1697,6 +1750,7 @@
-             for dir in inc_dirs:
-                 tcl_include_sub += [dir + os.sep + "tcl" + dotversion]
-                 tk_include_sub += [dir + os.sep + "tk" + dotversion]
-+            tcl_include_sub += tcl_tk_inc_dirs
-             tk_include_sub += tcl_include_sub
-             tcl_includes = find_file('tcl.h', inc_dirs, tcl_include_sub)
-             tk_includes = find_file('tk.h', inc_dirs, tk_include_sub)
-@@ -1761,6 +1815,7 @@
-                         include_dirs = include_dirs,
-                         libraries = libs,
-                         library_dirs = added_lib_dirs,
-+                        runtime_library_dirs = added_lib_dirs
-                         )
-         self.extensions.append(ext)
- 
-diff --git Python-2.6.4/Lib/site-packages/vendor-packages.pth Python2.6.4/Lib/site-packages/vendor-packages.pth
---- /dev/null	Sat Feb 12 00:21:26 2011
-+++ Python-2.6.4/Lib/site-packages/vendor-packages.pth	Sat Feb 12 00:47:05 2011
-@@ -0,0 +1,1 @@
-+import site; site.addsitedir('/usr/lib/python2.6/vendor-packages')
--- a/components/python/python26/patches/Python26-02-pycc.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-diff --git Python-2.6.4/Makefile.pre.in Python-2.6.4/Makefile.pre.in
---- Python-2.6.4/Makefile.pre.in.orig	Sun Feb 13 21:00:17 2011
-+++ Python-2.6.4/Makefile.pre.in	Sun Feb 13 21:02:35 2011
-@@ -663,6 +663,8 @@
- 
- $(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
- 
-+install-pycc:	$(srcdir)/pycc
-+	$(INSTALL_SCRIPT) $< $(DESTDIR)$(BINLIBDEST)
- 
- ######################################################################
- 
-@@ -728,7 +728,7 @@
-                $(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
- 
- # Install everything
--install:	@FRAMEWORKINSTALLFIRST@ altinstall bininstall maninstall @FRAMEWORKINSTALLLAST@
-+install:	@FRAMEWORKINSTALLFIRST@ altinstall bininstall maninstall @FRAMEWORKINSTALLLAST@ install-pycc
- 
- # Install almost everything without disturbing previous versions
- altinstall:	@FRAMEWORKALTINSTALLFIRST@ altbininstall libinstall inclinstall libainstall \
-
-diff --git Python-2.6.4/pycc Python-2.6.4/pycc
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/pycc
-@@ -0,0 +1,168 @@
-+#!/bin/ksh
-+#
-+# Script for running the C/C++ compiler when building python modules
-+#
-+# CDDL HEADER START
-+#
-+# The contents of this file are subject to the terms of the
-+# Common Development and Distribution License, Version 1.0 only
-+# (the "License").  You may not use this file except in compliance
-+# with the License.
-+#
-+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+# or http://www.opensolaris.org/os/licensing.
-+# See the License for the specific language governing permissions
-+# and limitations under the License.
-+#
-+# When distributing Covered Code, include this CDDL HEADER in each
-+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+# If applicable, add the following below this CDDL HEADER, with the
-+# fields enclosed by brackets "[]" replaced with your own identifying
-+# information: Portions Copyright [yyyy] [name of copyright owner]
-+#
-+# CDDL HEADER END
-+#
-+#
-+# Copyright 2004-2005 Sun Microsystems, Inc.  All rights reserved.
-+# Use is subject to license terms.
-+#
-+
-+MYNAME=`basename $0`
-+
-+# name of the compiler executable
-+CCEXE='cc'
-+# name of the GNU compiler executable
-+GCCEXE='gcc'
-+# name of the programming language
-+CLANG='C'
-+# name of the env variable for setting the compiler path
-+CVAR='CC'
-+
-+if [ "x$PYCC_CC" != x ]; then
-+    CC="$PYCC_CC"
-+fi
-+
-+if [ "x$MYNAME" = xpyCC ]; then
-+    CCEXE='CC'
-+    GCCEXE='g++'
-+    CLANG='C++'
-+    CC="$CXX"
-+    CVAR='CXX'
-+    if [ "x$PYCC_CXX" != x ]; then
-+        CC="$PYCC_CXX"
-+    fi
-+fi
-+
-+SAVED_IFS="$IFS"
-+IFS=:
-+
-+# check if the CC env variable is set
-+if [ "x$CC" != x ]; then
-+    # verify that it doesn't point to this script
-+    if /usr/bin/cmp -s "$CC" $0; then
-+        echo "WARNING: "$CVAR" is set to this script; ignoring this value to avoid an infinite loop"
-+	CC=
-+    fi
-+fi
-+
-+# check again if the CC env variable is set
-+if [ "x$CC" != x ]; then
-+    case "$CC" in
-+	/* )
-+	    # $CC is an absolute path name
-+            # check if $CC exists
-+	    if [ ! -e "$CC" ]; then
-+		echo "WARNING: pycc: $CC not found" 1>&2
-+		CC=
-+	    else
-+        # check if $CC is an executable
-+		if [ ! -x "$CC" -o ! -f "$CC" ]; then
-+		    echo "WARNING: pycc: $CC is not an executable" 1>&2
-+		    CC=
-+		fi
-+	    fi
-+	    ;;
-+	* )
-+	    # try to find $CC in the PATH
-+	    NEW_CC=
-+	    for dir in $PATH; do
-+		if [ -x "$dir/$CC" ]; then
-+		    NEW_CC="$dir/$CC"
-+		    break
-+		fi
-+	    done
-+	    if [ "x$NEW_CC" = x ]; then
-+		echo "WARNING: pycc: $CC not found" 1>&2
-+		CC=
-+	    else
-+		CC="$NEW_CC"
-+	    fi
-+	    ;;
-+    esac
-+fi
-+
-+if [ "x$CC" = x ]; then
-+    # Look for the Sun Studio compiler in the PATH
-+    for dir in $PATH; do
-+	if [ -x "$dir/$CCEXE" ]; then
-+	    CC="$dir/$CCEXE"
-+	    break
-+	fi
-+    done
-+fi
-+
-+if [ "x$CC" = x ]; then
-+    # Look for gcc in the PATH
-+    for dir in $PATH; do
-+	if [ -x "$dir/$GCCEXE" ]; then
-+	    CC="$dir/$GCCEXE"
-+	    break
-+	fi
-+    done
-+fi
-+
-+if [ "x$CC" = x ]; then
-+    # Check for Sun Studio in /opt/SUNWspro (default install location)
-+    if [ -x /opt/SUNWspro/bin/$CCEXE ]; then
-+	CC=/opt/SUNWspro/bin/$CCEXE
-+    fi
-+fi
-+
-+if [ "x$CC" = x ]; then
-+    # Check for the GNU compiler in /usr/sfw/bin
-+    if [ -x /usr/sfw/bin/$GCCEXE ]; then
-+	CC=/usr/sfw/bin/$GCCEXE
-+    fi
-+fi
-+
-+if [ "x$CC" = x ]; then
-+    # Cannot continue without a C compiler
-+    echo "ERROR: no $CLANG compiler not found; update your PATH or set the $CVAR env variable" 1>&2
-+    exit 1
-+fi
-+
-+IFS="$SAVED_IFS"
-+
-+# We need to make some modifications to adapt correctly to compiler options
-+# that differ between GCC and Studio.
-+
-+extra_flags=
-+
-+is_gcc=no
-+
-+$CC --version >/dev/null 2>&1 && is_gcc=yes
-+
-+if [ "$is_gcc" = yes ]; then
-+	for flag in "${@}"; do
-+		# need -shared to link shared objects properly
-+		if [ "$flag" = "-G" ]; then
-+			extra_flags="$extra_flags -shared"
-+		fi
-+	done
-+	# force PIC compilation
-+	extra_flags="$extra_flags -fPIC -DPIC"
-+else
-+	extra_flags="$extra_flags -KPIC"
-+fi
-+
-+exec "$CC" $extra_flags "${@}"
--- a/components/python/python26/patches/Python26-03-distutils-pycc.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-diff --git Python-2.6.4/Lib/distutils/sysconfig.py Python-2.6.4/Lib/distutils/sysconfig.py
---- Python-2.6.4/Lib/distutils/sysconfig.py
-+++ Python-2.6.4/Lib/distutils/sysconfig.py
-@@ -166,16 +166,12 @@
-             get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
-                             'CCSHARED', 'LDSHARED', 'SO')
- 
--        if 'CC' in os.environ:
--            cc = os.environ['CC']
--        if 'CXX' in os.environ:
--            cxx = os.environ['CXX']
--        if 'LDSHARED' in os.environ:
--            ldshared = os.environ['LDSHARED']
--        if 'CPP' in os.environ:
--            cpp = os.environ['CPP']
--        else:
--            cpp = cc + " -E"           # not always
-+        # On Solaris, we must always use pycc/pyCC, which will then look up
-+        # $CC and $CXX
-+        cc = '/usr/lib/python2.6/pycc'
-+        cxx = '/usr/lib/python2.6/pyCC'
-+        cpp = cc + " -E"
-+
-         if 'LDFLAGS' in os.environ:
-             ldshared = ldshared + ' ' + os.environ['LDFLAGS']
-         if 'CFLAGS' in os.environ:
--- a/components/python/python26/patches/Python26-04-distutils-log.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-diff --git Python-2.6.4/Lib/distutils/spawn.py Python-2.6.4/Lib/distutils/spawn.py
---- Python-2.6.4/Lib/distutils/spawn.py
-+++ Python-2.6.4/Lib/distutils/spawn.py
-@@ -73,7 +73,7 @@
-     if search_path:
-         # either we find one or it stays the same
-         executable = find_executable(executable) or executable
--    log.info(string.join([executable] + cmd[1:], ' '))
-+    log.info("%s", string.join([executable] + cmd[1:], ' '))
-     if not dry_run:
-         # spawn for NT requires a full path to the .exe
-         try:
-@@ -98,7 +98,7 @@
-     if search_path:
-         # either we find one or it stays the same
-         executable = find_executable(executable) or executable
--    log.info(string.join([executable] + cmd[1:], ' '))
-+    log.info("%s", string.join([executable] + cmd[1:], ' '))
-     if not dry_run:
-         # spawnv for OS/2 EMX requires a full path to the .exe
-         try:
-@@ -119,7 +119,7 @@
-                   verbose=0,
-                   dry_run=0):
- 
--    log.info(string.join(cmd, ' '))
-+    log.info("%s", string.join(cmd, ' '))
-     if dry_run:
-         return
-     exec_fn = search_path and os.execvp or os.execv
--- a/components/python/python26/patches/Python26-05-isalibs.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,423 +0,0 @@
-diff --git Python-2.6.4/Lib/distutils/command/build_ext.py Python-2.6.4/Lib/distutils/command/build_ext.py
---- Python-2.6.4/Lib/distutils/command/build_ext.py
-+++ Python-2.6.4/Lib/distutils/command/build_ext.py
-@@ -636,6 +636,8 @@
-         modpath = fullname.split('.')
-         filename = self.get_ext_filename(ext_name)
-         filename = os.path.split(filename)[-1]
-+        if sys.maxint != 2147483647L:
-+            filename = os.path.join("64", filename)
- 
-         if not self.inplace:
-             # no further work needed
-@@ -677,7 +679,13 @@
-         so_ext = get_config_var('SO')
-         if os.name == 'nt' and self.debug:
-             return os.path.join(*ext_path) + '_d' + so_ext
--        return os.path.join(*ext_path) + so_ext
-+	# .so extensions are word-size specific
-+        path = apply(os.path.join, ext_path)
-+        if sys.maxint == 2147483647L:
-+            return path + so_ext
-+        dirname = os.path.dirname(path);
-+        basename = os.path.basename(path);
-+        return os.path.join(dirname, "64", basename + so_ext)
- 
-     def get_export_symbols (self, ext):
-         """Return the list of symbols that a shared extension has to
-diff --git Python-2.6.4/Makefile.pre.in Python-2.6.4/Makefile.pre.in
---- Python-2.6.4/Makefile.pre.in
-+++ Python-2.6.4/Makefile.pre.in
-@@ -94,11 +94,11 @@
- SCRIPTDIR=	$(prefix)/lib
- 
- # Detailed destination directories
--BINLIBDEST=	$(LIBDIR)/python$(VERSION)
--LIBDEST=	$(SCRIPTDIR)/python$(VERSION)
--INCLUDEPY=	$(INCLUDEDIR)/python$(VERSION)
--CONFINCLUDEPY=	$(CONFINCLUDEDIR)/python$(VERSION)
--LIBP=		$(LIBDIR)/python$(VERSION)
-+BINLIBDEST=		$(exec_prefix)/lib/python$(VERSION)
-+LIBDEST=		$(SCRIPTDIR)/python$(VERSION)
-+INCLUDEPY=		$(INCLUDEDIR)/python$(VERSION)
-+CONFINCLUDEPY=		$(CONFINCLUDEDIR)/python$(VERSION)
-+LIBP=			$(exec_prefix)/lib/python$(VERSION)
- 
- # Symbols used for using shared libraries
- SO=		@SO@
-diff --git Python-2.6.4/Python/import.c Python-2.6.4/Python/import.c
---- Python-2.6.4/Python/import.c
-+++ Python-2.6.4/Python/import.c
-@@ -1193,6 +1193,57 @@
- static int find_init_module(char *); /* Forward */
- static struct filedescr importhookdescr = {"", "", IMP_HOOK};
- 
-+#ifdef HAVE_STAT
-+static char *
-+insert_64dir(char *buf, size_t buflen)
-+{
-+	char *base;
-+	char *cp;
-+	size_t blen;
-+
-+	if ((blen = strlen(buf)) == 0)
-+		return (NULL);
-+
-+	cp = &buf[blen - 1];
-+	while (cp != buf && *cp != SEP)
-+		cp--;
-+
-+	if (cp != buf)
-+		cp++;
-+
-+	if (blen + strlen("64/") + 1 >= buflen)
-+		return NULL;
-+
-+	base = strdup(cp);
-+	sprintf(cp, "64%c%s", SEP, base);
-+	free(base);
-+
-+	return buf;
-+}
-+
-+/*
-+ * If we're on a 64-bit platform, modify lookups for shared object files.
-+ */
-+static size_t modify_path(struct filedescr *fdp, char *buf, size_t buflen)
-+{
-+	struct stat statbuf;
-+
-+	if (sizeof(void *) != 8)
-+		return 0;
-+
-+	if (stat(buf, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))
-+		return 0;
-+
-+	if (fdp->type != C_EXTENSION)
-+		return 0;
-+
-+	if (insert_64dir(buf, buflen) == NULL)
-+		return 0;
-+
-+	return strlen("64/");
-+}
-+#endif
-+
- static struct filedescr *
- find_module(char *fullname, char *subname, PyObject *path, char *buf,
-             size_t buflen, FILE **p_fp, PyObject **p_loader)
-@@ -1210,11 +1261,10 @@
-     static struct filedescr fd_builtin = {"", "", C_BUILTIN};
-     static struct filedescr fd_package = {"", "", PKG_DIRECTORY};
-     char name[MAXPATHLEN+1];
--#if defined(PYOS_OS2)
-     size_t saved_len;
-     size_t saved_namelen;
-     char *saved_buf = NULL;
--#endif
-+
-     if (p_loader != NULL)
-         *p_loader = NULL;
- 
-@@ -1433,15 +1483,18 @@
-         }
- #endif
- #endif
--#if defined(PYOS_OS2)
-+
-         /* take a snapshot of the module spec for restoration
-          * after the 8 character DLL hackery
-          */
-         saved_buf = strdup(buf);
-         saved_len = len;
-         saved_namelen = namelen;
--#endif /* PYOS_OS2 */
-+
-         for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) {
-+#ifdef HAVE_STAT
-+            len += modify_path(fdp, buf, buflen);
-+#endif
- #if defined(PYOS_OS2) && defined(HAVE_DYNAMIC_LOADING)
-             /* OS/2 limits DLLs to 8 character names (w/o
-                extension)
-@@ -1482,21 +1535,18 @@
-                     fp = NULL;
-                 }
-             }
--#if defined(PYOS_OS2)
-+
-             /* restore the saved snapshot */
-             strcpy(buf, saved_buf);
-             len = saved_len;
-             namelen = saved_namelen;
--#endif
-         }
--#if defined(PYOS_OS2)
-         /* don't need/want the module name snapshot anymore */
-         if (saved_buf)
-         {
-             free(saved_buf);
-             saved_buf = NULL;
-         }
--#endif
-         Py_XDECREF(copy);
-         if (fp != NULL)
-             break;
-diff --git Python-2.6.4/Python/importdl.h Python-2.6.4/Python/importdl.h
---- Python-2.6.4/Python/importdl.h
-+++ Python-2.6.4/Python/importdl.h
-@@ -31,8 +31,9 @@
- extern PyObject *_PyImport_LoadDynamicModule(char *name, char *pathname,
- 					     FILE *);
- 
--/* Max length of module suffix searched for -- accommodates "module.slb" */
--#define MAXSUFFIXSIZE 12
-+/* Max length of module suffix searched for -- accommodates "module.slb"
-+   and "64/" */
-+#define MAXSUFFIXSIZE 15
- 
- #ifdef MS_WINDOWS
- #include <windows.h>
-diff --git Python-2.6.4/configure.in Python-2.6.4/configure.in
---- Python-2.6.4/configure.in
-+++ Python-2.6.4/configure.in
-@@ -17,8 +17,44 @@
- AH_TOP([
- #ifndef Py_PYCONFIG_H
- #define Py_PYCONFIG_H
-+
- ])
- AH_BOTTOM([
-+
-+#include <sys/isa_defs.h>
-+
-+/*
-+ * Python originally defined these statically, which prevents a 32-64 python
-+ * from working at all.
-+ */
-+
-+#define SIZEOF_SHORT 2
-+#define SIZEOF_INT 4
-+#define SIZEOF_LONG_LONG 8
-+#define SIZEOF_FPOS_T 8
-+#define SIZEOF_OFF_T 8
-+#define SIZEOF_PTHREAD_T 4
-+
-+#ifdef _LP64
-+#define SIZEOF_LONG 8
-+#define SIZEOF_UINTPTR_T 8
-+#define SIZEOF_VOID_P 8
-+#define SIZEOF_TIME_T 8
-+#define SIZEOF_SIZE_T 8
-+#define SIZEOF_LONG_DOUBLE 16
-+#else
-+#define SIZEOF_LONG 4
-+#define SIZEOF_UINTPTR_T 4
-+#define SIZEOF_VOID_P 4
-+#define SIZEOF_TIME_T 4
-+#define SIZEOF_SIZE_T 4
-+#if defined(__i386)
-+#define SIZEOF_LONG_DOUBLE 12
-+#else
-+#define SIZEOF_LONG_DOUBLE 16
-+#endif
-+#endif
-+
- /* Define the macros needed if on a UnixWare 7.x system. */
- #if defined(__USLC__) && defined(__SCO_VERSION__)
- #define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
-@@ -65,6 +101,26 @@
- 
- define_xopen_source=yes
- 
-+# AC_CHECK_SIZEOF without the AC_DEFINE_UNQUOTED
-+AC_DEFUN([PY_CHECK_SIZEOF],
-+[AS_LITERAL_IF([$1], [],
-+               [AC_FATAL([$0: requires literal arguments])])dnl
-+AC_CHECK_TYPE([$1], [], [], [$3])
-+AC_CACHE_CHECK([size of $1], AS_TR_SH([ac_cv_sizeof_$1]),
-+[if test "$AS_TR_SH([ac_cv_type_$1])" = yes; then
-+  # The cast to unsigned long works around a bug in the HP C Compiler
-+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-+  # This bug is HP SR number 8606223364.
-+  _AC_COMPUTE_INT([(long) (sizeof ($1))],
-+                  [AS_TR_SH([ac_cv_sizeof_$1])],
-+                  [AC_INCLUDES_DEFAULT([$3])],
-+                  [AC_MSG_FAILURE([cannot compute sizeof ($1), 77])])
-+else
-+  AS_TR_SH([ac_cv_sizeof_$1])=0
-+fi])dnl
-+])# PY_CHECK_SIZEOF
-+
- # Arguments passed to configure.
- AC_SUBST(CONFIG_ARGS)
- CONFIG_ARGS="$ac_configure_args"
-@@ -1436,14 +1492,10 @@
- 
- # Sizes of various common basic types
- # ANSI C requires sizeof(char) == 1, so no need to check it
--AC_CHECK_SIZEOF(int, 4)
--AC_CHECK_SIZEOF(long, 4)
--AC_CHECK_SIZEOF(void *, 4)
- AC_CHECK_SIZEOF(short, 2)
- AC_CHECK_SIZEOF(float, 4)
- AC_CHECK_SIZEOF(double, 8)
--AC_CHECK_SIZEOF(fpos_t, 4)
--AC_CHECK_SIZEOF(size_t, 4)
-+AC_CHECK_SIZEOF(short)
- AC_CHECK_SIZEOF(pid_t, 4)
- 
- AC_MSG_CHECKING(for long long support)
-@@ -1453,9 +1505,6 @@
-   have_long_long=yes
- ])
- AC_MSG_RESULT($have_long_long)
--if test "$have_long_long" = yes ; then
--AC_CHECK_SIZEOF(long long, 8)
--fi
- 
- AC_MSG_CHECKING(for long double support)
- have_long_double=no
-@@ -1463,10 +1512,6 @@
-   AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define this if you have the type long double.])
-   have_long_double=yes
- ])
--AC_MSG_RESULT($have_long_double)
--if test "$have_long_double" = yes ; then
--AC_CHECK_SIZEOF(long double, 12)
--fi
- 
- AC_MSG_CHECKING(for _Bool support)
- have_c99_bool=no
-@@ -1480,106 +1525,25 @@
- fi
- 
- AC_CHECK_TYPES(uintptr_t, 
--   [AC_CHECK_SIZEOF(uintptr_t, 4)], 
-+   [],
-    [], [#ifdef HAVE_STDINT_H
-         #include <stdint.h>
-         #endif])
- 
- 
--# Hmph. AC_CHECK_SIZEOF() doesn't include <sys/types.h>.
--AC_MSG_CHECKING(size of off_t)
--AC_CACHE_VAL(ac_cv_sizeof_off_t,
--[AC_TRY_RUN([#include <stdio.h>
-+PY_CHECK_SIZEOF(off_t,4,[
-+#include <stdio.h>
-+#include <stdlib.h>
- #include <sys/types.h>
--main()
--{
--  FILE *f=fopen("conftestval", "w");
--  if (!f) exit(1);
--  fprintf(f, "%d\n", sizeof(off_t));
--  exit(0);
--}],
--ac_cv_sizeof_off_t=`cat conftestval`,
--ac_cv_sizeof_off_t=0,
--ac_cv_sizeof_off_t=4)
--])
--AC_MSG_RESULT($ac_cv_sizeof_off_t)
--AC_DEFINE_UNQUOTED(SIZEOF_OFF_T, $ac_cv_sizeof_off_t,
--[The number of bytes in an off_t.])
--
--AC_MSG_CHECKING(whether to enable large file support)
--if test "$have_long_long" = yes
--then
--if test "$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \
--	"$ac_cv_sizeof_long_long" -ge "$ac_cv_sizeof_off_t"; then
--  AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1, 
--  [Defined to enable large file support when an off_t is bigger than a long
--   and long long is available and at least as big as an off_t. You may need
--   to add some flags for configuration and compilation to enable this mode.
--   (For Solaris and Linux, the necessary defines are already defined.)])
--  AC_MSG_RESULT(yes)
--else
--  AC_MSG_RESULT(no)
--fi
--else
--  AC_MSG_RESULT(no)
--fi
--
--# AC_CHECK_SIZEOF() doesn't include <time.h>.
--AC_MSG_CHECKING(size of time_t)
--AC_CACHE_VAL(ac_cv_sizeof_time_t,
--[AC_TRY_RUN([#include <stdio.h>
--#include <time.h>
--main()
--{
--  FILE *f=fopen("conftestval", "w");
--  if (!f) exit(1);
--  fprintf(f, "%d\n", sizeof(time_t));
--  exit(0);
--}],
--ac_cv_sizeof_time_t=`cat conftestval`,
--ac_cv_sizeof_time_t=0,
--ac_cv_sizeof_time_t=4)
- ])
--AC_MSG_RESULT($ac_cv_sizeof_time_t)
--AC_DEFINE_UNQUOTED(SIZEOF_TIME_T, $ac_cv_sizeof_time_t, 
--[The number of bytes in a time_t.])
--
- 
--# if have pthread_t then define SIZEOF_PTHREAD_T
--ac_save_cc="$CC"
--if test "$ac_cv_kpthread" = "yes"
--then CC="$CC -Kpthread"
--elif test "$ac_cv_kthread" = "yes"
--then CC="$CC -Kthread"
--elif test "$ac_cv_pthread" = "yes"
--then CC="$CC -pthread"
--fi
--AC_MSG_CHECKING(for pthread_t)
--have_pthread_t=no
--AC_TRY_COMPILE([#include <pthread.h>], [pthread_t x; x = *(pthread_t*)0;], have_pthread_t=yes)
--AC_MSG_RESULT($have_pthread_t)
--if test "$have_pthread_t" = yes ; then
--  # AC_CHECK_SIZEOF() doesn't include <pthread.h>.
--  AC_MSG_CHECKING(size of pthread_t)
--  AC_CACHE_VAL(ac_cv_sizeof_pthread_t,
--  [AC_TRY_RUN([#include <stdio.h>
--#include <pthread.h>
--  main()
--  {
--    FILE *f=fopen("conftestval", "w");
--    if (!f) exit(1);
--    fprintf(f, "%d\n", sizeof(pthread_t));
--    exit(0);
--  }],
--  ac_cv_sizeof_pthread_t=`cat conftestval`,
--  ac_cv_sizeof_pthread_t=0,
--  ac_cv_sizeof_pthread_t=4)
--  ])
--  AC_MSG_RESULT($ac_cv_sizeof_pthread_t)
--  AC_DEFINE_UNQUOTED(SIZEOF_PTHREAD_T, $ac_cv_sizeof_pthread_t,
--   [The number of bytes in a pthread_t.])
--fi
--CC="$ac_save_cc"
-+AC_MSG_CHECKING(whether to enable large file support)
-+AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1,
-+[Defined to enable large file support when an off_t is bigger than a long
-+ and long long is available and at least as big as an off_t. You may need
-+ to add some flags for configuration and compilation to enable this mode.
-+ (For Solaris and Linux, the necessary defines are already defined.)])
-+AC_MSG_RESULT(yes)
- 
- AC_MSG_CHECKING(for --enable-toolbox-glue)
- AC_ARG_ENABLE(toolbox-glue,
-@@ -1873,12 +1837,6 @@
- if test -z "$CCSHARED"
- then
- 	case $ac_sys_system/$ac_sys_release in
--	SunOS*) if test "$GCC" = yes;
--		then CCSHARED="-fPIC";
--		elif test `uname -p` = sparc;
--		then CCSHARED="-xcode=pic32";
--		else CCSHARED="-Kpic";
--		fi;;
- 	hp*|HP*) if test "$GCC" = yes;
- 		 then CCSHARED="-fPIC";
- 		 else CCSHARED="+z";
--- a/components/python/python26/patches/Python26-06-write_compiled_module-atomic.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-diff --git Python-2.6.4/Python/import.c Python-2.6.4/Python/import.c
---- Python-2.6.4/Python/import.c
-+++ Python-2.6.4/Python/import.c
-@@ -868,8 +868,9 @@
- 
- /* Write a compiled module to a file, placing the time of last
-    modification of its source into the header.
--   Errors are ignored, if a write error occurs an attempt is made to
--   remove the file. */
-+   Write to a temporary file first so that creating the file is atomic.
-+   Errors are ignored, if a write/unlink/rename error occurs an attempt
-+   is made to remove the temporary file. */
- 
- static void
- write_compiled_module(PyCodeObject *co, char *cpathname, struct stat *srcstat)
-@@ -882,11 +883,21 @@
-     mode_t mode = srcstat->st_mode & ~S_IXUSR & ~S_IXGRP & ~S_IXOTH;
- #endif
- 
--    fp = open_exclusive(cpathname, mode);
-+    char *tmppathname;
-+
-+    /* the temporary file is called cpathname + ".tmp" */
-+    if ((tmppathname = PyMem_Malloc(strlen(cpathname) + strlen(".tmp") + 1))
-+        == NULL) {
-+        return;
-+    }
-+    sprintf (tmppathname, "%s.tmp", cpathname);
-+    fp = open_exclusive(tmppathname, mode);
-+
-     if (fp == NULL) {
-         if (Py_VerboseFlag)
-             PySys_WriteStderr(
--                "# can't create %s\n", cpathname);
-+                "# can't create %s\n", tmppathname);
-+        PyMem_Free(tmppathname);
-         return;
-     }
-     PyMarshal_WriteLongToFile(pyc_magic, fp, Py_MARSHAL_VERSION);
-@@ -895,10 +906,11 @@
-     PyMarshal_WriteObjectToFile((PyObject *)co, fp, Py_MARSHAL_VERSION);
-     if (fflush(fp) != 0 || ferror(fp)) {
-         if (Py_VerboseFlag)
--            PySys_WriteStderr("# can't write %s\n", cpathname);
-+            PySys_WriteStderr("# can't write %s\n", tmppathname);
-         /* Don't keep partial file */
-         fclose(fp);
--        (void) unlink(cpathname);
-+        (void) unlink(tmppathname);
-+        PyMem_Free(tmppathname);
-         return;
-     }
-     /* Now write the true mtime */
-@@ -907,8 +919,29 @@
-     PyMarshal_WriteLongToFile((long)mtime, fp, Py_MARSHAL_VERSION);
-     fflush(fp);
-     fclose(fp);
-+    /* Delete the old compiled file, if exists */
-+    if (unlink (cpathname)) {
-+        if ((errno != ENOENT)) {
-+            /* the file exists but could not be deleted */
-+            if (Py_VerboseFlag)
-+                PySys_WriteStderr("# can't unlink %s\n", cpathname);
-+            (void) unlink(tmppathname);
-+            PyMem_Free(tmppathname);
-+            return;
-+        }
-+    }
-+    /* rename the tmp file to the real file name */
-+    if (rename (tmppathname, cpathname)) {
-+        if (Py_VerboseFlag)
-+            PySys_WriteStderr(
-+                "# can't rename %s to %s\n", tmppathname, cpathname);
-+        (void) unlink(tmppathname);
-+        PyMem_Free(tmppathname);
-+        return;
-+    }
-     if (Py_VerboseFlag)
-         PySys_WriteStderr("# wrote %s\n", cpathname);
-+    PyMem_Free(tmppathname);
- }
- 
- static void
--- a/components/python/python26/patches/Python26-07-dtrace.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,416 +0,0 @@
-diff --git Python-2.6.4/Include/frameobject.h Python-2.6.4/Include/frameobject.h
---- Python-2.6.4/Include/frameobject.h
-+++ Python-2.6.4/Include/frameobject.h
-@@ -41,6 +41,7 @@
-     /* As of 2.3 f_lineno is only valid when tracing is active (i.e. when
-        f_trace is set) -- at other times use PyCode_Addr2Line instead. */
-     int f_lineno;		/* Current line number */
-+    int f_calllineno;		/* line number of call site */
-     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 */
-diff --git Python-2.6.4/Makefile.pre.in Python-2.6.4/Makefile.pre.in
---- Python-2.6.4/Makefile.pre.in
-+++ Python-2.6.4/Makefile.pre.in
-@@ -201,6 +201,7 @@
- GRAMMAR_C=	$(srcdir)/Python/graminit.c
- GRAMMAR_INPUT=	$(srcdir)/Grammar/Grammar
- 
-+DTRACE_OBJS=Python/dtrace.o Python/phelper.o
- 
- ##########################################################################
- # Parser
-@@ -290,6 +291,7 @@
- 		Python/formatter_unicode.o \
- 		Python/formatter_string.o \
- 		Python/$(DYNLOADFILE) \
-+		$(DTRACE_OBJS) \
- 		$(LIBOBJS) \
- 		$(MACHDEP_OBJS) \
- 		$(THREADOBJ)
-@@ -577,6 +579,18 @@
- Python/formatter_string.o: $(srcdir)/Python/formatter_string.c \
- 				$(STRINGLIB_HEADERS)
- 
-+Python/phelper.o: $(srcdir)/Python/phelper.d
-+	dtrace -o $@ -DPHELPER $(DFLAGS) $(CPPFLAGS) -C -G -s $(srcdir)/Python/phelper.d
-+
-+Python/python.h: $(srcdir)/Python/python.d
-+	dtrace -o $@ $(DFLAGS) -C -h -s $(srcdir)/Python/python.d
-+
-+Python/ceval.o: Python/ceval.c Python/python.h
-+	$(CC) -c $(BASECFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE -o $@ $<
-+
-+Python/dtrace.o: $(srcdir)/Python/python.d Python/ceval.o
-+	dtrace -o $@ $(DFLAGS) -C -G -s $(srcdir)/Python/python.d Python/ceval.o
-+
- ############################################################################
- # Header files
- 
-diff --git Python-2.6.4/Objects/frameobject.c Python-2.6.4/Objects/frameobject.c
---- Python-2.6.4/Objects/frameobject.c
-+++ Python-2.6.4/Objects/frameobject.c
-@@ -698,6 +698,7 @@
-     f->f_tstate = tstate;
- 
-     f->f_lasti = -1;
-+    f->f_calllineno = code->co_firstlineno;
-     f->f_lineno = code->co_firstlineno;
-     f->f_iblock = 0;
- 
-diff --git Python-2.6.4/Python/ceval.c Python-2.6.4/Python/ceval.c
---- Python-2.6.4/Python/ceval.c
-+++ Python-2.6.4/Python/ceval.c
-@@ -19,6 +19,11 @@
- 
- #include <ctype.h>
- 
-+#define HAVE_DTRACE
-+#ifdef HAVE_DTRACE
-+#include "python.h"
-+#endif
-+
- #ifndef WITH_TSC
- 
- #define READ_TIMESTAMP(var)
-@@ -546,6 +551,55 @@
-                       NULL);
- }
- 
-+#ifdef HAVE_DTRACE
-+static void
-+dtrace_entry(PyFrameObject *f)
-+{
-+	const char *filename;
-+	const char *fname;
-+	int lineno;
-+	
-+	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);
-+
-+	/*
-+	 * Currently a USDT tail-call will not receive the correct arguments.
-+	 * Disable the tail call here.
-+	 */
-+#if defined(__sparc)
-+	asm("nop");
-+#endif
-+}
-+
-+static void
-+dtrace_return(PyFrameObject *f)
-+{
-+	const char *filename;
-+	const char *fname;
-+	int lineno;
-+	
-+	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_RETURN((char *)filename, (char *)fname, lineno);
-+
-+	/*
-+	 * Currently a USDT tail-call will not receive the correct arguments.
-+	 * Disable the tail call here.
-+	 */
-+#if defined(__sparc)
-+	asm("nop");
-+#endif
-+}
-+#else
-+#define	PYTHON_FUNCTION_ENTRY_ENABLED 0
-+#define	PYTHON_FUNCTION_RETURN_ENABLED 0
-+#define	dtrace_entry()
-+#define	dtrace_return()
-+#endif
- 
- /* Interpreter main loop */
- 
-@@ -557,9 +611,84 @@
-     return PyEval_EvalFrameEx(f, 0);
- }
- 
-+/*
-+ * These shenanigans look like utter madness, but what we're actually doing is
-+ * making sure that the ustack helper will see the PyFrameObject pointer on the
-+ * stack. We have two tricky cases:
-+ *
-+ * amd64
-+ *
-+ * We use up the six registers for passing arguments, meaning the call can't
-+ * use a register for passing 'f', and has to push it onto the stack in a known
-+ * location.
-+ *
-+ * And how does "throwflag" figure in to this? -PN
-+ *
-+ * SPARC
-+ *
-+ * Here the problem is that (on 32-bit) the compiler is re-using %i0 before
-+ * some calls inside PyEval_EvalFrameReal(), which means that when it's saved,
-+ * it's just some junk value rather than the real first argument. So, instead,
-+ * we trace our proxy PyEval_EvalFrame(), where we 'know' the compiler won't
-+ * decide to re-use %i0. We also need to defeat optimization of our proxy.
-+ */
-+
-+#if defined(HAVE_DTRACE)
-+
-+#if defined(__amd64)
-+PyObject *PyEval_EvalFrameExReal(long, long, long, long, long, long,
-+    PyFrameObject *, 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;
-+}
-+
-+PyObject *
-+PyEval_EvalFrameExReal(long a1, long a2, long a3, long a4, long a5, long a6,
-+    PyFrameObject *f, int throwflag)
-+{
-+
-+#elif defined(__sparc)
-+
-+PyObject *PyEval_EvalFrameExReal(PyFrameObject *f, int throwflag);
-+
-+volatile int dummy;
-+
-+PyObject *
-+PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
-+{
-+	volatile PyObject *f2;
-+	f2 = PyEval_EvalFrameExReal(f, throwflag);
-+	dummy = f->ob_refcnt;
-+	return (PyObject *)f2;
-+}
-+
-+PyObject *
-+PyEval_EvalFrameExReal(PyFrameObject *f, int throwflag)
-+{
-+
-+#else /* __amd64 || __sparc */
-+
-+PyObject *
-+PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
-+{
-+
-+#endif /* __amd64 || __sparc */
-+
-+#else /* don't HAVE_DTRACE */
-+
-+PyObject *
-+PyEval_EvalFrameexEx(PyFrameObject *f, int throwflag))
-+{
-+
-+#endif /* HAVE_DTRACE */
-+
- #ifdef DXPAIRS
-     int lastopcode = 0;
- #endif
-@@ -782,6 +911,9 @@
-         }
-     }
- 
-+    if (PYTHON_FUNCTION_ENTRY_ENABLED())
-+        dtrace_entry(f);
-+
-     co = f->f_code;
-     names = co->co_names;
-     consts = co->co_consts;
-@@ -2406,6 +2538,10 @@
-             PyObject **sp;
-             PCALL(PCALL_ALL);
-             sp = stack_pointer;
-+#ifdef HAVE_DTRACE
-+            f->f_calllineno = PyCode_Addr2Line(f->f_code,
-+                                               f->f_lasti);
-+#endif
- #ifdef WITH_TSC
-             x = call_function(&sp, oparg, &intr0, &intr1);
- #else
-@@ -2448,6 +2584,10 @@
-             } else
-                 Py_INCREF(func);
-             sp = stack_pointer;
-+#ifdef HAVE_DTRACE
-+            f->f_calllineno = PyCode_Addr2Line(f->f_code,
-+                                               f->f_lasti);
-+#endif
-             READ_TIMESTAMP(intr0);
-             x = ext_do_call(func, &sp, flags, na, nk);
-             READ_TIMESTAMP(intr1);
-@@ -2746,6 +2886,8 @@
- 
-     /* pop frame */
- exit_eval_frame:
-+    if (PYTHON_FUNCTION_RETURN_ENABLED())
-+        dtrace_return(f);
-     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 @@
-+
-+/*
-+ * Python ustack helper.  This relies on the first argument (PyFrame *) being
-+ * on the stack; see Python/ceval.c for the contortions we go through to ensure
-+ * this is the case.
-+ *
-+ * On x86, the PyFrame * is two slots up from the frame pointer; on SPARC, it's
-+ * eight.
-+ */
-+
-+/*
-+ * Yes, this is as gross as it looks. DTrace cannot handle static functions,
-+ * and our stat_impl.h has them in ILP32.
-+ */
-+#define _SYS_STAT_H
-+
-+#include <stdio.h>
-+#include <sys/types.h>
-+
-+#include "pyport.h"
-+#include "object.h"
-+#include "pystate.h"
-+#include "pyarena.h"
-+#include "pythonrun.h"
-+#include "compile.h"
-+#include "frameobject.h"
-+#include "stringobject.h"
-+
-+#if defined(__i386)
-+#define	startframe PyEval_EvalFrameEx
-+#define	endframe PyEval_EvalCodeEx
-+#elif defined(__amd64)
-+#define	PyEval_EvalFrameEx PyEval_EvalFrameExReal
-+#define	startframe PyEval_EvalFrameExReal
-+#define	endframe PyEval_EvalCodeEx
-+#elif defined(__sparc)
-+#define	PyEval_EvalFrameEx PyEval_EvalFrameExReal
-+#define	startframe PyEval_EvalFrameEx
-+#define	endframe PyEval_EvalFrameExReal
-+#endif
-+
-+#ifdef __sparcv9
-+#define	STACK_BIAS (2048-1)
-+#else
-+#define	STACK_BIAS 0
-+#endif
-+
-+/*
-+ * Not defining PHELPER lets us test this code as a normal D script.
-+ */
-+#ifdef PHELPER
-+
-+#define	at_evalframe(addr) \
-+    ((uintptr_t)addr >= ((uintptr_t)&``startframe) && \
-+     (uintptr_t)addr < ((uintptr_t)&``endframe))
-+#define	probe dtrace:helper:ustack:
-+#define	print_result(r) (r)
-+
-+#if defined(__i386) || defined(__amd64)
-+#define	frame_ptr_addr ((uintptr_t)arg1 + sizeof(uintptr_t) * 2)
-+#elif defined(__sparc)
-+#define	frame_ptr_addr ((uintptr_t)arg1 + STACK_BIAS + sizeof(uintptr_t) * 8)
-+#else
-+#error unknown architecture
-+#endif
-+
-+#else /* PHELPER */
-+
-+#define	at_evalframe(addr) (1)
-+#define	probe pid$target::PyEval_EvalFrame:entry
-+#define print_result(r) (trace(r))
-+
-+#if defined(__i386) || defined(__amd64)
-+#define	frame_ptr_addr ((uintptr_t)uregs[R_SP] + sizeof(uintptr_t))
-+#elif defined(__sparc)
-+/*
-+ * Not implemented: we could just use R_I0, but what's the point?
-+ */
-+#else
-+#error unknown architecture
-+#endif
-+
-+#endif /* PHELPER */
-+
-+extern uintptr_t PyEval_EvalFrameEx;
-+extern uintptr_t PyEval_EvalCodeEx;
-+
-+#define	copyin_obj(addr, obj) ((obj *)copyin((uintptr_t)addr, sizeof(obj)))
-+#define	pystr_addr(addr) ((char *)addr + offsetof(PyStringObject, ob_sval))
-+#define	copyin_str(dest, addr, obj) \
-+    (copyinto((uintptr_t)pystr_addr(addr), obj->ob_size, (dest)))
-+#define	add_str(addr, obj) \
-+    copyin_str(this->result + this->pos, addr, obj); \
-+    this->pos += obj->ob_size; \
-+    this->result[this->pos] = '\0';
-+#define	add_digit(nr, div) ((nr / div) ? \
-+    (this->result[this->pos++] = '0' + ((nr / div) % 10)) : \
-+    (this->result[this->pos] = '\0'))
-+#define	add_char(c) (this->result[this->pos++] = c)
-+
-+probe /at_evalframe(arg0)/ 
-+{
-+	this->framep = *(uintptr_t *)copyin(frame_ptr_addr, sizeof(uintptr_t));
-+	this->frameo = copyin_obj(this->framep, PyFrameObject);
-+	this->codep = this->frameo->f_code;
-+	this->lineno = this->frameo->f_calllineno;
-+	this->codeo = copyin_obj(this->codep, PyCodeObject);
-+	this->filenamep = this->codeo->co_filename;
-+	this->fnamep = this->codeo->co_name;
-+	this->filenameo = copyin_obj(this->filenamep, PyStringObject);
-+	this->fnameo = copyin_obj(this->fnamep, PyStringObject);
-+
-+	this->len = 1 + this->filenameo->ob_size + 1 + 5 + 2 +
-+	    this->fnameo->ob_size + 1 + 1;
-+
-+	this->result = (char *)alloca(this->len);
-+	this->pos = 0;
-+
-+	add_char('@');
-+	add_str(this->filenamep, this->filenameo);
-+	add_char(':');
-+	add_digit(this->lineno, 10000);
-+	add_digit(this->lineno, 1000);
-+	add_digit(this->lineno, 100);
-+	add_digit(this->lineno, 10);
-+	add_digit(this->lineno, 1);
-+	add_char(' ');
-+	add_char('(');
-+	add_str(this->fnamep, this->fnameo);
-+	add_char(')');
-+	this->result[this->pos] = '\0';
-+
-+	print_result(stringof(this->result));
-+}
-+
-+probe /!at_evalframe(arg0)/
-+{
-+	NULL;
-+}
-diff --git Python-2.6.4/Python/python.d Python-2.6.4/Python/python.d
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Python/python.d
-@@ -0,0 +1,10 @@
-+provider python {
-+	probe function__entry(const char *, const char *, int);
-+	probe function__return(const char *, const char *, int);
-+};
-+
-+#pragma D attributes Evolving/Evolving/Common provider python provider
-+#pragma D attributes Private/Private/Common provider python module
-+#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
--- a/components/python/python26/patches/Python26-08-ctypes.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-diff --git Python-2.6.4/Modules/_ctypes/callproc.c Python-2.6.4/Modules/_ctypes/callproc.c
---- Python-2.6.4/Modules/_ctypes/callproc.c
-+++ Python-2.6.4/Modules/_ctypes/callproc.c
-@@ -73,6 +73,8 @@
- #include <malloc.h>
- #endif
- 
-+#include <alloca.h>
-+
- #include <ffi.h>
- #include "ctypes.h"
- 
-diff --git Python-2.6.4/Modules/_ctypes/libffi/src/x86/ffitarget.h Python-2.6.4/Modules/_ctypes/libffi/src/x86/ffitarget.h
---- Python-2.6.4/Modules/_ctypes/libffi/src/x86/ffitarget.h
-+++ Python-2.6.4/Modules/_ctypes/libffi/src/x86/ffitarget.h
-@@ -54,10 +54,10 @@
- #endif
- 
-   /* ---- Intel x86 and AMD x86-64 - */
--#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__))
-+#if !defined(X86_WIN32) && (defined(__i386__) || defined(__i386) || defined(__x86_64__))
-   FFI_SYSV,
-   FFI_UNIX64,   /* Unix variants all use the same ABI for x86-64  */
--#ifdef __i386__
-+#if defined (__i386__) || defined (__i386)
-   FFI_DEFAULT_ABI = FFI_SYSV,
- #else
-   FFI_DEFAULT_ABI = FFI_UNIX64,
--- a/components/python/python26/patches/Python26-09-ucred.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2426 +0,0 @@
-diff --git Python-2.6.4/Modules/ucred.c Python-2.6.4/Modules/ucred.c
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Modules/ucred.c
-@@ -0,0 +1,391 @@
-+/*
-+ * Permission is hereby granted, free of charge, to any person obtaining a copy
-+ * of this software and associated documentation files (the "Software"), to
-+ * deal in the Software without restriction, including without limitation the
-+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-+ * sell copies of the Software, and to permit persons to whom the Software is
-+ * furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *
-+ * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+#include <Python.h>
-+
-+#include <stdio.h>
-+#include <priv.h>
-+#include <ucred.h>
-+#include <ctype.h>
-+#include <tsol/label.h>
-+
-+typedef struct {
-+	PyObject_HEAD
-+	ucred_t *ucred;
-+} pyucred_t;
-+
-+#define pyucred_getlongid(name, type)				\
-+	static PyObject *					\
-+	pyucred_get##name(pyucred_t *uc)			\
-+	{ 							\
-+		type val;					\
-+								\
-+		if (uc->ucred == NULL) {			\
-+			errno = EINVAL;				\
-+			PyErr_SetFromErrno(PyExc_OSError);	\
-+			return (NULL);				\
-+		}						\
-+								\
-+		if ((val = ucred_get##name(uc->ucred)) == -1) {	\
-+			PyErr_SetFromErrno(PyExc_OSError);	\
-+			return (NULL);				\
-+		}						\
-+								\
-+		return (Py_BuildValue("l", (long)val));		\
-+	}
-+
-+pyucred_getlongid(euid, uid_t)
-+pyucred_getlongid(ruid, uid_t)
-+pyucred_getlongid(suid, uid_t)
-+pyucred_getlongid(egid, gid_t)
-+pyucred_getlongid(rgid, gid_t)
-+pyucred_getlongid(sgid, gid_t)
-+pyucred_getlongid(pid, pid_t)
-+pyucred_getlongid(projid, projid_t)
-+pyucred_getlongid(zoneid, zoneid_t)
-+
-+static PyObject *
-+pyucred_getgroups(pyucred_t *uc)
-+{
-+	const gid_t *groups;
-+	PyObject *list;
-+	int len;
-+	int i;
-+
-+	if (uc->ucred == NULL) {
-+		errno = EINVAL;
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	if ((len = ucred_getgroups(uc->ucred, &groups)) == -1) {
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	if ((list = PyList_New(len)) == NULL)
-+		return (NULL);
-+
-+	for (i = 0; i < len; i++) {
-+		PyObject *gid = Py_BuildValue("l", (long)groups[i]);
-+		if (PyList_SetItem(list, i, gid) == -1)
-+			return (NULL);
-+	}
-+
-+	return (list);
-+}
-+
-+static PyObject *
-+pyucred_getlabel(pyucred_t *uc)
-+{
-+	m_label_t *label;
-+	PyObject *ret;
-+	char *str;
-+
-+	if (uc->ucred == NULL) {
-+		errno = EINVAL;
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	label = ucred_getlabel(uc->ucred);
-+	if (label == NULL)
-+		return (Py_BuildValue("s", ""));
-+
-+	if (label_to_str(label, &str, M_LABEL, DEF_NAMES) == -1) {
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	ret = Py_BuildValue("s", str);
-+	free(str);
-+	return (ret);
-+}
-+
-+static PyObject *
-+pyucred_getpflags(pyucred_t *uc, PyObject *args, PyObject *kwargs)
-+{
-+	static char *kwlist[] = { "flags", NULL };
-+	uint_t flags;
-+
-+	if (uc->ucred == NULL) {
-+		errno = EINVAL;
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist,
-+	    &flags))
-+		return (NULL);
-+
-+	if ((flags = ucred_getpflags(uc->ucred, flags)) == (uint_t)-1) {
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("i", flags));
-+}
-+
-+static PyObject *
-+pyucred_has_priv(pyucred_t *uc, PyObject *args, PyObject *kwargs)
-+{
-+	static char *kwlist[] = { "set", "priv", NULL };
-+	const priv_set_t *privs;
-+	const char *set;
-+	const char *priv;
-+
-+	if (uc->ucred == NULL) {
-+		errno = EINVAL;
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ss", kwlist,
-+	    &set, &priv))
-+		return (NULL);
-+
-+	if ((privs = ucred_getprivset(uc->ucred, set)) == NULL) {
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	if (priv_ismember(privs, priv)) {
-+		Py_INCREF(Py_True);
-+		return Py_True;
-+	}
-+
-+	Py_INCREF(Py_False);
-+	return Py_False;
-+}
-+
-+PyDoc_STRVAR(pyucred_getlabel_doc,
-+    "getlabel() -> string\n"
-+    "\n"
-+    "Return the Trusted Extensions label string, or an "
-+    "empty string if not available. The label string is "
-+    "converted using the default name and M_LABEL (human-readable). "
-+    "Raises OSError. See label_to_str(3TSOL).");
-+PyDoc_STRVAR(pyucred_getpflags_doc,
-+    "getpflags(flags) -> int\n"
-+    "\n"
-+    "Return the values of the specified privilege flags.");
-+PyDoc_STRVAR(pyucred_has_priv_doc,
-+    "has_priv(set, priv) -> bool\n"
-+    "\n"
-+    "Return true if the given privilege is set in the "
-+    "specified set. Raises OSError if the set or privilege is "
-+    "invalid, or a problem occurs.\n"
-+    "\n"
-+    "Currently, the following privilege sets are defined, as "
-+    "described in privileges(5):\n"
-+    "\n"
-+    "Effective\n"
-+    "Permitted\n"
-+    "Inheritable\n"
-+    "Limit\n");
-+
-+static PyMethodDef pyucred_methods[] = {
-+	{ "geteuid", (PyCFunction)pyucred_geteuid, METH_NOARGS,
-+	    "Return the effective user ID." },
-+	{ "getruid", (PyCFunction)pyucred_getruid, METH_NOARGS,
-+	    "Return the real user ID." },
-+	{ "getsuid", (PyCFunction)pyucred_getsuid, METH_NOARGS,
-+	    "Return the saved user ID." },
-+	{ "getegid", (PyCFunction)pyucred_getegid, METH_NOARGS,
-+	    "Return the effective group ID." },
-+	{ "getrgid", (PyCFunction)pyucred_getrgid, METH_NOARGS,
-+	    "Return the real group ID." },
-+	{ "getsgid", (PyCFunction)pyucred_getsgid, METH_NOARGS,
-+	    "Return the saved group ID." },
-+	{ "getpid", (PyCFunction)pyucred_getpid, METH_NOARGS,
-+	    "Return the effective user ID." },
-+	{ "getprojid", (PyCFunction)pyucred_getprojid, METH_NOARGS,
-+	    "Return the project ID." },
-+	{ "getzoneid", (PyCFunction)pyucred_getzoneid, METH_NOARGS,
-+	    "Return the zone ID." },
-+	{ "getgroups", (PyCFunction)pyucred_getgroups, METH_NOARGS,
-+	    "Return a list of group IDs." },
-+	{ "getlabel", (PyCFunction)pyucred_getlabel, METH_NOARGS,
-+	    pyucred_getlabel_doc },
-+	{ "getpflags", (PyCFunction)pyucred_getpflags,
-+	    METH_VARARGS|METH_KEYWORDS, pyucred_getpflags_doc },
-+	{ "has_priv", (PyCFunction)pyucred_has_priv,
-+	    METH_VARARGS|METH_KEYWORDS, pyucred_has_priv_doc },
-+	{ NULL }
-+};
-+
-+static int
-+pyucred_init(PyObject *self, PyObject *args, PyObject *kwargs)
-+{
-+	pyucred_t *uc = (pyucred_t *)self;
-+	uc->ucred = NULL;
-+	return (0);
-+}
-+
-+static void
-+pyucred_dealloc(PyObject *self)
-+{
-+	pyucred_t *uc = (pyucred_t *)self;
-+	if (uc->ucred != NULL)
-+		ucred_free(uc->ucred);
-+	self->ob_type->tp_free(self);
-+}
-+
-+static PyTypeObject pyucred_type = {
-+	PyObject_HEAD_INIT(NULL)
-+	0,                         /*ob_size*/
-+	"ucred.ucred",             /*tp_name*/
-+	sizeof (pyucred_t),        /*tp_basicsize*/
-+	0,                         /*tp_itemsize*/
-+	pyucred_dealloc,           /*tp_dealloc*/
-+	0,                         /*tp_print*/
-+	0,                         /*tp_getattr*/
-+	0,                         /*tp_setattr*/
-+	0,                         /*tp_compare*/
-+	0,                         /*tp_repr*/
-+	0,                         /*tp_as_number*/
-+	0,                         /*tp_as_sequence*/
-+	0,                         /*tp_as_mapping*/
-+	0,                         /*tp_hash */
-+	0,                         /*tp_call*/
-+	0,                         /*tp_str*/
-+	0,                         /*tp_getattro*/
-+	0,                         /*tp_setattro*/
-+	0,                         /*tp_as_buffer*/
-+	Py_TPFLAGS_DEFAULT,        /*tp_flags*/
-+	"user credentials",        /*tp_doc */
-+	0,		           /* tp_traverse */
-+	0,		           /* tp_clear */
-+	0,		           /* tp_richcompare */
-+	0,		           /* tp_weaklistoffset */
-+	0,		           /* tp_iter */
-+	0,		           /* tp_iternext */
-+	pyucred_methods,           /* tp_methods */
-+	0,                         /* tp_members */
-+	0,                         /* tp_getset */
-+	0,                         /* tp_base */
-+	0,                         /* tp_dict */
-+	0,                         /* tp_descr_get */
-+	0,                         /* tp_descr_set */
-+	0,                         /* tp_dictoffset */
-+	(initproc)pyucred_init,    /* tp_init */
-+	0,                         /* tp_alloc */
-+	0,                         /* tp_new */
-+};
-+
-+static PyObject *
-+pyucred_new(const ucred_t *uc)
-+{
-+	pyucred_t *self;
-+
-+	self = (pyucred_t *)PyObject_CallObject((PyObject *)&pyucred_type, NULL);
-+
-+	if (self == NULL)
-+		return (NULL);
-+
-+	self->ucred = (ucred_t *)uc;
-+
-+	return ((PyObject *)self);
-+}
-+
-+static PyObject *
-+pyucred_get(PyObject *o, PyObject *args, PyObject *kwargs)
-+{
-+	static char *kwlist[] = { "pid", NULL };
-+	ucred_t *ucred = NULL;
-+	int pid;
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist,
-+	    &pid))
-+		return (NULL);
-+
-+	ucred = ucred_get(pid);
-+
-+	if (ucred == NULL) {
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	return (pyucred_new(ucred));
-+}
-+
-+static PyObject *
-+pyucred_getpeer(PyObject *o, PyObject *args, PyObject *kwargs)
-+{
-+	static char *kwlist[] = { "fd", NULL };
-+	ucred_t *ucred = NULL;
-+	int fd;
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist,
-+	    &fd))
-+		return (NULL);
-+
-+	if (getpeerucred(fd, &ucred) == -1) {
-+		PyErr_SetFromErrno(PyExc_OSError);
-+		return (NULL);
-+	}
-+
-+	return (pyucred_new(ucred));
-+}
-+
-+PyDoc_STRVAR(pyucred_get_doc,
-+    "get(pid) -> ucred\n"
-+    "\n"
-+    "Return the credentials of the specified process ID. "
-+    "Raises OSError. See ucred_get(3C).");
-+PyDoc_STRVAR(pyucred_getpeer_doc,
-+    "getpeer(fd) -> ucred\n"
-+    "\n"
-+    "Return the credentials of the peer endpoint of a "
-+    "connection-oriented socket (SOCK_STREAM) or STREAM fd "
-+    "at the time the endpoint was created or the connection "
-+    "was established. Raises OSError. See getpeerucred(3C).");
-+
-+static struct PyMethodDef pyucred_module_methods[] = {
-+	{ "get", (PyCFunction) pyucred_get,
-+	  METH_VARARGS|METH_KEYWORDS, pyucred_get_doc },
-+	{ "getpeer", (PyCFunction) pyucred_getpeer,
-+	  METH_VARARGS|METH_KEYWORDS, pyucred_getpeer_doc },
-+	{ NULL, NULL, 0, NULL }
-+};
-+
-+PyDoc_STRVAR(pyucred_module_doc,
-+    "This module provides an interface to the user credential access "
-+    "methods, obtainable either by process ID or file descriptor.");
-+   
-+PyMODINIT_FUNC
-+initucred(void)
-+{
-+	PyObject *m;
-+
-+	m = Py_InitModule3("ucred", pyucred_module_methods,
-+	    pyucred_module_doc);
-+
-+	pyucred_type.tp_new = PyType_GenericNew;
-+	if (PyType_Ready(&pyucred_type) < 0)
-+		return;
-+
-+	Py_INCREF(&pyucred_type);
-+
-+	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
-@@ -1277,6 +1277,13 @@
-         else:
-             missing.append('dl')
- 
-+        # ucred module (Solaris)
-+        ucred_inc = find_file('ucred.h', [], inc_dirs)
-+        tsol_inc = find_file('tsol/label.h', [], inc_dirs)
-+        if ucred_inc is not None and tsol_inc is not None:
-+            exts.append( Extension('ucred', ['ucred.c'],
-+                                   libraries = ['tsol']) )
-+
-         # Thomas Heller's _ctypes module
-         self.detect_ctypes(inc_dirs, lib_dirs)
- 
-diff --git Python-2.6.4/setup.py.orig Python-2.6.4/setup.py.orig
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/setup.py.orig
-@@ -0,0 +1,1958 @@
-+# Autodetecting setup.py script for building the Python extensions
-+#
-+
-+__version__ = "$Revision: 75282 $"
-+
-+import sys, os, imp, re, optparse
-+from glob import glob
-+from platform import machine as platform_machine
-+
-+from distutils import log
-+from distutils import sysconfig
-+from distutils import text_file
-+from distutils.errors import *
-+from distutils.core import Extension, setup
-+from distutils.command.build_ext import build_ext
-+from distutils.command.install import install
-+from distutils.command.install_lib import install_lib
-+
-+# This global variable is used to hold the list of modules to be disabled.
-+disabled_module_list = []
-+
-+def add_dir_to_list(dirlist, dir):
-+    """Add the directory 'dir' to the list 'dirlist' (at the front) if
-+    1) 'dir' is not already in 'dirlist'
-+    2) 'dir' actually exists, and is a directory."""
-+    if dir is not None and os.path.isdir(dir) and dir not in dirlist:
-+        dirlist.insert(0, dir)
-+
-+def find_file(filename, std_dirs, paths):
-+    """Searches for the directory where a given file is located,
-+    and returns a possibly-empty list of additional directories, or None
-+    if the file couldn't be found at all.
-+
-+    'filename' is the name of a file, such as readline.h or libcrypto.a.
-+    'std_dirs' is the list of standard system directories; if the
-+        file is found in one of them, no additional directives are needed.
-+    'paths' is a list of additional locations to check; if the file is
-+        found in one of them, the resulting list will contain the directory.
-+    """
-+
-+    # Check the standard locations
-+    for dir in std_dirs:
-+        f = os.path.join(dir, filename)
-+        if os.path.exists(f): return []
-+
-+    # Check the additional directories
-+    for dir in paths:
-+        f = os.path.join(dir, filename)
-+        if os.path.exists(f):
-+            return [dir]
-+
-+    # Not found anywhere
-+    return None
-+
-+def find_library_file(compiler, libname, std_dirs, paths):
-+    result = compiler.find_library_file(std_dirs + paths, libname)
-+    if result is None:
-+        return None
-+
-+    # Check whether the found file is in one of the standard directories
-+    dirname = os.path.dirname(result)
-+    for p in std_dirs:
-+        # Ensure path doesn't end with path separator
-+        p = p.rstrip(os.sep)
-+        if p == dirname:
-+            return [ ]
-+
-+    # Otherwise, it must have been in one of the additional directories,
-+    # so we have to figure out which one.
-+    for p in paths:
-+        # Ensure path doesn't end with path separator
-+        p = p.rstrip(os.sep)
-+        if p == dirname:
-+            return [p]
-+    else:
-+        assert False, "Internal error: Path not found in std_dirs or paths"
-+
-+def module_enabled(extlist, modname):
-+    """Returns whether the module 'modname' is present in the list
-+    of extensions 'extlist'."""
-+    extlist = [ext for ext in extlist if ext.name == modname]
-+    return len(extlist)
-+
-+def find_module_file(module, dirlist):
-+    """Find a module in a set of possible folders. If it is not found
-+    return the unadorned filename"""
-+    list = find_file(module, [], dirlist)
-+    if not list:
-+        return module
-+    if len(list) > 1:
-+        log.info("WARNING: multiple copies of %s found"%module)
-+    return os.path.join(list[0], module)
-+
-+class PyBuildExt(build_ext):
-+
-+    def __init__(self, dist):
-+        build_ext.__init__(self, dist)
-+        self.failed = []
-+
-+    def build_extensions(self):
-+
-+        # Detect which modules should be compiled
-+        missing = self.detect_modules()
-+
-+        # Remove modules that are present on the disabled list
-+        extensions = [ext for ext in self.extensions
-+                      if ext.name not in disabled_module_list]
-+        # move ctypes to the end, it depends on other modules
-+        ext_map = dict((ext.name, i) for i, ext in enumerate(extensions))
-+        if "_ctypes" in ext_map:
-+            ctypes = extensions.pop(ext_map["_ctypes"])
-+            extensions.append(ctypes)
-+        self.extensions = extensions
-+
-+        # Fix up the autodetected modules, prefixing all the source files
-+        # with Modules/ and adding Python's include directory to the path.
-+        (srcdir,) = sysconfig.get_config_vars('srcdir')
-+        if not srcdir:
-+            # Maybe running on Windows but not using CYGWIN?
-+            raise ValueError("No source directory; cannot proceed.")
-+
-+        # Figure out the location of the source code for extension modules
-+        # (This logic is copied in distutils.test.test_sysconfig,
-+        # so building in a separate directory does not break test_distutils.)
-+        moddir = os.path.join(os.getcwd(), srcdir, 'Modules')
-+        moddir = os.path.normpath(moddir)
-+        srcdir, tail = os.path.split(moddir)
-+        srcdir = os.path.normpath(srcdir)
-+        moddir = os.path.normpath(moddir)
-+
-+        moddirlist = [moddir]
-+        incdirlist = ['./Include']
-+
-+        # Platform-dependent module source and include directories
-+        platform = self.get_platform()
-+        if platform in ('darwin', 'mac') and ("--disable-toolbox-glue" not in
-+            sysconfig.get_config_var("CONFIG_ARGS")):
-+            # Mac OS X also includes some mac-specific modules
-+            macmoddir = os.path.join(os.getcwd(), srcdir, 'Mac/Modules')
-+            moddirlist.append(macmoddir)
-+            incdirlist.append('./Mac/Include')
-+
-+        alldirlist = moddirlist + incdirlist
-+
-+        # Fix up the paths for scripts, too
-+        self.distribution.scripts = [os.path.join(srcdir, filename)
-+                                     for filename in self.distribution.scripts]
-+
-+        # Python header files
-+        headers = glob("Include/*.h") + ["pyconfig.h"]
-+
-+        for ext in self.extensions[:]:
-+            ext.sources = [ find_module_file(filename, moddirlist)
-+                            for filename in ext.sources ]
-+            if ext.depends is not None:
-+                ext.depends = [find_module_file(filename, alldirlist)
-+                               for filename in ext.depends]
-+            else:
-+                ext.depends = []
-+            # re-compile extensions if a header file has been changed
-+            ext.depends.extend(headers)
-+
-+            ext.include_dirs.append( '.' ) # to get config.h
-+            for incdir in incdirlist:
-+                ext.include_dirs.append( os.path.join(srcdir, incdir) )
-+
-+            # If a module has already been built statically,
-+            # don't build it here
-+            if ext.name in sys.builtin_module_names:
-+                self.extensions.remove(ext)
-+
-+        if platform != 'mac':
-+            # Parse Modules/Setup and Modules/Setup.local to figure out which
-+            # modules are turned on in the file.
-+            remove_modules = []
-+            for filename in ('Modules/Setup', 'Modules/Setup.local'):
-+                input = text_file.TextFile(filename, join_lines=1)
-+                while 1:
-+                    line = input.readline()
-+                    if not line: break
-+                    line = line.split()
-+                    remove_modules.append(line[0])
-+                input.close()
-+
-+            for ext in self.extensions[:]:
-+                if ext.name in remove_modules:
-+                    self.extensions.remove(ext)
-+
-+        # When you run "make CC=altcc" or something similar, you really want
-+        # those environment variables passed into the setup.py phase.  Here's
-+        # a small set of useful ones.
-+        compiler = os.environ.get('CC')
-+        args = {}
-+        # unfortunately, distutils doesn't let us provide separate C and C++
-+        # compilers
-+        if compiler is not None:
-+            (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
-+            args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
-+        self.compiler.set_executables(**args)
-+
-+        build_ext.build_extensions(self)
-+
-+        longest = max([len(e.name) for e in self.extensions])
-+        if self.failed:
-+            longest = max(longest, max([len(name) for name in self.failed]))
-+
-+        def print_three_column(lst):
-+            lst.sort(key=str.lower)
-+            # guarantee zip() doesn't drop anything
-+            while len(lst) % 3:
-+                lst.append("")
-+            for e, f, g in zip(lst[::3], lst[1::3], lst[2::3]):
-+                print "%-*s   %-*s   %-*s" % (longest, e, longest, f,
-+                                              longest, g)
-+
-+        if missing:
-+            print
-+            print "Failed to find the necessary bits to build these modules:"
-+            print_three_column(missing)
-+            print ("To find the necessary bits, look in setup.py in"
-+                   " detect_modules() for the module's name.")
-+            print
-+
-+        if self.failed:
-+            failed = self.failed[:]
-+            print
-+            print "Failed to build these modules:"
-+            print_three_column(failed)
-+            print
-+
-+    def build_extension(self, ext):
-+
-+        if ext.name == '_ctypes':
-+            if not self.configure_ctypes(ext):
-+                return
-+
-+        try:
-+            build_ext.build_extension(self, ext)
-+        except (CCompilerError, DistutilsError), why:
-+            self.announce('WARNING: building of extension "%s" failed: %s' %
-+                          (ext.name, sys.exc_info()[1]))
-+            self.failed.append(ext.name)
-+            return
-+        # Workaround for Mac OS X: The Carbon-based modules cannot be
-+        # reliably imported into a command-line Python
-+        if 'Carbon' in ext.extra_link_args:
-+            self.announce(
-+                'WARNING: skipping import check for Carbon-based "%s"' %
-+                ext.name)
-+            return
-+
-+        if self.get_platform() == 'darwin' and (
-+                sys.maxint > 2**32 and '-arch' in ext.extra_link_args):
-+            # Don't bother doing an import check when an extension was
-+            # build with an explicit '-arch' flag on OSX. That's currently
-+            # only used to build 32-bit only extensions in a 4-way
-+            # universal build and loading 32-bit code into a 64-bit
-+            # process will fail.
-+            self.announce(
-+                'WARNING: skipping import check for "%s"' %
-+                ext.name)
-+            return
-+
-+        # Workaround for Cygwin: Cygwin currently has fork issues when many
-+        # modules have been imported
-+        if self.get_platform() == 'cygwin':
-+            self.announce('WARNING: skipping import check for Cygwin-based "%s"'
-+                % ext.name)
-+            return
-+        ext_filename = os.path.join(
-+            self.build_lib,
-+            self.get_ext_filename(self.get_ext_fullname(ext.name)))
-+        try:
-+            imp.load_dynamic(ext.name, ext_filename)
-+        except ImportError, why:
-+            self.failed.append(ext.name)
-+            self.announce('*** WARNING: renaming "%s" since importing it'
-+                          ' failed: %s' % (ext.name, why), level=3)
-+            assert not self.inplace
-+            basename, tail = os.path.splitext(ext_filename)
-+            newname = basename + "_failed" + tail
-+            if os.path.exists(newname):
-+                os.remove(newname)
-+            os.rename(ext_filename, newname)
-+
-+            # XXX -- This relies on a Vile HACK in
-+            # distutils.command.build_ext.build_extension().  The
-+            # _built_objects attribute is stored there strictly for
-+            # use here.
-+            # If there is a failure, _built_objects may not be there,
-+            # so catch the AttributeError and move on.
-+            try:
-+                for filename in self._built_objects:
-+                    os.remove(filename)
-+            except AttributeError:
-+                self.announce('unable to remove files (ignored)')
-+        except:
-+            exc_type, why, tb = sys.exc_info()
-+            self.announce('*** WARNING: importing extension "%s" '
-+                          'failed with %s: %s' % (ext.name, exc_type, why),
-+                          level=3)
-+            self.failed.append(ext.name)
-+
-+    def get_platform(self):
-+        # Get value of sys.platform
-+        for platform in ['cygwin', 'beos', 'darwin', 'atheos', 'osf1']:
-+            if sys.platform.startswith(platform):
-+                return platform
-+        return sys.platform
-+
-+    def detect_modules(self):
-+        if sys.platform != 'sunos5':
-+            # 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 paths specified in the environment variables LDFLAGS and
-+        # CPPFLAGS for header and library files.
-+        # We must get the values from the Makefile and not the environment
-+        # directly since an inconsistently reproducible issue comes up where
-+        # the environment variable is not set even though the value were passed
-+        # into configure and stored in the Makefile (issue found on OS X 10.3).
-+        for env_var, arg_name, dir_list in (
-+                ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
-+                ('LDFLAGS', '-L', self.compiler.library_dirs),
-+                ('CPPFLAGS', '-I', self.compiler.include_dirs)):
-+            env_val = sysconfig.get_config_var(env_var)
-+            if env_val:
-+                # To prevent optparse from raising an exception about any
-+                # options in env_val that it doesn't know about we strip out
-+                # all double dashes and any dashes followed by a character
-+                # that is not for the option we are dealing with.
-+                #
-+                # Please note that order of the regex is important!  We must
-+                # strip out double-dashes first so that we don't end up with
-+                # substituting "--Long" to "-Long" and thus lead to "ong" being
-+                # used for a library directory.
-+                env_val = re.sub(r'(^|\s+)-(-|(?!%s))' % arg_name[1],
-+                                 ' ', env_val)
-+                parser = optparse.OptionParser()
-+                # Make sure that allowing args interspersed with options is
-+                # allowed
-+                parser.allow_interspersed_args = True
-+                parser.error = lambda msg: None
-+                parser.add_option(arg_name, dest="dirs", action="append")
-+                options = parser.parse_args(env_val.split())[0]
-+                if options.dirs:
-+                    for directory in reversed(options.dirs):
-+                        add_dir_to_list(dir_list, directory)
-+
-+        if os.path.normpath(sys.prefix) != '/usr':
-+            add_dir_to_list(self.compiler.library_dirs,
-+                            sysconfig.get_config_var("LIBDIR"))
-+            add_dir_to_list(self.compiler.include_dirs,
-+                            sysconfig.get_config_var("INCLUDEDIR"))
-+
-+        try:
-+            have_unicode = unicode
-+        except NameError:
-+            have_unicode = 0
-+
-+        # lib_dirs and inc_dirs are used to search for files;
-+        # 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 + [
-+            '/lib64', '/usr/lib64',
-+            '/lib', '/usr/lib',
-+            ]
-+        inc_dirs = self.compiler.include_dirs + ['/usr/include']
-+        exts = []
-+        missing = []
-+
-+        config_h = sysconfig.get_config_h_filename()
-+        config_h_vars = sysconfig.parse_config_h(open(config_h))
-+
-+        platform = self.get_platform()
-+        (srcdir,) = sysconfig.get_config_vars('srcdir')
-+
-+        # Check for AtheOS which has libraries in non-standard locations
-+        if platform == 'atheos':
-+            lib_dirs += ['/system/libs', '/atheos/autolnk/lib']
-+            lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
-+            inc_dirs += ['/system/include', '/atheos/autolnk/include']
-+            inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
-+
-+        # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
-+        if platform in ['osf1', 'unixware7', 'openunix8']:
-+            lib_dirs += ['/usr/ccs/lib']
-+
-+        if platform == 'darwin':
-+            # This should work on any unixy platform ;-)
-+            # If the user has bothered specifying additional -I and -L flags
-+            # in OPT and LDFLAGS we might as well use them here.
-+            #   NOTE: using shlex.split would technically be more correct, but
-+            # also gives a bootstrap problem. Let's hope nobody uses directories
-+            # with whitespace in the name to store libraries.
-+            cflags, ldflags = sysconfig.get_config_vars(
-+                    'CFLAGS', 'LDFLAGS')
-+            for item in cflags.split():
-+                if item.startswith('-I'):
-+                    inc_dirs.append(item[2:])
-+
-+            for item in ldflags.split():
-+                if item.startswith('-L'):
-+                    lib_dirs.append(item[2:])
-+
-+        # Check for MacOS X, which doesn't need libm.a at all
-+        math_libs = ['m']
-+        if platform in ['darwin', 'beos', 'mac']:
-+            math_libs = []
-+
-+        # XXX Omitted modules: gl, pure, dl, SGI-specific modules
-+
-+        #
-+        # The following modules are all pretty straightforward, and compile
-+        # on pretty much any POSIXish platform.
-+        #
-+
-+        # Some modules that are normally always on:
-+        exts.append( Extension('_weakref', ['_weakref.c']) )
-+
-+        # array objects
-+        exts.append( Extension('array', ['arraymodule.c']) )
-+        # complex math library functions
-+        exts.append( Extension('cmath', ['cmathmodule.c'],
-+                               libraries=math_libs) )
-+
-+        # math library functions, e.g. sin()
-+        exts.append( Extension('math',  ['mathmodule.c'],
-+                               libraries=math_libs) )
-+        # fast string operations implemented in C
-+        exts.append( Extension('strop', ['stropmodule.c']) )
-+        # time operations and variables
-+        exts.append( Extension('time', ['timemodule.c'],
-+                               libraries=math_libs) )
-+        exts.append( Extension('datetime', ['datetimemodule.c', 'timemodule.c'],
-+                               libraries=math_libs) )
-+        # fast iterator tools implemented in C
-+        exts.append( Extension("itertools", ["itertoolsmodule.c"]) )
-+        # code that will be builtins in the future, but conflict with the
-+        #  current builtins
-+        exts.append( Extension('future_builtins', ['future_builtins.c']) )
-+        # random number generator implemented in C
-+        exts.append( Extension("_random", ["_randommodule.c"]) )
-+        # high-performance collections
-+        exts.append( Extension("_collections", ["_collectionsmodule.c"]) )
-+        # bisect
-+        exts.append( Extension("_bisect", ["_bisectmodule.c"]) )
-+        # heapq
-+        exts.append( Extension("_heapq", ["_heapqmodule.c"]) )
-+        # operator.add() and similar goodies
-+        exts.append( Extension('operator', ['operator.c']) )
-+        # Python 3.0 _fileio module
-+        exts.append( Extension("_fileio", ["_fileio.c"]) )
-+        # Python 3.0 _bytesio module
-+        exts.append( Extension("_bytesio", ["_bytesio.c"]) )
-+        # _functools
-+        exts.append( Extension("_functools", ["_functoolsmodule.c"]) )
-+        # _json speedups
-+        exts.append( Extension("_json", ["_json.c"]) )
-+        # Python C API test module
-+        exts.append( Extension('_testcapi', ['_testcapimodule.c'],
-+                               depends=['testcapi_long.h']) )
-+        # profilers (_lsprof is for cProfile.py)
-+        exts.append( Extension('_hotshot', ['_hotshot.c']) )
-+        exts.append( Extension('_lsprof', ['_lsprof.c', 'rotatingtree.c']) )
-+        # static Unicode character database
-+        if have_unicode:
-+            exts.append( Extension('unicodedata', ['unicodedata.c']) )
-+        else:
-+            missing.append('unicodedata')
-+        # access to ISO C locale support
-+        data = open('pyconfig.h').read()
-+        m = re.search(r"#s*define\s+WITH_LIBINTL\s+1\s*", data)
-+        if m is not None:
-+            locale_libs = ['intl']
-+        else:
-+            locale_libs = []
-+        if platform == 'darwin':
-+            locale_extra_link_args = ['-framework', 'CoreFoundation']
-+        else:
-+            locale_extra_link_args = []
-+
-+
-+        exts.append( Extension('_locale', ['_localemodule.c'],
-+                               libraries=locale_libs,
-+                               extra_link_args=locale_extra_link_args) )
-+
-+        # Modules with some UNIX dependencies -- on by default:
-+        # (If you have a really backward UNIX, select and socket may not be
-+        # supported...)
-+
-+        # fcntl(2) and ioctl(2)
-+        exts.append( Extension('fcntl', ['fcntlmodule.c']) )
-+        if platform not in ['mac']:
-+            # pwd(3)
-+            exts.append( Extension('pwd', ['pwdmodule.c']) )
-+            # grp(3)
-+            exts.append( Extension('grp', ['grpmodule.c']) )
-+            # spwd, shadow passwords
-+            if (config_h_vars.get('HAVE_GETSPNAM', False) or
-+                    config_h_vars.get('HAVE_GETSPENT', False)):
-+                exts.append( Extension('spwd', ['spwdmodule.c']) )
-+            else:
-+                missing.append('spwd')
-+        else:
-+            missing.extend(['pwd', 'grp', 'spwd'])
-+
-+        # select(2); not on ancient System V
-+        exts.append( Extension('select', ['selectmodule.c']) )
-+
-+        # Fred Drake's interface to the Python parser
-+        exts.append( Extension('parser', ['parsermodule.c']) )
-+
-+        # cStringIO and cPickle
-+        exts.append( Extension('cStringIO', ['cStringIO.c']) )
-+        exts.append( Extension('cPickle', ['cPickle.c']) )
-+
-+        # Memory-mapped files (also works on Win32).
-+        if platform not in ['atheos', 'mac']:
-+            exts.append( Extension('mmap', ['mmapmodule.c']) )
-+        else:
-+            missing.append('mmap')
-+
-+        # Lance Ellinghaus's syslog module
-+        if platform not in ['mac']:
-+            # syslog daemon interface
-+            exts.append( Extension('syslog', ['syslogmodule.c']) )
-+        else:
-+            missing.append('syslog')
-+
-+        # George Neville-Neil's timing module:
-+        # Deprecated in PEP 4 http://www.python.org/peps/pep-0004.html
-+        # http://mail.python.org/pipermail/python-dev/2006-January/060023.html
-+        #exts.append( Extension('timing', ['timingmodule.c']) )
-+
-+        #
-+        # Here ends the simple stuff.  From here on, modules need certain
-+        # libraries, are platform-specific, or present other surprises.
-+        #
-+
-+        # Multimedia modules
-+        # These don't work for 64-bit platforms!!!
-+        # These represent audio samples or images as strings:
-+
-+        # Operations on audio samples
-+        # According to #993173, this one should actually work fine on
-+        # 64-bit platforms.
-+        exts.append( Extension('audioop', ['audioop.c']) )
-+
-+        # Disabled on 64-bit platforms
-+        if sys.maxint != 9223372036854775807L:
-+            # Operations on images
-+            exts.append( Extension('imageop', ['imageop.c']) )
-+        else:
-+            missing.extend(['imageop'])
-+
-+        # readline
-+        do_readline = self.compiler.find_library_file(lib_dirs, 'readline')
-+        if platform == 'darwin': # and os.uname()[2] < '9.':
-+            # MacOSX 10.4 has a broken readline. Don't try to build
-+            # the readline module unless the user has installed a fixed
-+            # readline package
-+            # FIXME: The readline emulation on 10.5 is better, but the
-+            # readline module doesn't compile out of the box.
-+            if find_file('readline/rlconf.h', inc_dirs, []) is None:
-+                do_readline = False
-+        if do_readline:
-+            if sys.platform == 'darwin':
-+                # In every directory on the search path search for a dynamic
-+                # library and then a static library, instead of first looking
-+                # for dynamic libraries on the entiry path.
-+                # This way a staticly linked custom readline gets picked up
-+                # before the (broken) dynamic library in /usr/lib.
-+                readline_extra_link_args = ('-Wl,-search_paths_first',)
-+            else:
-+                readline_extra_link_args = ()
-+
-+            readline_libs = ['readline']
-+            if self.compiler.find_library_file(lib_dirs,
-+                                                 'ncursesw'):
-+                readline_libs.append('ncursesw')
-+            elif self.compiler.find_library_file(lib_dirs,
-+                                                 'ncurses'):
-+                readline_libs.append('ncurses')
-+            elif self.compiler.find_library_file(lib_dirs, 'curses'):
-+                readline_libs.append('curses')
-+            elif self.compiler.find_library_file(lib_dirs +
-+                                               ['/usr/lib/termcap'],
-+                                               'termcap'):
-+                readline_libs.append('termcap')
-+            exts.append( Extension('readline', ['readline.c'],
-+                                   library_dirs=['/usr/lib/termcap'],
-+                                   extra_link_args=readline_extra_link_args,
-+                                   libraries=readline_libs) )
-+        else:
-+            missing.append('readline')
-+
-+        if platform not in ['mac']:
-+            # crypt module.
-+
-+            if self.compiler.find_library_file(lib_dirs, 'crypt'):
-+                libs = ['crypt']
-+            else:
-+                libs = []
-+            exts.append( Extension('crypt', ['cryptmodule.c'], libraries=libs) )
-+        else:
-+            missing.append('crypt')
-+
-+        # CSV files
-+        exts.append( Extension('_csv', ['_csv.c']) )
-+
-+        # socket(2)
-+        socket_libs = []
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'socket'):
-+            socket_libs.append('socket')
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'nsl'):
-+            socket_libs.append('nsl')
-+        if self.compiler.find_library_file(lib_dirs,
-+                                           'resolv'):
-+            socket_libs.append('resolv')
-+        exts.append( Extension('_socket', ['socketmodule.c'],
-+                               depends = ['socketmodule.h'],
-+                               libraries = socket_libs) )
-+        # Detect SSL support for the socket module (via _ssl)
-+        search_for_ssl_incs_in = [
-+                              '/usr/sfw/include',
-+                              '/usr/contrib/ssl/include/'
-+                             ]
-+        ssl_incs = find_file('openssl/ssl.h', inc_dirs,
-+                             search_for_ssl_incs_in
-+                             )
-+        if ssl_incs is not None:
-+            krb5_h = find_file('krb5.h', inc_dirs,
-+                               ['/usr/kerberos/include'])
-+            if krb5_h:
-+                ssl_incs += krb5_h
-+        if sys.maxint == 2147483647L:
-+            sfw_libdir = '/usr/sfw/lib';
-+        else:
-+            sfw_libdir = '/usr/sfw/lib/64';
-+        ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
-+                                     [sfw_libdir,
-+                                      '/usr/contrib/ssl/lib/'
-+                                     ] )
-+
-+        if (ssl_incs is not None and
-+            ssl_libs is not None):
-+            exts.append( Extension('_ssl', ['_ssl.c'],
-+                                   include_dirs = ssl_incs,
-+                                   library_dirs = ssl_libs,
-+				   runtime_library_dirs = ssl_libs,
-+                                   libraries = ['ssl', 'crypto'],
-+                                   depends = ['socketmodule.h']), )
-+        else:
-+            missing.append('_ssl')
-+
-+        # find out which version of OpenSSL we have
-+        openssl_ver = 0
-+        openssl_ver_re = re.compile(
-+            '^\s*#\s*define\s+OPENSSL_VERSION_NUMBER\s+(0x[0-9a-fA-F]+)' )
-+        for ssl_inc_dir in inc_dirs + search_for_ssl_incs_in:
-+            name = os.path.join(ssl_inc_dir, 'openssl', 'opensslv.h')
-+            if os.path.isfile(name):
-+                try:
-+                    incfile = open(name, 'r')
-+                    for line in incfile:
-+                        m = openssl_ver_re.match(line)
-+                        if m:
-+                            openssl_ver = eval(m.group(1))
-+                            break
-+                except IOError:
-+                    pass
-+
-+            # first version found is what we'll use (as the compiler should)
-+            if openssl_ver:
-+                break
-+
-+        #print 'openssl_ver = 0x%08x' % openssl_ver
-+
-+        if (ssl_incs is not None and
-+            ssl_libs is not None and
-+            openssl_ver >= 0x00907000):
-+            # The _hashlib module wraps optimized implementations
-+            # of hash functions from the OpenSSL library.
-+            exts.append( Extension('_hashlib', ['_hashopenssl.c'],
-+                                   include_dirs = ssl_incs,
-+                                   library_dirs = ssl_libs,
-+                                   libraries = ['ssl', 'crypto']) )
-+            # these aren't strictly missing since they are unneeded.
-+            #missing.extend(['_sha', '_md5'])
-+        else:
-+            # The _sha module implements the SHA1 hash algorithm.
-+            exts.append( Extension('_sha', ['shamodule.c']) )
-+            # The _md5 module implements the RSA Data Security, Inc. MD5
-+            # Message-Digest Algorithm, described in RFC 1321.  The
-+            # necessary files md5.c and md5.h are included here.
-+            exts.append( Extension('_md5',
-+                            sources = ['md5module.c', 'md5.c'],
-+                            depends = ['md5.h']) )
-+            missing.append('_hashlib')
-+
-+        if (openssl_ver < 0x00908000):
-+            # OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash
-+            exts.append( Extension('_sha256', ['sha256module.c']) )
-+            exts.append( Extension('_sha512', ['sha512module.c']) )
-+
-+        # Modules that provide persistent dictionary-like semantics.  You will
-+        # probably want to arrange for at least one of them to be available on
-+        # your machine, though none are defined by default because of library
-+        # dependencies.  The Python module anydbm.py provides an
-+        # implementation independent wrapper for these; dumbdbm.py provides
-+        # similar functionality (but slower of course) implemented in Python.
-+
-+        # Sleepycat^WOracle Berkeley DB interface.
-+        #  http://www.oracle.com/database/berkeley-db/db/index.html
-+        #
-+        # This requires the Sleepycat^WOracle DB code. The supported versions
-+        # are set below.  Visit the URL above to download
-+        # a release.  Most open source OSes come with one or more
-+        # versions of BerkeleyDB already installed.
-+
-+        max_db_ver = (4, 7)
-+        min_db_ver = (3, 3)
-+        db_setup_debug = False   # verbose debug prints from this script?
-+
-+        def allow_db_ver(db_ver):
-+            """Returns a boolean if the given BerkeleyDB version is acceptable.
-+
-+            Args:
-+              db_ver: A tuple of the version to verify.
-+            """
-+            if not (min_db_ver <= db_ver <= max_db_ver):
-+                return False
-+            # Use this function to filter out known bad configurations.
-+            if (4, 6) == db_ver[:2]:
-+                # BerkeleyDB 4.6.x is not stable on many architectures.
-+                arch = platform_machine()
-+                if arch not in ('i386', 'i486', 'i586', 'i686',
-+                                'x86_64', 'ia64'):
-+                    return False
-+            return True
-+
-+        def gen_db_minor_ver_nums(major):
-+            if major == 4:
-+                for x in range(max_db_ver[1]+1):
-+                    if allow_db_ver((4, x)):
-+                        yield x
-+            elif major == 3:
-+                for x in (3,):
-+                    if allow_db_ver((3, x)):
-+                        yield x
-+            else:
-+                raise ValueError("unknown major BerkeleyDB version", major)
-+
-+        # construct a list of paths to look for the header file in on
-+        # top of the normal inc_dirs.
-+        db_inc_paths = [
-+            '/usr/include/db4',
-+            '/usr/local/include/db4',
-+            '/opt/sfw/include/db4',
-+            '/usr/include/db3',
-+            '/usr/local/include/db3',
-+            '/opt/sfw/include/db3',
-+            # Fink defaults (http://fink.sourceforge.net/)
-+            '/sw/include/db4',
-+            '/sw/include/db3',
-+        ]
-+        # 4.x minor number specific paths
-+        for x in gen_db_minor_ver_nums(4):
-+            db_inc_paths.append('/usr/include/db4%d' % x)
-+            db_inc_paths.append('/usr/include/db4.%d' % x)
-+            db_inc_paths.append('/usr/local/BerkeleyDB.4.%d/include' % x)
-+            db_inc_paths.append('/usr/local/include/db4%d' % x)
-+            db_inc_paths.append('/pkg/db-4.%d/include' % x)
-+            db_inc_paths.append('/opt/db-4.%d/include' % x)
-+            # MacPorts default (http://www.macports.org/)
-+            db_inc_paths.append('/opt/local/include/db4%d' % x)
-+        # 3.x minor number specific paths
-+        for x in gen_db_minor_ver_nums(3):
-+            db_inc_paths.append('/usr/include/db3%d' % x)
-+            db_inc_paths.append('/usr/local/BerkeleyDB.3.%d/include' % x)
-+            db_inc_paths.append('/usr/local/include/db3%d' % x)
-+            db_inc_paths.append('/pkg/db-3.%d/include' % x)
-+            db_inc_paths.append('/opt/db-3.%d/include' % x)
-+
-+        # Add some common subdirectories for Sleepycat DB to the list,
-+        # based on the standard include directories. This way DB3/4 gets
-+        # picked up when it is installed in a non-standard prefix and
-+        # the user has added that prefix into inc_dirs.
-+        std_variants = []
-+        for dn in inc_dirs:
-+            std_variants.append(os.path.join(dn, 'db3'))
-+            std_variants.append(os.path.join(dn, 'db4'))
-+            for x in gen_db_minor_ver_nums(4):
-+                std_variants.append(os.path.join(dn, "db4%d"%x))
-+                std_variants.append(os.path.join(dn, "db4.%d"%x))
-+            for x in gen_db_minor_ver_nums(3):
-+                std_variants.append(os.path.join(dn, "db3%d"%x))
-+                std_variants.append(os.path.join(dn, "db3.%d"%x))
-+
-+        db_inc_paths = std_variants + db_inc_paths
-+        db_inc_paths = [p for p in db_inc_paths if os.path.exists(p)]
-+
-+        db_ver_inc_map = {}
-+
-+        class db_found(Exception): pass
-+        try:
-+            # See whether there is a Sleepycat header in the standard
-+            # search path.
-+            for d in inc_dirs + db_inc_paths:
-+                f = os.path.join(d, "db.h")
-+                if db_setup_debug: print "db: looking for db.h in", f
-+                if os.path.exists(f):
-+                    f = open(f).read()
-+                    m = re.search(r"#define\WDB_VERSION_MAJOR\W(\d+)", f)
-+                    if m:
-+                        db_major = int(m.group(1))
-+                        m = re.search(r"#define\WDB_VERSION_MINOR\W(\d+)", f)
-+                        db_minor = int(m.group(1))
-+                        db_ver = (db_major, db_minor)
-+
-+                        # Avoid 4.6 prior to 4.6.21 due to a BerkeleyDB bug
-+                        if db_ver == (4, 6):
-+                            m = re.search(r"#define\WDB_VERSION_PATCH\W(\d+)", f)
-+                            db_patch = int(m.group(1))
-+                            if db_patch < 21:
-+                                print "db.h:", db_ver, "patch", db_patch,
-+                                print "being ignored (4.6.x must be >= 4.6.21)"
-+                                continue
-+
-+                        if ( (not db_ver_inc_map.has_key(db_ver)) and
-+                            allow_db_ver(db_ver) ):
-+                            # save the include directory with the db.h version
-+                            # (first occurrence only)
-+                            db_ver_inc_map[db_ver] = d
-+                            if db_setup_debug:
-+                                print "db.h: found", db_ver, "in", d
-+                        else:
-+                            # we already found a header for this library version
-+                            if db_setup_debug: print "db.h: ignoring", d
-+                    else:
-+                        # ignore this header, it didn't contain a version number
-+                        if db_setup_debug:
-+                            print "db.h: no version number version in", d
-+
-+            db_found_vers = db_ver_inc_map.keys()
-+            db_found_vers.sort()
-+
-+            while db_found_vers:
-+                db_ver = db_found_vers.pop()
-+                db_incdir = db_ver_inc_map[db_ver]
-+
-+                # check lib directories parallel to the location of the header
-+                db_dirs_to_check = [
-+                    db_incdir.replace("include", 'lib64'),
-+                    db_incdir.replace("include", 'lib'),
-+                ]
-+                db_dirs_to_check = filter(os.path.isdir, db_dirs_to_check)
-+
-+                # Look for a version specific db-X.Y before an ambiguoius dbX
-+                # XXX should we -ever- look for a dbX name?  Do any
-+                # systems really not name their library by version and
-+                # symlink to more general names?
-+                for dblib in (('db-%d.%d' % db_ver),
-+                              ('db%d%d' % db_ver),
-+                              ('db%d' % db_ver[0])):
-+                    dblib_file = self.compiler.find_library_file(
-+                                    db_dirs_to_check + lib_dirs, dblib )
-+                    if dblib_file:
-+                        dblib_dir = [ os.path.abspath(os.path.dirname(dblib_file)) ]
-+                        raise db_found
-+                    else:
-+                        if db_setup_debug: print "db lib: ", dblib, "not found"
-+
-+        except db_found:
-+            if db_setup_debug:
-+                print "bsddb using BerkeleyDB lib:", db_ver, dblib
-+                print "bsddb lib dir:", dblib_dir, " inc dir:", db_incdir
-+            db_incs = [db_incdir]
-+            dblibs = [dblib]
-+            # We add the runtime_library_dirs argument because the
-+            # BerkeleyDB lib we're linking against often isn't in the
-+            # system dynamic library search path.  This is usually
-+            # correct and most trouble free, but may cause problems in
-+            # some unusual system configurations (e.g. the directory
-+            # is on an NFS server that goes away).
-+            exts.append(Extension('_bsddb', ['_bsddb.c'],
-+                                  depends = ['bsddb.h'],
-+                                  library_dirs=dblib_dir,
-+                                  runtime_library_dirs=dblib_dir,
-+                                  include_dirs=db_incs,
-+                                  libraries=dblibs))
-+        else:
-+            if db_setup_debug: print "db: no appropriate library found"
-+            db_incs = None
-+            dblibs = []
-+            dblib_dir = None
-+            missing.append('_bsddb')
-+
-+        # The sqlite interface
-+        sqlite_setup_debug = False   # verbose debug prints from this script?
-+
-+        # We hunt for #define SQLITE_VERSION "n.n.n"
-+        # We need to find >= sqlite version 3.0.8
-+        sqlite_incdir = sqlite_libdir = None
-+        sqlite_inc_paths = [ '/usr/include',
-+                             '/usr/include/sqlite',
-+                             '/usr/include/sqlite3',
-+                             '/usr/local/include',
-+                             '/usr/local/include/sqlite',
-+                             '/usr/local/include/sqlite3',
-+                           ]
-+        MIN_SQLITE_VERSION_NUMBER = (3, 0, 8)
-+        MIN_SQLITE_VERSION = ".".join([str(x)
-+                                    for x in MIN_SQLITE_VERSION_NUMBER])
-+
-+        # Scan the default include directories before the SQLite specific
-+        # ones. This allows one to override the copy of sqlite on OSX,
-+        # where /usr/include contains an old version of sqlite.
-+        for d in inc_dirs + sqlite_inc_paths:
-+            f = os.path.join(d, "sqlite3.h")
-+            if os.path.exists(f):
-+                if sqlite_setup_debug: print "sqlite: found %s"%f
-+                incf = open(f).read()
-+                m = re.search(
-+                    r'\s*.*#\s*.*define\s.*SQLITE_VERSION\W*"(.*)"', incf)
-+                if m:
-+                    sqlite_version = m.group(1)
-+                    sqlite_version_tuple = tuple([int(x)
-+                                        for x in sqlite_version.split(".")])
-+                    if sqlite_version_tuple >= MIN_SQLITE_VERSION_NUMBER:
-+                        # we win!
-+                        if sqlite_setup_debug:
-+                            print "%s/sqlite3.h: version %s"%(d, sqlite_version)
-+                        sqlite_incdir = d
-+                        break
-+                    else:
-+                        if sqlite_setup_debug:
-+                            print "%s: version %d is too old, need >= %s"%(d,
-+                                        sqlite_version, MIN_SQLITE_VERSION)
-+                elif sqlite_setup_debug:
-+                    print "sqlite: %s had no SQLITE_VERSION"%(f,)
-+
-+        if sqlite_incdir:
-+            sqlite_dirs_to_check = [
-+                os.path.join(sqlite_incdir, '..', 'lib64'),
-+                os.path.join(sqlite_incdir, '..', 'lib'),
-+                os.path.join(sqlite_incdir, '..', '..', 'lib64'),
-+                os.path.join(sqlite_incdir, '..', '..', 'lib'),
-+            ]
-+            sqlite_libfile = self.compiler.find_library_file(
-+                                sqlite_dirs_to_check + lib_dirs, 'sqlite3')
-+            if sqlite_libfile:
-+                sqlite_libdir = [os.path.abspath(os.path.dirname(sqlite_libfile))]
-+
-+        if sqlite_incdir and sqlite_libdir:
-+            sqlite_srcs = ['_sqlite/cache.c',
-+                '_sqlite/connection.c',
-+                '_sqlite/cursor.c',
-+                '_sqlite/microprotocols.c',
-+                '_sqlite/module.c',
-+                '_sqlite/prepare_protocol.c',
-+                '_sqlite/row.c',
-+                '_sqlite/statement.c',
-+                '_sqlite/util.c', ]
-+
-+            sqlite_defines = []
-+            if sys.platform != "win32":
-+                sqlite_defines.append(('MODULE_NAME', '"sqlite3"'))
-+            else:
-+                sqlite_defines.append(('MODULE_NAME', '\\"sqlite3\\"'))
-+
-+
-+            if sys.platform == 'darwin':
-+                # In every directory on the search path search for a dynamic
-+                # library and then a static library, instead of first looking
-+                # for dynamic libraries on the entiry path.
-+                # This way a staticly linked custom sqlite gets picked up
-+                # before the dynamic library in /usr/lib.
-+                sqlite_extra_link_args = ('-Wl,-search_paths_first',)
-+            else:
-+                sqlite_extra_link_args = ()
-+
-+            exts.append(Extension('_sqlite3', sqlite_srcs,
-+                                  define_macros=sqlite_defines,
-+                                  include_dirs=["Modules/_sqlite",
-+                                                sqlite_incdir],
-+                                  library_dirs=sqlite_libdir,
-+                                  runtime_library_dirs=sqlite_libdir,
-+                                  extra_link_args=sqlite_extra_link_args,
-+                                  libraries=["sqlite3",]))
-+        else:
-+            missing.append('_sqlite3')
-+
-+        # Look for Berkeley db 1.85.   Note that it is built as a different
-+        # module name so it can be included even when later versions are
-+        # available.  A very restrictive search is performed to avoid
-+        # accidentally building this module with a later version of the
-+        # underlying db library.  May BSD-ish Unixes incorporate db 1.85
-+        # symbols into libc and place the include file in /usr/include.
-+        #
-+        # If the better bsddb library can be built (db_incs is defined)
-+        # we do not build this one.  Otherwise this build will pick up
-+        # the more recent berkeleydb's db.h file first in the include path
-+        # when attempting to compile and it will fail.
-+        f = "/usr/include/db.h"
-+        if os.path.exists(f) and not db_incs:
-+            data = open(f).read()
-+            m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
-+            if m is not None:
-+                # bingo - old version used hash file format version 2
-+                ### XXX this should be fixed to not be platform-dependent
-+                ### but I don't have direct access to an osf1 platform and
-+                ### seemed to be muffing the search somehow
-+                libraries = platform == "osf1" and ['db'] or None
-+                if libraries is not None:
-+                    exts.append(Extension('bsddb185', ['bsddbmodule.c'],
-+                                          libraries=libraries))
-+                else:
-+                    exts.append(Extension('bsddb185', ['bsddbmodule.c']))
-+            else:
-+                missing.append('bsddb185')
-+        else:
-+            missing.append('bsddb185')
-+
-+        # The standard Unix dbm module:
-+        if platform not in ['cygwin']:
-+            if find_file("ndbm.h", inc_dirs, []) is not None:
-+                # Some systems have -lndbm, others don't
-+                if self.compiler.find_library_file(lib_dirs, 'ndbm'):
-+                    ndbm_libs = ['ndbm']
-+                else:
-+                    ndbm_libs = []
-+                exts.append( Extension('dbm', ['dbmmodule.c'],
-+                                       define_macros=[('HAVE_NDBM_H',None)],
-+                                       libraries = ndbm_libs ) )
-+            elif self.compiler.find_library_file(lib_dirs, 'gdbm'):
-+                gdbm_libs = ['gdbm']
-+                if self.compiler.find_library_file(lib_dirs, 'gdbm_compat'):
-+                    gdbm_libs.append('gdbm_compat')
-+                if find_file("gdbm/ndbm.h", inc_dirs, []) is not None:
-+                    exts.append( Extension(
-+                        'dbm', ['dbmmodule.c'],
-+                        define_macros=[('HAVE_GDBM_NDBM_H',None)],
-+                        libraries = gdbm_libs ) )
-+                elif find_file("gdbm-ndbm.h", inc_dirs, []) is not None:
-+                    exts.append( Extension(
-+                        'dbm', ['dbmmodule.c'],
-+                        define_macros=[('HAVE_GDBM_DASH_NDBM_H',None)],
-+                        libraries = gdbm_libs ) )
-+                else:
-+                    missing.append('dbm')
-+            elif db_incs is not None:
-+                exts.append( Extension('dbm', ['dbmmodule.c'],
-+                                       library_dirs=dblib_dir,
-+                                       runtime_library_dirs=dblib_dir,
-+                                       include_dirs=db_incs,
-+                                       define_macros=[('HAVE_BERKDB_H',None),
-+                                                      ('DB_DBM_HSEARCH',None)],
-+                                       libraries=dblibs))
-+            else:
-+                missing.append('dbm')
-+
-+        # Anthony Baxter's gdbm module.  GNU dbm(3) will require -lgdbm:
-+        if (self.compiler.find_library_file(lib_dirs, 'gdbm')):
-+            exts.append( Extension('gdbm', ['gdbmmodule.c'],
-+                                   libraries = ['gdbm'] ) )
-+        else:
-+            missing.append('gdbm')
-+
-+        # Unix-only modules
-+        if platform not in ['mac', 'win32']:
-+            # Steen Lumholt's termios module
-+            exts.append( Extension('termios', ['termios.c']) )
-+            # Jeremy Hylton's rlimit interface
-+            if platform not in ['atheos']:
-+                exts.append( Extension('resource', ['resource.c']) )
-+            else:
-+                missing.append('resource')
-+
-+            # Sun yellow pages. Some systems have the functions in libc.
-+            if platform not in ['cygwin', 'atheos', 'qnx6']:
-+                if (self.compiler.find_library_file(lib_dirs, 'nsl')):
-+                    libs = ['nsl']
-+                else:
-+                    libs = []
-+                exts.append( Extension('nis', ['nismodule.c'],
-+                                       libraries = libs) )
-+            else:
-+                missing.append('nis')
-+        else:
-+            missing.extend(['nis', 'resource', 'termios'])
-+
-+        # Curses support, requiring the System V version of curses, often
-+        # provided by the ncurses library.
-+        curses_lib_dirs = []
-+        curses_inc_dirs = []
-+        if platform == 'sunos5':
-+            # look for ncurses in /usr/gnu on Solaris
-+            curses_inc_dirs.append('/usr/include/ncurses')
-+            curses_lib_dirs.append('/usr/gnu/lib')
-+            curses_lib_dirs.append('/usr/gnu/lib/amd64')
-+            curses_lib_dirs.append('/usr/gnu/lib/sparcv9')
-+        panel_library = 'panel'
-+        if (self.compiler.find_library_file(lib_dirs, 'ncursesw')):
-+            curses_libs = ['ncursesw']
-+            # Bug 1464056: If _curses.so links with ncursesw,
-+            # _curses_panel.so must link with panelw.
-+            panel_library = 'panelw'
-+            exts.append( Extension('_curses', ['_cursesmodule.c'],
-+                                   libraries = curses_libs) )
-+        elif (self.compiler.find_library_file(lib_dirs + curses_lib_dirs, 'ncurses')):
-+            curses_libs = ['ncurses']
-+            exts.append( Extension('_curses', ['_cursesmodule.c'],
-+                                   libraries = curses_libs,
-+                                   library_dirs = curses_lib_dirs,
-+                                   runtime_library_dirs = curses_lib_dirs,
-+                                   include_dirs = curses_inc_dirs ) )
-+        elif (self.compiler.find_library_file(lib_dirs, 'curses')
-+              and platform != 'darwin'):
-+                # OSX has an old Berkeley curses, not good enough for
-+                # the _curses module.
-+            if (self.compiler.find_library_file(lib_dirs, 'terminfo')):
-+                curses_libs = ['curses', 'terminfo']
-+            elif (self.compiler.find_library_file(lib_dirs, 'termcap')):
-+                curses_libs = ['curses', 'termcap']
-+            else:
-+                curses_libs = ['curses']
-+
-+            exts.append( Extension('_curses', ['_cursesmodule.c'],
-+                                   libraries = curses_libs) )
-+        else:
-+            missing.append('_curses')
-+
-+        # If the curses module is enabled, check for the panel module
-+        if (module_enabled(exts, '_curses') and
-+            self.compiler.find_library_file(lib_dirs + curses_lib_dirs, panel_library)):
-+            exts.append( Extension('_curses_panel', ['_curses_panel.c'],
-+                                   libraries = [panel_library] + curses_libs,
-+                                   include_dirs = curses_inc_dirs,
-+                                   library_dirs = curses_lib_dirs,
-+                                   runtime_library_dirs = curses_lib_dirs ) )
-+        else:
-+            missing.append('_curses_panel')
-+
-+        # Andrew Kuchling's zlib module.  Note that some versions of zlib
-+        # 1.1.3 have security problems.  See CERT Advisory CA-2002-07:
-+        # http://www.cert.org/advisories/CA-2002-07.html
-+        #
-+        # zlib 1.1.4 is fixed, but at least one vendor (RedHat) has decided to
-+        # patch its zlib 1.1.3 package instead of upgrading to 1.1.4.  For
-+        # now, we still accept 1.1.3, because we think it's difficult to
-+        # exploit this in Python, and we'd rather make it RedHat's problem
-+        # than our problem <wink>.
-+        #
-+        # You can upgrade zlib to version 1.1.4 yourself by going to
-+        # http://www.gzip.org/zlib/
-+        zlib_inc = find_file('zlib.h', [], inc_dirs)
-+        have_zlib = False
-+        if zlib_inc is not None:
-+            zlib_h = zlib_inc[0] + '/zlib.h'
-+            version = '"0.0.0"'
-+            version_req = '"1.1.3"'
-+            fp = open(zlib_h)
-+            while 1:
-+                line = fp.readline()
-+                if not line:
-+                    break
-+                if line.startswith('#define ZLIB_VERSION'):
-+                    version = line.split()[2]
-+                    break
-+            if version >= version_req:
-+                if (self.compiler.find_library_file(lib_dirs, 'z')):
-+                    if sys.platform == "darwin":
-+                        zlib_extra_link_args = ('-Wl,-search_paths_first',)
-+                    else:
-+                        zlib_extra_link_args = ()
-+                    exts.append( Extension('zlib', ['zlibmodule.c'],
-+                                           libraries = ['z'],
-+                                           extra_link_args = zlib_extra_link_args))
-+                    have_zlib = True
-+                else:
-+                    missing.append('zlib')
-+            else:
-+                missing.append('zlib')
-+        else:
-+            missing.append('zlib')
-+
-+        # Helper module for various ascii-encoders.  Uses zlib for an optimized
-+        # crc32 if we have it.  Otherwise binascii uses its own.
-+        if have_zlib:
-+            extra_compile_args = ['-DUSE_ZLIB_CRC32']
-+            libraries = ['z']
-+            extra_link_args = zlib_extra_link_args
-+        else:
-+            extra_compile_args = []
-+            libraries = []
-+            extra_link_args = []
-+        exts.append( Extension('binascii', ['binascii.c'],
-+                               extra_compile_args = extra_compile_args,
-+                               libraries = libraries,
-+                               extra_link_args = extra_link_args) )
-+
-+        # Gustavo Niemeyer's bz2 module.
-+        if (self.compiler.find_library_file(lib_dirs, 'bz2')):
-+            if sys.platform == "darwin":
-+                bz2_extra_link_args = ('-Wl,-search_paths_first',)
-+            else:
-+                bz2_extra_link_args = ()
-+            exts.append( Extension('bz2', ['bz2module.c'],
-+                                   libraries = ['bz2'],
-+                                   extra_link_args = bz2_extra_link_args) )
-+        else:
-+            missing.append('bz2')
-+
-+        # Interface to the Expat XML parser
-+        #
-+        # Expat was written by James Clark and is now maintained by a
-+        # group of developers on SourceForge; see www.libexpat.org for
-+        # more information.  The pyexpat module was written by Paul
-+        # Prescod after a prototype by Jack Jansen.  The Expat source
-+        # is included in Modules/expat/.  Usage of a system
-+        # shared libexpat.so/expat.dll is not advised.
-+        #
-+        # More information on Expat can be found at www.libexpat.org.
-+        #
-+        expatinc = os.path.join(os.getcwd(), srcdir, 'Modules', 'expat')
-+        define_macros = [
-+            ('HAVE_EXPAT_CONFIG_H', '1'),
-+        ]
-+
-+        exts.append(Extension('pyexpat',
-+                              define_macros = define_macros,
-+                              include_dirs = [expatinc],
-+                              sources = ['pyexpat.c',
-+                                         'expat/xmlparse.c',
-+                                         'expat/xmlrole.c',
-+                                         'expat/xmltok.c',
-+                                         ],
-+                              ))
-+
-+        # Fredrik Lundh's cElementTree module.  Note that this also
-+        # uses expat (via the CAPI hook in pyexpat).
-+
-+        if os.path.isfile(os.path.join(srcdir, 'Modules', '_elementtree.c')):
-+            define_macros.append(('USE_PYEXPAT_CAPI', None))
-+            exts.append(Extension('_elementtree',
-+                                  define_macros = define_macros,
-+                                  include_dirs = [expatinc],
-+                                  sources = ['_elementtree.c'],
-+                                  ))
-+        else:
-+            missing.append('_elementtree')
-+
-+        # Hye-Shik Chang's CJKCodecs modules.
-+        if have_unicode:
-+            exts.append(Extension('_multibytecodec',
-+                                  ['cjkcodecs/multibytecodec.c']))
-+            for loc in ('kr', 'jp', 'cn', 'tw', 'hk', 'iso2022'):
-+                exts.append(Extension('_codecs_%s' % loc,
-+                                      ['cjkcodecs/_codecs_%s.c' % loc]))
-+        else:
-+            missing.append('_multibytecodec')
-+            for loc in ('kr', 'jp', 'cn', 'tw', 'hk', 'iso2022'):
-+                missing.append('_codecs_%s' % loc)
-+
-+        # Dynamic loading module
-+        if sys.maxint == 0x7fffffff:
-+            # This requires sizeof(int) == sizeof(long) == sizeof(char*)
-+            dl_inc = find_file('dlfcn.h', [], inc_dirs)
-+            if (dl_inc is not None) and (platform not in ['atheos']):
-+                exts.append( Extension('dl', ['dlmodule.c']) )
-+            else:
-+                missing.append('dl')
-+        else:
-+            missing.append('dl')
-+
-+        # Thomas Heller's _ctypes module
-+        self.detect_ctypes(inc_dirs, lib_dirs)
-+
-+        # Richard Oudkerk's multiprocessing module
-+        if platform == 'win32':             # Windows
-+            macros = dict()
-+            libraries = ['ws2_32']
-+
-+        elif platform == 'darwin':          # Mac OSX
-+            macros = dict(
-+                HAVE_SEM_OPEN=1,
-+                HAVE_SEM_TIMEDWAIT=0,
-+                HAVE_FD_TRANSFER=1,
-+                HAVE_BROKEN_SEM_GETVALUE=1
-+                )
-+            libraries = []
-+
-+        elif platform == 'cygwin':          # Cygwin
-+            macros = dict(
-+                HAVE_SEM_OPEN=1,
-+                HAVE_SEM_TIMEDWAIT=1,
-+                HAVE_FD_TRANSFER=0,
-+                HAVE_BROKEN_SEM_UNLINK=1
-+                )
-+            libraries = []
-+
-+        elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
-+            # FreeBSD's P1003.1b semaphore support is very experimental
-+            # and has many known problems. (as of June 2008)
-+            macros = dict(                  # FreeBSD
-+                HAVE_SEM_OPEN=0,
-+                HAVE_SEM_TIMEDWAIT=0,
-+                HAVE_FD_TRANSFER=1,
-+                )
-+            libraries = []
-+
-+        elif platform.startswith('openbsd'):
-+            macros = dict(                  # OpenBSD
-+                HAVE_SEM_OPEN=0,            # Not implemented
-+                HAVE_SEM_TIMEDWAIT=0,
-+                HAVE_FD_TRANSFER=1,
-+                )
-+            libraries = []
-+
-+        elif platform.startswith('netbsd'):
-+            macros = dict(                  # at least NetBSD 5
-+                HAVE_SEM_OPEN=1,
-+                HAVE_SEM_TIMEDWAIT=0,
-+                HAVE_FD_TRANSFER=1,
-+                HAVE_BROKEN_SEM_GETVALUE=1
-+                )
-+            libraries = []
-+
-+        else:                                   # Linux and other unices
-+            macros = dict(
-+                HAVE_SEM_OPEN=1,
-+                HAVE_SEM_TIMEDWAIT=1,
-+                HAVE_FD_TRANSFER=1
-+                )
-+            libraries = ['rt']
-+
-+        if platform == 'win32':
-+            multiprocessing_srcs = [ '_multiprocessing/multiprocessing.c',
-+                                     '_multiprocessing/semaphore.c',
-+                                     '_multiprocessing/pipe_connection.c',
-+                                     '_multiprocessing/socket_connection.c',
-+                                     '_multiprocessing/win32_functions.c'
-+                                   ]
-+
-+        else:
-+            multiprocessing_srcs = [ '_multiprocessing/multiprocessing.c',
-+                                     '_multiprocessing/socket_connection.c'
-+                                   ]
-+
-+            if macros.get('HAVE_SEM_OPEN', False):
-+                multiprocessing_srcs.append('_multiprocessing/semaphore.c')
-+
-+        multiproc_libs = []
-+        if platform == 'sunos5':
-+            multiproc_libs = [ "xnet" ]
-+
-+        exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
-+                                 define_macros=macros.items(),
-+                                 libraries=multiproc_libs,
-+                                 include_dirs=["Modules/_multiprocessing"]))
-+        # End multiprocessing
-+
-+
-+        # Platform-specific libraries
-+        if platform == 'linux2':
-+            # Linux-specific modules
-+            exts.append( Extension('linuxaudiodev', ['linuxaudiodev.c']) )
-+        else:
-+            missing.append('linuxaudiodev')
-+
-+        if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
-+                        'freebsd7', 'freebsd8'):
-+            exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
-+        else:
-+            missing.append('ossaudiodev')
-+
-+        if platform == 'sunos5':
-+            # SunOS specific modules
-+            exts.append( Extension('sunaudiodev', ['sunaudiodev.c']) )
-+        else:
-+            missing.append('sunaudiodev')
-+
-+        if platform == 'darwin':
-+            # _scproxy
-+            exts.append(Extension("_scproxy", [os.path.join(srcdir, "Mac/Modules/_scproxy.c")],
-+                extra_link_args= [
-+                    '-framework', 'SystemConfiguration',
-+                    '-framework', 'CoreFoundation'
-+                ]))
-+
-+
-+        if platform == 'darwin' and ("--disable-toolbox-glue" not in
-+                sysconfig.get_config_var("CONFIG_ARGS")):
-+
-+            if os.uname()[2] > '8.':
-+                # We're on Mac OS X 10.4 or later, the compiler should
-+                # support '-Wno-deprecated-declarations'. This will
-+                # surpress deprecation warnings for the Carbon extensions,
-+                # these extensions wrap the Carbon APIs and even those
-+                # parts that are deprecated.
-+                carbon_extra_compile_args = ['-Wno-deprecated-declarations']
-+            else:
-+                carbon_extra_compile_args = []
-+
-+            # Mac OS X specific modules.
-+            def macSrcExists(name1, name2=''):
-+                if not name1:
-+                    return None
-+                names = (name1,)
-+                if name2:
-+                    names = (name1, name2)
-+                path = os.path.join(srcdir, 'Mac', 'Modules', *names)
-+                return os.path.exists(path)
-+
-+            def addMacExtension(name, kwds, extra_srcs=[]):
-+                dirname = ''
-+                if name[0] == '_':
-+                    dirname = name[1:].lower()
-+                cname = name + '.c'
-+                cmodulename = name + 'module.c'
-+                # Check for NNN.c, NNNmodule.c, _nnn/NNN.c, _nnn/NNNmodule.c
-+                if macSrcExists(cname):
-+                    srcs = [cname]
-+                elif macSrcExists(cmodulename):
-+                    srcs = [cmodulename]
-+                elif macSrcExists(dirname, cname):
-+                    # XXX(nnorwitz): If all the names ended with module, we
-+                    # wouldn't need this condition.  ibcarbon is the only one.
-+                    srcs = [os.path.join(dirname, cname)]
-+                elif macSrcExists(dirname, cmodulename):
-+                    srcs = [os.path.join(dirname, cmodulename)]
-+                else:
-+                    raise RuntimeError("%s not found" % name)
-+
-+                # Here's the whole point:  add the extension with sources
-+                exts.append(Extension(name, srcs + extra_srcs, **kwds))
-+
-+            # Core Foundation
-+            core_kwds = {'extra_compile_args': carbon_extra_compile_args,
-+                         'extra_link_args': ['-framework', 'CoreFoundation'],
-+                        }
-+            addMacExtension('_CF', core_kwds, ['cf/pycfbridge.c'])
-+            addMacExtension('autoGIL', core_kwds)
-+
-+
-+
-+            # Carbon
-+            carbon_kwds = {'extra_compile_args': carbon_extra_compile_args,
-+                           'extra_link_args': ['-framework', 'Carbon'],
-+                          }
-+            CARBON_EXTS = ['ColorPicker', 'gestalt', 'MacOS', 'Nav',
-+                           'OSATerminology', 'icglue',
-+                           # All these are in subdirs
-+                           '_AE', '_AH', '_App', '_CarbonEvt', '_Cm', '_Ctl',
-+                           '_Dlg', '_Drag', '_Evt', '_File', '_Folder', '_Fm',
-+                           '_Help', '_Icn', '_IBCarbon', '_List',
-+                           '_Menu', '_Mlte', '_OSA', '_Res', '_Qd', '_Qdoffs',
-+                           '_Scrap', '_Snd', '_TE',
-+                          ]
-+            for name in CARBON_EXTS:
-+                addMacExtension(name, carbon_kwds)
-+
-+            # Workaround for a bug in the version of gcc shipped with Xcode 3.
-+            # The _Win extension should build just like the other Carbon extensions, but
-+            # this actually results in a hard crash of the linker.
-+            #
-+            if '-arch ppc64' in cflags and '-arch ppc' in cflags:
-+                win_kwds = {'extra_compile_args': carbon_extra_compile_args + ['-arch', 'i386', '-arch', 'ppc'],
-+                               'extra_link_args': ['-framework', 'Carbon', '-arch', 'i386', '-arch', 'ppc'],
-+                           }
-+                addMacExtension('_Win', win_kwds)
-+            else:
-+                addMacExtension('_Win', carbon_kwds)
-+
-+
-+            # Application Services & QuickTime
-+            app_kwds = {'extra_compile_args': carbon_extra_compile_args,
-+                        'extra_link_args': ['-framework','ApplicationServices'],
-+                       }
-+            addMacExtension('_Launch', app_kwds)
-+            addMacExtension('_CG', app_kwds)
-+
-+            exts.append( Extension('_Qt', ['qt/_Qtmodule.c'],
-+                        extra_compile_args=carbon_extra_compile_args,
-+                        extra_link_args=['-framework', 'QuickTime',
-+                                     '-framework', 'Carbon']) )
-+
-+
-+        self.extensions.extend(exts)
-+
-+        # Call the method for detecting whether _tkinter can be compiled
-+        self.detect_tkinter(inc_dirs, lib_dirs)
-+
-+        if '_tkinter' not in [e.name for e in self.extensions]:
-+            missing.append('_tkinter')
-+
-+        return missing
-+
-+    def detect_tkinter_darwin(self, inc_dirs, lib_dirs):
-+        # The _tkinter module, using frameworks. Since frameworks are quite
-+        # different the UNIX search logic is not sharable.
-+        from os.path import join, exists
-+        framework_dirs = [
-+            '/Library/Frameworks',
-+            '/System/Library/Frameworks/',
-+            join(os.getenv('HOME'), '/Library/Frameworks')
-+        ]
-+
-+        # Find the directory that contains the Tcl.framework and Tk.framework
-+        # bundles.
-+        # XXX distutils should support -F!
-+        for F in framework_dirs:
-+            # both Tcl.framework and Tk.framework should be present
-+            for fw in 'Tcl', 'Tk':
-+                if not exists(join(F, fw + '.framework')):
-+                    break
-+            else:
-+                # ok, F is now directory with both frameworks. Continure
-+                # building
-+                break
-+        else:
-+            # Tk and Tcl frameworks not found. Normal "unix" tkinter search
-+            # will now resume.
-+            return 0
-+
-+        # For 8.4a2, we must add -I options that point inside the Tcl and Tk
-+        # frameworks. In later release we should hopefully be able to pass
-+        # the -F option to gcc, which specifies a framework lookup path.
-+        #
-+        include_dirs = [
-+            join(F, fw + '.framework', H)
-+            for fw in 'Tcl', 'Tk'
-+            for H in 'Headers', 'Versions/Current/PrivateHeaders'
-+        ]
-+
-+        # For 8.4a2, the X11 headers are not included. Rather than include a
-+        # complicated search, this is a hard-coded path. It could bail out
-+        # if X11 libs are not found...
-+        include_dirs.append('/usr/X11R6/include')
-+        frameworks = ['-framework', 'Tcl', '-framework', 'Tk']
-+
-+        # All existing framework builds of Tcl/Tk don't support 64-bit
-+        # architectures.
-+        cflags = sysconfig.get_config_vars('CFLAGS')[0]
-+        archs = re.findall('-arch\s+(\w+)', cflags)
-+        fp = os.popen("file %s/Tk.framework/Tk | grep 'for architecture'"%(F,))
-+        detected_archs = []
-+        for ln in fp:
-+            a = ln.split()[-1]
-+            if a in archs:
-+                detected_archs.append(ln.split()[-1])
-+        fp.close()
-+
-+        for a in detected_archs:
-+            frameworks.append('-arch')
-+            frameworks.append(a)
-+
-+        ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
-+                        define_macros=[('WITH_APPINIT', 1)],
-+                        include_dirs = include_dirs,
-+                        libraries = [],
-+                        extra_compile_args = frameworks[2:],
-+                        extra_link_args = frameworks,
-+                        )
-+        self.extensions.append(ext)
-+        return 1
-+
-+
-+    def detect_tkinter(self, inc_dirs, lib_dirs):
-+        # The _tkinter module.
-+
-+        # Rather than complicate the code below, detecting and building
-+        # AquaTk is a separate method. Only one Tkinter will be built on
-+        # Darwin - either AquaTk, if it is found, or X11 based Tk.
-+        platform = self.get_platform()
-+        if (platform == 'darwin' and
-+            self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
-+            return
-+
-+        # Assume we haven't found any of the libraries or include files
-+        # The versions with dots are used on Unix, and the versions without
-+        # dots on Windows, for detection by cygwin.
-+        added_lib_dirs = []
-+        tcl_tk_lib_dirs = ['/usr/sfw/lib']
-+        tcl_tk_inc_dirs = ['/usr/sfw/include']
-+        tcllib = tklib = tcl_includes = tk_includes = None
-+        for version in ['8.5', '85', '8.4', '84', '8.3', '83', '8.2',
-+                        '82', '8.1', '81', '8.0', '80']:
-+            tklib = self.compiler.find_library_file(lib_dirs, 'tk' + version, tcl_tk_lib_dirs)
-+            tcllib = self.compiler.find_library_file(lib_dirs, 'tcl' + version, tcl_tk_lib_dirs)
-+            if tklib and tcllib:
-+                # Exit the loop when we've found the Tcl/Tk libraries
-+                break
-+
-+            tklib = self.compiler.find_library_file(tcl_tk_lib_dirs, 'tk' + version)
-+            tcllib = self.compiler.find_library_file(tcl_tk_lib_dirs, 'tcl' + version)
-+            if tklib and tcllib:
-+                # found the libs in a non-standard dir
-+                added_lib_dirs.append(os.path.dirname(tcllib))
-+                # Exit the loop when we've found the Tcl/Tk libraries
-+                break
-+
-+        # Now check for the header files
-+        if tklib and tcllib:
-+            # Check for the include files on Debian and {Free,Open}BSD, where
-+            # they're put in /usr/include/{tcl,tk}X.Y
-+            dotversion = version
-+            if '.' not in dotversion and "bsd" in sys.platform.lower():
-+                # OpenBSD and FreeBSD use Tcl/Tk library names like libtcl83.a,
-+                # but the include subdirs are named like .../include/tcl8.3.
-+                dotversion = dotversion[:-1] + '.' + dotversion[-1]
-+            tcl_include_sub = []
-+            tk_include_sub = []
-+            for dir in inc_dirs:
-+                tcl_include_sub += [dir + os.sep + "tcl" + dotversion]
-+                tk_include_sub += [dir + os.sep + "tk" + dotversion]
-+            tcl_include_sub += tcl_tk_inc_dirs
-+            tk_include_sub += tcl_include_sub
-+            tcl_includes = find_file('tcl.h', inc_dirs, tcl_include_sub)
-+            tk_includes = find_file('tk.h', inc_dirs, tk_include_sub)
-+
-+        if (tcllib is None or tklib is None or
-+            tcl_includes is None or tk_includes is None):
-+            self.announce("INFO: Can't locate Tcl/Tk libs and/or headers", 2)
-+            return
-+
-+        # OK... everything seems to be present for Tcl/Tk.
-+
-+        include_dirs = [] ; libs = [] ; defs = [] ; added_lib_dirs = []
-+        for dir in tcl_includes + tk_includes:
-+            if dir not in include_dirs:
-+                include_dirs.append(dir)
-+
-+        # Check for various platform-specific directories
-+        if platform == 'sunos5':
-+            include_dirs.append('/usr/openwin/include')
-+            added_lib_dirs.append('/usr/openwin/lib')
-+        elif os.path.exists('/usr/X11R6/include'):
-+            include_dirs.append('/usr/X11R6/include')
-+            added_lib_dirs.append('/usr/X11R6/lib64')
-+            added_lib_dirs.append('/usr/X11R6/lib')
-+        elif os.path.exists('/usr/X11R5/include'):
-+            include_dirs.append('/usr/X11R5/include')
-+            added_lib_dirs.append('/usr/X11R5/lib')
-+        else:
-+            # Assume default location for X11
-+            include_dirs.append('/usr/X11/include')
-+            added_lib_dirs.append('/usr/X11/lib')
-+
-+        # If Cygwin, then verify that X is installed before proceeding
-+        if platform == 'cygwin':
-+            x11_inc = find_file('X11/Xlib.h', [], include_dirs)
-+            if x11_inc is None:
-+                return
-+
-+        # Check for BLT extension
-+        if self.compiler.find_library_file(lib_dirs + added_lib_dirs,
-+                                           'BLT8.0'):
-+            defs.append( ('WITH_BLT', 1) )
-+            libs.append('BLT8.0')
-+        elif self.compiler.find_library_file(lib_dirs + added_lib_dirs,
-+                                           'BLT'):
-+            defs.append( ('WITH_BLT', 1) )
-+            libs.append('BLT')
-+
-+        # Add the Tcl/Tk libraries
-+        libs.append('tk'+ version)
-+        libs.append('tcl'+ version)
-+
-+        if platform in ['aix3', 'aix4']:
-+            libs.append('ld')
-+
-+        # Finally, link with the X11 libraries (not appropriate on cygwin)
-+        if platform != "cygwin":
-+            libs.append('X11')
-+
-+        ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
-+                        define_macros=[('WITH_APPINIT', 1)] + defs,
-+                        include_dirs = include_dirs,
-+                        libraries = libs,
-+                        library_dirs = added_lib_dirs,
-+                        runtime_library_dirs = added_lib_dirs
-+                        )
-+        self.extensions.append(ext)
-+
-+##         # Uncomment these lines if you want to play with xxmodule.c
-+##         ext = Extension('xx', ['xxmodule.c'])
-+##         self.extensions.append(ext)
-+
-+        # XXX handle these, but how to detect?
-+        # *** Uncomment and edit for PIL (TkImaging) extension only:
-+        #       -DWITH_PIL -I../Extensions/Imaging/libImaging  tkImaging.c \
-+        # *** Uncomment and edit for TOGL extension only:
-+        #       -DWITH_TOGL togl.c \
-+        # *** Uncomment these for TOGL extension only:
-+        #       -lGL -lGLU -lXext -lXmu \
-+
-+    def configure_ctypes_darwin(self, ext):
-+        # Darwin (OS X) uses preconfigured files, in
-+        # the Modules/_ctypes/libffi_osx directory.
-+        (srcdir,) = sysconfig.get_config_vars('srcdir')
-+        ffi_srcdir = os.path.abspath(os.path.join(srcdir, 'Modules',
-+                                                  '_ctypes', 'libffi_osx'))
-+        sources = [os.path.join(ffi_srcdir, p)
-+                   for p in ['ffi.c',
-+                             'x86/darwin64.S',
-+                             'x86/x86-darwin.S',
-+                             'x86/x86-ffi_darwin.c',
-+                             'x86/x86-ffi64.c',
-+                             'powerpc/ppc-darwin.S',
-+                             'powerpc/ppc-darwin_closure.S',
-+                             'powerpc/ppc-ffi_darwin.c',
-+                             'powerpc/ppc64-darwin_closure.S',
-+                             ]]
-+
-+        # Add .S (preprocessed assembly) to C compiler source extensions.
-+        self.compiler.src_extensions.append('.S')
-+
-+        include_dirs = [os.path.join(ffi_srcdir, 'include'),
-+                        os.path.join(ffi_srcdir, 'powerpc')]
-+        ext.include_dirs.extend(include_dirs)
-+        ext.sources.extend(sources)
-+        return True
-+
-+    def configure_ctypes(self, ext):
-+        if not self.use_system_libffi:
-+            if sys.platform == 'darwin':
-+                return self.configure_ctypes_darwin(ext)
-+
-+            (srcdir,) = sysconfig.get_config_vars('srcdir')
-+            ffi_builddir = os.path.join(self.build_temp, 'libffi')
-+            ffi_srcdir = os.path.abspath(os.path.join(srcdir, 'Modules',
-+                                         '_ctypes', 'libffi'))
-+            ffi_configfile = os.path.join(ffi_builddir, 'fficonfig.py')
-+
-+            from distutils.dep_util import newer_group
-+
-+            config_sources = [os.path.join(ffi_srcdir, fname)
-+                              for fname in os.listdir(ffi_srcdir)
-+                              if os.path.isfile(os.path.join(ffi_srcdir, fname))]
-+            if self.force or newer_group(config_sources,
-+                                         ffi_configfile):
-+                from distutils.dir_util import mkpath
-+                mkpath(ffi_builddir)
-+                config_args = []
-+
-+                # Pass empty CFLAGS because we'll just append the resulting
-+                # CFLAGS to Python's; -g or -O2 is to be avoided.
-+                cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
-+                      % (ffi_builddir, ffi_srcdir, " ".join(config_args))
-+
-+                res = os.system(cmd)
-+                if res or not os.path.exists(ffi_configfile):
-+                    print "Failed to configure _ctypes module"
-+                    return False
-+
-+            fficonfig = {}
-+            execfile(ffi_configfile, globals(), fficonfig)
-+            ffi_srcdir = os.path.join(fficonfig['ffi_srcdir'], 'src')
-+
-+            # Add .S (preprocessed assembly) to C compiler source extensions.
-+            self.compiler.src_extensions.append('.S')
-+
-+            include_dirs = [os.path.join(ffi_builddir, 'include'),
-+                            ffi_builddir, ffi_srcdir]
-+            extra_compile_args = fficonfig['ffi_cflags'].split()
-+
-+            ext.sources.extend(fficonfig['ffi_sources'])
-+            ext.include_dirs.extend(include_dirs)
-+            ext.extra_compile_args.extend(extra_compile_args)
-+        return True
-+
-+    def detect_ctypes(self, inc_dirs, lib_dirs):
-+        self.use_system_libffi = False
-+        include_dirs = []
-+        extra_compile_args = []
-+        extra_link_args = []
-+        sources = ['_ctypes/_ctypes.c',
-+                   '_ctypes/callbacks.c',
-+                   '_ctypes/callproc.c',
-+                   '_ctypes/stgdict.c',
-+                   '_ctypes/cfield.c',
-+                   '_ctypes/malloc_closure.c']
-+        depends = ['_ctypes/ctypes.h']
-+
-+        if sys.platform == 'darwin':
-+            sources.append('_ctypes/darwin/dlfcn_simple.c')
-+            extra_compile_args.append('-DMACOSX')
-+            include_dirs.append('_ctypes/darwin')
-+# XXX Is this still needed?
-+##            extra_link_args.extend(['-read_only_relocs', 'warning'])
-+
-+        elif sys.platform == 'sunos5':
-+            # XXX This shouldn't be necessary; it appears that some
-+            # of the assembler code is non-PIC (i.e. it has relocations
-+            # when it shouldn't. The proper fix would be to rewrite
-+            # the assembler code to be PIC.
-+            # This only works with GCC; the Sun compiler likely refuses
-+            # 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.
-+            extra_link_args.append('-mimpure-text')
-+
-+        elif sys.platform.startswith('hp-ux'):
-+            extra_link_args.append('-fPIC')
-+
-+        ext = Extension('_ctypes',
-+                        include_dirs=include_dirs,
-+                        extra_compile_args=extra_compile_args,
-+                        extra_link_args=extra_link_args,
-+                        libraries=[],
-+                        sources=sources,
-+                        depends=depends)
-+        ext_test = Extension('_ctypes_test',
-+                             sources=['_ctypes/_ctypes_test.c'])
-+        self.extensions.extend([ext, ext_test])
-+
-+        if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"):
-+            return
-+
-+        if sys.platform == 'darwin':
-+            # OS X 10.5 comes with libffi.dylib; the include files are
-+            # in /usr/include/ffi
-+            inc_dirs.append('/usr/include/ffi')
-+
-+        ffi_inc = find_file('ffi.h', [], inc_dirs)
-+        if ffi_inc is not None:
-+            ffi_h = ffi_inc[0] + '/ffi.h'
-+            fp = open(ffi_h)
-+            while 1:
-+                line = fp.readline()
-+                if not line:
-+                    ffi_inc = None
-+                    break
-+                if line.startswith('#define LIBFFI_H'):
-+                    break
-+        ffi_lib = None
-+        if ffi_inc is not None:
-+            for lib_name in ('ffi_convenience', 'ffi_pic', 'ffi'):
-+                if (self.compiler.find_library_file(lib_dirs, lib_name)):
-+                    ffi_lib = lib_name
-+                    break
-+
-+        if ffi_inc and ffi_lib:
-+            ext.include_dirs.extend(ffi_inc)
-+            ext.libraries.append(ffi_lib)
-+            self.use_system_libffi = True
-+
-+
-+class PyBuildInstall(install):
-+    # Suppress the warning about installation into the lib_dynload
-+    # directory, which is not in sys.path when running Python during
-+    # installation:
-+    def initialize_options (self):
-+        install.initialize_options(self)
-+        self.warn_dir=0
-+
-+class PyBuildInstallLib(install_lib):
-+    # Do exactly what install_lib does but make sure correct access modes get
-+    # set on installed directories and files. All installed files with get
-+    # mode 644 unless they are a shared library in which case they will get
-+    # mode 755. All installed directories will get mode 755.
-+
-+    so_ext = sysconfig.get_config_var("SO")
-+
-+    def install(self):
-+        outfiles = install_lib.install(self)
-+        self.set_file_modes(outfiles, 0644, 0755)
-+        self.set_dir_modes(self.install_dir, 0755)
-+        return outfiles
-+
-+    def set_file_modes(self, files, defaultMode, sharedLibMode):
-+        if not self.is_chmod_supported(): return
-+        if not files: return
-+
-+        for filename in files:
-+            if os.path.islink(filename): continue
-+            mode = defaultMode
-+            if filename.endswith(self.so_ext): mode = sharedLibMode
-+            log.info("changing mode of %s to %o", filename, mode)
-+            if not self.dry_run: os.chmod(filename, mode)
-+
-+    def set_dir_modes(self, dirname, mode):
-+        if not self.is_chmod_supported(): return
-+        os.path.walk(dirname, self.set_dir_modes_visitor, mode)
-+
-+    def set_dir_modes_visitor(self, mode, dirname, names):
-+        if os.path.islink(dirname): return
-+        log.info("changing mode of %s to %o", dirname, mode)
-+        if not self.dry_run: os.chmod(dirname, mode)
-+
-+    def is_chmod_supported(self):
-+        return hasattr(os, 'chmod')
-+
-+SUMMARY = """
-+Python is an interpreted, interactive, object-oriented programming
-+language. It is often compared to Tcl, Perl, Scheme or Java.
-+
-+Python combines remarkable power with very clear syntax. It has
-+modules, classes, exceptions, very high level dynamic data types, and
-+dynamic typing. There are interfaces to many system calls and
-+libraries, as well as to various windowing systems (X11, Motif, Tk,
-+Mac, MFC). New built-in modules are easily written in C or C++. Python
-+is also usable as an extension language for applications that need a
-+programmable interface.
-+
-+The Python implementation is portable: it runs on many brands of UNIX,
-+on Windows, DOS, OS/2, Mac, Amiga... If your favorite system isn't
-+listed here, it may still be supported, if there's a C compiler for
-+it. Ask around on comp.lang.python -- or just try compiling Python
-+yourself.
-+"""
-+
-+CLASSIFIERS = """
-+Development Status :: 6 - Mature
-+License :: OSI Approved :: Python Software Foundation License
-+Natural Language :: English
-+Programming Language :: C
-+Programming Language :: Python
-+Topic :: Software Development
-+"""
-+
-+def main():
-+    # turn off warnings when deprecated modules are imported
-+    import warnings
-+    warnings.filterwarnings("ignore",category=DeprecationWarning)
-+    setup(# PyPI Metadata (PEP 301)
-+          name = "Python",
-+          version = sys.version.split()[0],
-+          url = "http://www.python.org/%s" % sys.version[:3],
-+          maintainer = "Guido van Rossum and the Python community",
-+          maintainer_email = "[email protected]",
-+          description = "A high-level object-oriented programming language",
-+          long_description = SUMMARY.strip(),
-+          license = "PSF license",
-+          classifiers = filter(None, CLASSIFIERS.split("\n")),
-+          platforms = ["Many"],
-+
-+          # Build info
-+          cmdclass = {'build_ext':PyBuildExt, 'install':PyBuildInstall,
-+                      'install_lib':PyBuildInstallLib},
-+          # The struct module is defined here, because build_ext won't be
-+          # called unless there's at least one extension module defined.
-+          ext_modules=[Extension('_struct', ['_struct.c'])],
-+
-+          # Scripts to install
-+          scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
-+                     'Tools/scripts/2to3',
-+                     'Lib/smtpd.py']
-+        )
-+
-+# --install-platlib
-+if __name__ == '__main__':
-+    main()
-
-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 @@
-+#!/usr/bin/python2.6
-+
-+import ucred
-+import os
-+
-+uc = ucred.get(os.getpid())
-+
-+print "pid = %d" % uc.getpid()
-+print "euid = %d" % uc.geteuid()
-+print "ruid = %d" % uc.getruid()
-+print "suid = %d" % uc.getsuid()
-+print "egid = %d" % uc.getegid()
-+print "rgid = %d" % uc.getrgid()
-+print "sgid = %d" % uc.getsgid()
-+print "zoneid = %d" % uc.getzoneid()
-+print "projid = %d" % uc.getprojid()
-+print "groups = %s" % uc.getgroups()
-+print "label = %s" % uc.getlabel()
-+
-+print "getpflags(0x1) = %d" % uc.getpflags(0x1)
-+print "getpflags(0x2) = %d" % uc.getpflags(0x2)
-+print "has_priv(Effective, proc_fork) = %d" % uc.has_priv("Effective", "proc_fork")
-+print "has_priv(Permitted, proc_fork) = %d" % uc.has_priv("Permitted", "proc_fork")
-+print "has_priv(Inheritable, proc_fork) = %d" % uc.has_priv("Inheritable", "proc_fork")
-+print "has_priv(Limit, file_setid) = %d" % uc.has_priv("Limit", "file_setid")
-+print "has_priv(Effective, file_setid) = %d" % uc.has_priv("Effective", "file_setid")
-+try:
-+    uc.has_priv("Effective", "proc_bork")
-+except OSError, e:
-+    print e
-+try:
-+    uc.has_priv("Defective", "proc_fork")
-+except OSError, e:
-+    print e
-+try:
-+    uc.has_priv("Defective", "proc_bork")
-+except OSError, e:
-+    print e
-+
-+del uc
-+uc = ucred.ucred()
-+try:
-+    uc.getpid()
-+except OSError, e:
-+    print e
--- a/components/python/python26/patches/Python26-10-gethostname.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-diff --git Python-2.6.4/Include/pyport.h Python-2.6.4/Include/pyport.h
---- Python-2.6.4/Include/pyport.h
-+++ Python-2.6.4/Include/pyport.h
-@@ -449,11 +449,6 @@
- in platform-specific #ifdefs.
- **************************************************************************/
- 
--#ifdef SOLARIS
--/* Unchecked */
--extern int gethostname(char *, int);
--#endif
--
- #ifdef __BEOS__
- /* Unchecked */
- /* It's in the libs, but not the headers... - [cjh] */
--- a/components/python/python26/patches/Python26-11-dlpi.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1328 +0,0 @@
-diff --git Python-2.6.4/Modules/dlpimodule.c Python-2.6.4/Modules/dlpimodule.c
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Modules/dlpimodule.c
-@@ -0,0 +1,1206 @@
-+/*
-+ * Permission is hereby granted, free of charge, to any person obtaining a copy
-+ * of this software and associated documentation files (the "Software"), to
-+ * deal in the Software without restriction, including without limitation the
-+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-+ * sell copies of the Software, and to permit persons to whom the Software is
-+ * furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *
-+ * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+#include <Python.h>
-+#include <stdio.h>
-+#include <libdlpi.h>
-+
-+typedef struct {
-+	PyObject_HEAD
-+	dlpi_handle_t dlpihdl;
-+} pylink_t;
-+
-+typedef struct {
-+	PyObject *pyfunc;
-+	PyObject *pyarg;
-+} callback_data_t;
-+
-+/*
-+ * dlpi_err: the only exception raised for libdlpi related error.
-+ * The accompanying value is:
-+ * (dlpi_error_number, string), when it's a dlpi specific error,
-+ * or, (DL_SYSERR, errno, string), when it's coming from a system call.
-+ */
-+static PyObject *dlpi_err;
-+
-+static void
-+dlpi_raise_exception(int err)
-+{
-+	PyObject *e = NULL;
-+
-+	if (err == DL_SYSERR) {
-+		e = Py_BuildValue("(iis)", DL_SYSERR, errno, strerror(errno));
-+	} else {
-+		e = Py_BuildValue("(is)", err, dlpi_strerror(err));
-+	}
-+	if (e != NULL) {
-+		PyErr_SetObject(dlpi_err, e);
-+		Py_DECREF(e);
-+	}
-+}
-+
-+PyDoc_STRVAR(link_doc,
-+    "link(linkname[, flags]) -> link object\n"
-+    "\n"
-+    "Open linkname with specified flags.\n"
-+    "Three flags are supported: PASSIVE, RAW, NATIVE.\n"
-+    "And these flags can be bitwise-OR'ed together(default flag is 0).\n"
-+    "You need sys_net_rawaccess privilege to open a link.\n"
-+    "See dlpi_open(3DLPI).\n"
-+);
-+static int
-+link_init(PyObject *self, PyObject *args, PyObject *kwds)
-+{
-+	uint_t flags = 0;
-+	dlpi_handle_t dh;
-+	char *linkname;
-+	int rval;
-+	static char *keywords[] = {"linkname", "flags", NULL};
-+	pylink_t *link = (pylink_t *)self;
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|I", keywords,
-+	    &linkname, &flags))
-+		return (-1);
-+
-+	if ((rval = dlpi_open(linkname, &dh, flags)) != DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (-1);
-+	}
-+
-+	link->dlpihdl = dh;
-+
-+	return (0);
-+}
-+
-+static void
-+link_dealloc(pylink_t *link)
-+{
-+	if (link->dlpihdl != NULL)
-+		dlpi_close(link->dlpihdl);
-+	link->ob_type->tp_free((PyObject *)link);
-+}
-+
-+PyDoc_STRVAR(bind_doc,
-+    "bind(sap) -> unsigned int\n"
-+    "\n"
-+    "Attempts to bind the link to specified SAP, or ANY_SAP.\n"
-+    "Returns the SAP that the function actually bound to, which\n"
-+    "could be different from the SAP requested.\n"
-+    "See dlpi_bind(3DLPI).\n"
-+);
-+static PyObject *
-+link_bind(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	uint_t sap = 0, boundsap = 0;
-+	static char *keywords[] = {"sap", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "I", keywords, &sap))
-+		return (NULL);
-+
-+	if ((rval = dlpi_bind(link->dlpihdl, sap, &boundsap)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("I", boundsap));
-+}
-+
-+PyDoc_STRVAR(unbind_doc,
-+    "unbind() -> None\n"
-+    "\n"
-+    "Attempts to unbind the link from previously bound sap.\n"
-+    "See dlpi_unbind(3DLPI).\n"
-+);
-+static PyObject *
-+link_unbind(pylink_t *link)
-+{
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_unbind(link->dlpihdl)) != DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+PyDoc_STRVAR(send_doc,
-+    "send(destaddr, message[, sap, minpri, maxpri]) -> None\n"
-+    "\n"
-+    "Attempts to send message over this link to sap on destaddr.\n"
-+    "If SAP is not specified, the bound SAP is used\n"
-+    "You can also specify priority range (minpri, maxpri).\n"
-+    "See dlpi_send(3DLPI).\n"
-+);
-+static PyObject *
-+link_send(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	char *daddr = NULL, *msgbuf = NULL;
-+	size_t daddrlen = 0, msglen = 0;
-+	t_scalar_t minpri = DL_QOS_DONT_CARE, maxpri = DL_QOS_DONT_CARE;
-+	uint_t sap = DLPI_ANY_SAP;
-+	dlpi_sendinfo_t ds, *dsp = NULL;
-+	static char *keywords[] =
-+	    {"destaddr", "message", "sap", "minpri", "maxpri", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "s#s#|Iii", keywords,
-+	    &daddr, &daddrlen, &msgbuf, &msglen, &sap, &minpri, &maxpri))
-+		return (NULL);
-+
-+	if ((sap != DLPI_ANY_SAP) || (minpri != DL_QOS_DONT_CARE) ||
-+	    (maxpri != DL_QOS_DONT_CARE)) {
-+		ds.dsi_sap = sap;
-+		ds.dsi_prio.dl_min = minpri;
-+		ds.dsi_prio.dl_max = maxpri;
-+		dsp = &ds;
-+	}
-+
-+	if ((rval = dlpi_send(link->dlpihdl, daddr, daddrlen,
-+	    msgbuf, msglen, dsp)) != DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+PyDoc_STRVAR(recv_doc,
-+    "recv(msglen[, timeout]) -> (string, string), or (None, None)\n"
-+    "\n"
-+    "Attempts to receive message over this link.\n"
-+    "You need to specify the message length for the received message.\n"
-+    "And you can specify timeout value in milliseconds.\n"
-+    "The default timeout value is -1 (wait forever).\n"
-+    "Returns (source address, message data), or (None, None) when error occurs.\n"
-+    "See dlpi_recv(3DLPI).\n"
-+);
-+static PyObject *
-+link_recv(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	PyObject *obj;
-+	char *saddr = NULL, *msgbuf = NULL;
-+	size_t saddrlen = 0, msglen = 0, *saddrlenp = NULL, *msglenp = NULL;
-+	int msec = -1; /* block until receive data */
-+	static char *keywords[] = {"msglen", "timeout", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "k|i",
-+	    keywords, &msglen, &msec))
-+		return (NULL);
-+
-+	if (msglen > 0) {
-+		msgbuf = malloc(msglen);
-+		if (msgbuf == NULL) {
-+			dlpi_raise_exception(DL_SYSERR);
-+			return (NULL);
-+		}
-+		saddrlen = DLPI_PHYSADDR_MAX;
-+		saddr = malloc(saddrlen);
-+		if (saddr == NULL) {
-+			dlpi_raise_exception(DL_SYSERR);
-+			free(msgbuf);
-+			return (NULL);
-+		}
-+		msglenp = &msglen;
-+		saddrlenp = &saddrlen;
-+	}
-+
-+	if ((rval = dlpi_recv(link->dlpihdl, saddr, saddrlenp, msgbuf,
-+	    msglenp, msec, NULL)) != DLPI_SUCCESS) {
-+		if (msgbuf != NULL)
-+			free(msgbuf);
-+		if (saddr != NULL)
-+			free(saddr);
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	obj = Py_BuildValue("s#s#", saddr, saddrlen, msgbuf, msglen);
-+	if (msgbuf != NULL)
-+		free(msgbuf);
-+	if (saddr != NULL)
-+		free(saddr);
-+	return (obj);
-+}
-+
-+PyDoc_STRVAR(disabmulti_doc,
-+    "disabmulti(address) -> None\n"
-+    "\n"
-+    "Disable a specified multicast address on this link.\n"
-+    "See dlpi_disabmulti(3DLPI).\n"
-+);
-+static PyObject *
-+link_disabmulti(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	char *addr = NULL;
-+	size_t addrlen = 0;
-+	static char *keywords[] = {"address", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "s#", keywords,
-+	    &addr, &addrlen))
-+		return (NULL);
-+
-+	if ((addrlen == 0) || (addrlen > DLPI_PHYSADDR_MAX)) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_disabmulti(link->dlpihdl, addr, addrlen)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+PyDoc_STRVAR(enabmulti_doc,
-+    "enabmulti(address) -> None\n"
-+    "\n"
-+    "Enable a specified multicast address on this link.\n"
-+    "See dlpi_enabmulti(3DLPI).\n"
-+);
-+static PyObject *
-+link_enabmulti(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	char *addr = NULL;
-+	size_t addrlen = 0;
-+	static char *keywords[] = {"address", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "s#", keywords,
-+	    &addr, &addrlen))
-+		return (NULL);
-+
-+	if ((addrlen == 0) || (addrlen > DLPI_PHYSADDR_MAX)) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_enabmulti(link->dlpihdl, addr, addrlen)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+static void
-+dlpi_callback(dlpi_handle_t hdl, dlpi_notifyinfo_t *ni, void *arg)
-+{
-+	callback_data_t *cd = (callback_data_t *)arg;
-+	PyObject *arglist, *result;
-+
-+	switch (ni->dni_note) {
-+	case DL_NOTE_SPEED:
-+		arglist = Py_BuildValue("(OII)",
-+		    cd->pyarg, ni->dni_note, ni->dni_speed);
-+		break;
-+	case DL_NOTE_SDU_SIZE:
-+		arglist = Py_BuildValue("(OII)",
-+		    cd->pyarg, ni->dni_note, ni->dni_size);
-+		break;
-+	case DL_NOTE_PHYS_ADDR:
-+		arglist = Py_BuildValue("(OIs#)",
-+		    cd->pyarg, ni->dni_note, ni->dni_physaddr,
-+		    ni->dni_physaddrlen);
-+		break;
-+	default:
-+		arglist = Py_BuildValue("(OIO)", cd->pyarg, ni->dni_note,
-+		    Py_None);
-+	}
-+
-+	result = PyEval_CallObject(cd->pyfunc, arglist);
-+	Py_DECREF(arglist);
-+	if (result == NULL) {
-+		PyErr_Clear(); /* cannot raise error */
-+	}
-+	Py_DECREF(result);
-+	Py_DECREF(cd->pyfunc);
-+	Py_XDECREF(cd->pyarg);
-+	free(cd);
-+}
-+
-+PyDoc_STRVAR(enabnotify_doc,
-+    "enabnotify(events, function[, arg]) -> unsigned long\n"
-+    "\n"
-+    "Enables a notification callback for the set of specified events,\n"
-+    "which must be one or more (by a logical OR) events listed as below:\n"
-+    "NOTE_LINK_DOWN         Notify when link has gone down\n"
-+    "NOTE_LINK_UP           Notify when link has come up\n"
-+    "NOTE_PHYS_ADDR         Notify when address changes\n"
-+    "NOTE_SDU_SIZE          Notify when MTU changes\n"
-+    "NOTE_SPEED             Notify when speed changes\n"
-+    "NOTE_PROMISC_ON_PHYS   Notify when PROMISC_PHYS is set\n"
-+    "NOTE_PROMISC_OFF_PHYS  Notify when PROMISC_PHYS is cleared\n"
-+    "Returns a handle for this registration.\n"
-+    "See dlpi_enabnotify(3DLPI).\n"
-+);
-+static PyObject *
-+link_enabnotify(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	PyObject *func = NULL, *arg = NULL;
-+	callback_data_t *cd;
-+	uint_t notes = 0;
-+	static char *keywords[] = {"events", "function", "arg", NULL};
-+	dlpi_notifyid_t id;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "IO|O",
-+	    keywords, &notes, &func, &arg))
-+		return (NULL);
-+
-+	if (!PyCallable_Check(func)) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	cd = malloc(sizeof(callback_data_t));
-+	if (cd == NULL) {
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+	Py_INCREF(func);
-+	Py_XINCREF(arg);
-+	cd->pyfunc = func;
-+	cd->pyarg = arg;
-+
-+	if ((rval = dlpi_enabnotify(link->dlpihdl, notes, dlpi_callback,
-+	    cd, &id)) != DLPI_SUCCESS) {
-+		free(cd);
-+		Py_DECREF(func);
-+		Py_XDECREF(arg);
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("k", id));
-+}
-+
-+PyDoc_STRVAR(disabnotify_doc,
-+    "disabnotify(handle) -> argument object, or None\n"
-+    "\n"
-+    "Disables the notification registration associated with handle.\n"
-+    "You should get this handle by calling enabnotify().\n"
-+    "Returns the argument passed in when registering the callback, or None.\n"
-+    "See dlpi_disabnotify(3DLPI).\n"
-+);
-+static PyObject *
-+link_disabnotify(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	dlpi_notifyid_t id;
-+	callback_data_t *arg;
-+	PyObject *pyargsaved;
-+	static char *keywords[] = {"handle", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "k", keywords, &id))
-+		return (NULL);
-+
-+	if ((rval = dlpi_disabnotify(link->dlpihdl, id, (void **)&arg)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	/* clean up */
-+	pyargsaved = arg->pyarg;
-+	Py_XINCREF(pyargsaved);
-+	Py_XDECREF(arg->pyarg);
-+	Py_DECREF(arg->pyfunc);
-+	free(arg);
-+
-+	if (pyargsaved != NULL)
-+		return (pyargsaved);
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+PyDoc_STRVAR(get_sap_doc,
-+    "get_sap() -> unsigned int\n"
-+    "\n"
-+    "Returns the sap bound to this link.\n"
-+    "See dlpi_info(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_sap(pylink_t *link)
-+{
-+	dlpi_info_t info;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_info(link->dlpihdl, &info, 0)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("I", info.di_sap));
-+}
-+
-+PyDoc_STRVAR(get_fd_doc,
-+    "get_fd() -> int\n"
-+    "\n"
-+    "Returns the integer file descriptor that can be used to directly\n"
-+    "operate on the link.\n"
-+    "See dlpi_fd(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_fd(pylink_t *link)
-+{
-+	int fd;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((fd = dlpi_fd(link->dlpihdl)) == -1) {
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("i", fd));
-+}
-+
-+PyDoc_STRVAR(get_linkname_doc,
-+    "get_linkname() -> string\n"
-+    "\n"
-+    "Returns the name of the link.\n"
-+    "See dlpi_linkname(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_linkname(pylink_t *link)
-+{
-+	const char *name = NULL;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((name = dlpi_linkname(link->dlpihdl)) == NULL) {
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("s", name));
-+}
-+
-+PyDoc_STRVAR(get_bcastaddr_doc,
-+    "get_bcastaddr() -> string, or None\n"
-+    "\n"
-+    "Returns the broadcast address of the link.\n"
-+    "Returns None if the broadcast address is empty.\n"
-+    "See dlpi_info(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_bcastaddr(pylink_t *link)
-+{
-+	char *addr[DLPI_PHYSADDR_MAX];
-+	size_t addrlen = 0;
-+	dlpi_info_t info;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_info(link->dlpihdl, &info, 0)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	if (info.di_bcastaddrlen == 0) {
-+		Py_INCREF(Py_None);
-+		return (Py_None);
-+	}
-+
-+	return (Py_BuildValue("s#", info.di_bcastaddr, info.di_bcastaddrlen));
-+}
-+
-+PyDoc_STRVAR(get_physaddr_doc,
-+    "get_physaddr(addrtype) -> string, or None\n"
-+    "\n"
-+    "Addrtype can be any one of the value listed below:\n"
-+    "FACT_PHYS_ADDR    Factory physical address\n"
-+    "CURR_PHYS_ADDR    Current physical address\n"
-+    "Returns the corresponding physical address of the link.\n"
-+    "See dlpi_get_physaddr(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_physaddr(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	char *addr[DLPI_PHYSADDR_MAX];
-+	size_t addrlen = DLPI_PHYSADDR_MAX;
-+	static char *keywords[] = {"addrtype", NULL};
-+	uint_t type;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "I", keywords, &type))
-+		return (NULL);
-+
-+	if ((rval = dlpi_get_physaddr(link->dlpihdl, type, addr, &addrlen)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("s#", addr, addrlen));
-+}
-+
-+PyDoc_STRVAR(set_physaddr_doc,
-+    "set_physaddr(address) -> None\n"
-+    "\n"
-+    "Sets the physical address of the link.\n"
-+    "See dlpi_set_physaddr(3DLPI).\n"
-+);
-+static PyObject *
-+link_set_physaddr(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	char *addr = NULL;
-+	size_t addrlen = 0;
-+	static char *keywords[] = {"address", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "s#", keywords,
-+	    &addr, &addrlen))
-+		return (NULL);
-+
-+	if ((rval = dlpi_set_physaddr(link->dlpihdl, DL_CURR_PHYS_ADDR,
-+	    addr, addrlen)) != DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+PyDoc_STRVAR(promiscon_doc,
-+    "promiscon([level]) -> None\n"
-+    "\n"
-+    "Enables promiscuous mode for the link at levels:\n"
-+    "PROMISC_PHYS     Promiscuous mode at the physical level(default)\n"
-+    "PROMISC_SAP      Promiscuous mode at the SAP level\n"
-+    "PROMISC_MULTI    Promiscuous mode for all multicast addresses\n"
-+    "See dlpi_promiscon(3DLPI).\n"
-+);
-+static PyObject *
-+link_promiscon(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	uint_t level = DL_PROMISC_PHYS;
-+	static char *keywords[] = {"level", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "|I", keywords, &level))
-+		return (NULL);
-+
-+	if ((rval = dlpi_promiscon(link->dlpihdl, level)) != DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+PyDoc_STRVAR(promiscoff_doc,
-+    "promiscoff([level]) -> None\n"
-+    "\n"
-+    "Disables promiscuous mode for the link at levels:\n"
-+    "PROMISC_PHYS     Promiscuous mode at the physical level(default)\n"
-+    "PROMISC_SAP      Promiscuous mode at the SAP level\n"
-+    "PROMISC_MULTI    Promiscuous mode for all multicast addresses\n"
-+    "See dlpi_promiscoff(3DLPI).\n"
-+);
-+static PyObject *
-+link_promiscoff(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	uint_t level = DL_PROMISC_PHYS;
-+	static char *keywords[] = {"level", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "|I", keywords, &level))
-+		return (NULL);
-+
-+	if ((rval = dlpi_promiscoff(link->dlpihdl, level)) != DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+PyDoc_STRVAR(get_timeout_doc,
-+    "get_timeout() -> int\n"
-+    "\n"
-+    "Returns current time out value of the link.\n"
-+    "See dlpi_info(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_timeout(pylink_t *link)
-+{
-+	dlpi_info_t info;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_info(link->dlpihdl, &info, 0)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("i", info.di_timeout));
-+}
-+
-+PyDoc_STRVAR(get_mactype_doc,
-+    "get_mactype() -> unsigned char\n"
-+    "\n"
-+    "Returns MAC type of the link.\n"
-+    "See <sys/dlpi.h> for the list of possible MAC types.\n"
-+    "See dlpi_info(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_mactype(pylink_t *link)
-+{
-+	dlpi_info_t info;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_info(link->dlpihdl, &info, 0)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("B", info.di_mactype));
-+}
-+
-+PyDoc_STRVAR(set_timeout_doc,
-+    "set_timeout(timeout) -> None\n"
-+    "\n"
-+    "Sets time out value of the link (default value: DEF_TIMEOUT).\n"
-+    "See dlpi_set_timeout(3DLPI).\n"
-+);
-+static PyObject *
-+link_set_timeout(pylink_t *link, PyObject *args, PyObject *kwds)
-+{
-+	int timeout = DLPI_DEF_TIMEOUT;
-+	static char *keywords[] = {"timeout", NULL};
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "i", keywords, &timeout))
-+		return (NULL);
-+
-+	if ((rval = dlpi_set_timeout(link->dlpihdl, timeout)) != DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	Py_INCREF(Py_None);
-+	return (Py_None);
-+}
-+
-+PyDoc_STRVAR(get_sdu_doc,
-+    "get_sdu() -> (unsigned int, unsigned int)\n"
-+    "\n"
-+    "Returns (min sdu, max sdu).\n"
-+    "See dlpi_info(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_sdu(pylink_t *link)
-+{
-+	dlpi_info_t info;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_info(link->dlpihdl, &info, 0)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("II", info.di_min_sdu, info.di_max_sdu));
-+}
-+
-+PyDoc_STRVAR(get_state_doc,
-+    "get_state() -> unsigned int\n"
-+    "\n"
-+    "Returns current state of the link (either UNBOUND or IDLE).\n"
-+    "See dlpi_info(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_state(pylink_t *link)
-+{
-+	dlpi_info_t info;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_info(link->dlpihdl, &info, 0)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("I", info.di_state));
-+}
-+
-+PyDoc_STRVAR(get_qos_select_doc,
-+    "get_qos_select() -> (unsigned int, int, int, int)\n"
-+    "\n"
-+    "Returns (qos type, trans delay, priority, residul err).\n"
-+    "Unsupported QOS parameters are set to UNKNOWN.\n"
-+    "See dlpi_info(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_qos_select(pylink_t *link)
-+{
-+	dlpi_info_t info;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_info(link->dlpihdl, &info, 0)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("Iiiii",
-+	    info.di_qos_sel.dl_qos_type,
-+	    info.di_qos_sel.dl_trans_delay,
-+	    info.di_qos_sel.dl_priority,
-+	    info.di_qos_sel.dl_residual_error));
-+}
-+
-+PyDoc_STRVAR(get_qos_range_doc,
-+    "get_qos_range() -> \n"
-+    "	(unsigned int, (int, int), (int, int), (int, int), int)\n"
-+    "\n"
-+    "Returns (qos type, (trans delay target, trans delay accept),\n"
-+    "(min priority, max priority), (min protection, max protection),\n"
-+    "residual err).\n"
-+    "Unsupported QOS range values are set to UNKNOWN.\n"
-+    "See dlpi_info(3DLPI).\n"
-+);
-+static PyObject *
-+link_get_qos_range(pylink_t *link)
-+{
-+	dlpi_info_t info;
-+	int rval;
-+
-+	if (link->dlpihdl == NULL) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	if ((rval = dlpi_info(link->dlpihdl, &info, 0)) !=
-+	    DLPI_SUCCESS) {
-+		dlpi_raise_exception(rval);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("I(ii)(ii)(ii)i",
-+	    info.di_qos_range.dl_qos_type,
-+	    info.di_qos_range.dl_trans_delay.dl_target_value,
-+	    info.di_qos_range.dl_trans_delay.dl_accept_value,
-+	    info.di_qos_range.dl_priority.dl_min,
-+	    info.di_qos_range.dl_priority.dl_max,
-+	    info.di_qos_range.dl_protection.dl_min,
-+	    info.di_qos_range.dl_protection.dl_max,
-+	    info.di_qos_range.dl_residual_error));
-+}
-+
-+static PyMethodDef pylink_methods[] = {
-+	{"bind", (PyCFunction)link_bind, METH_VARARGS|METH_KEYWORDS, bind_doc},
-+	{"unbind", (PyCFunction)link_unbind, METH_NOARGS, unbind_doc},
-+	{"send", (PyCFunction)link_send, METH_VARARGS|METH_KEYWORDS,
-+	    send_doc},
-+	{"recv", (PyCFunction)link_recv, METH_VARARGS|METH_KEYWORDS,
-+	    recv_doc},
-+	{"disabmulti", (PyCFunction)link_disabmulti, METH_VARARGS|METH_KEYWORDS,
-+	    disabmulti_doc},
-+	{"enabmulti", (PyCFunction)link_enabmulti, METH_VARARGS|METH_KEYWORDS,
-+	    enabmulti_doc},
-+	{"enabnotify", (PyCFunction)link_enabnotify,
-+	    METH_VARARGS|METH_KEYWORDS, enabnotify_doc},
-+	{"disabnotify", (PyCFunction)link_disabnotify,
-+	    METH_VARARGS|METH_KEYWORDS, disabnotify_doc},
-+	{"get_fd", (PyCFunction)link_get_fd, METH_NOARGS, get_fd_doc},
-+	{"get_sap", (PyCFunction)link_get_sap, METH_NOARGS, get_sap_doc},
-+	{"get_mactype", (PyCFunction)link_get_mactype, METH_NOARGS,
-+	    get_mactype_doc},
-+	{"get_linkname", (PyCFunction)link_get_linkname, METH_NOARGS,
-+	    get_linkname_doc},
-+	{"get_bcastaddr", (PyCFunction)link_get_bcastaddr, METH_NOARGS,
-+	    get_bcastaddr_doc},
-+	{"get_physaddr", (PyCFunction)link_get_physaddr,
-+	    METH_VARARGS|METH_KEYWORDS, get_physaddr_doc},
-+	{"set_physaddr", (PyCFunction)link_set_physaddr,
-+	    METH_VARARGS|METH_KEYWORDS, set_physaddr_doc},
-+	{"promiscon", (PyCFunction)link_promiscon, METH_VARARGS|METH_KEYWORDS,
-+	    promiscon_doc},
-+	{"promiscoff", (PyCFunction)link_promiscoff, METH_VARARGS|METH_KEYWORDS,
-+	    promiscoff_doc},
-+	{"get_timeout", (PyCFunction)link_get_timeout, METH_NOARGS,
-+	    get_timeout_doc},
-+	{"set_timeout", (PyCFunction)link_set_timeout,
-+	    METH_VARARGS|METH_KEYWORDS, set_timeout_doc},
-+	{"get_sdu", (PyCFunction)link_get_sdu, METH_NOARGS, get_sdu_doc},
-+	{"get_state", (PyCFunction)link_get_state, METH_NOARGS,
-+	    get_state_doc},
-+	{"get_qos_select", (PyCFunction)link_get_qos_select, METH_NOARGS,
-+	    get_qos_select_doc},
-+	{"get_qos_range", (PyCFunction)link_get_qos_range, METH_NOARGS,
-+	    get_qos_range_doc},
-+	{NULL}
-+};
-+
-+static PyTypeObject pylink_type = {
-+	PyObject_HEAD_INIT(0)	/* Must fill in type value later */
-+	0,					/* ob_size */
-+	"dlpi.link",				/* tp_name */
-+	sizeof(pylink_t),			/* tp_basicsize */
-+	0,					/* tp_itemsize */
-+	(destructor)link_dealloc,		/* tp_dealloc */
-+	0,					/* tp_print */
-+	0,					/* tp_getattr */
-+	0,					/* tp_setattr */
-+	0,					/* tp_compare */
-+	0,					/* tp_repr */
-+	0,					/* tp_as_number */
-+	0,					/* tp_as_sequence */
-+	0,					/* tp_as_mapping */
-+	0,					/* tp_hash */
-+	0,					/* tp_call */
-+	0,					/* tp_str */
-+	0,					/* tp_getattro */
-+	0,					/* tp_setattro */
-+	0,					/* tp_as_buffer */
-+	Py_TPFLAGS_DEFAULT,			/* tp_flags */
-+	link_doc,				/* tp_doc */
-+	0,					/* tp_traverse */
-+	0,					/* tp_clear */
-+	0,					/* tp_richcompare */
-+	0,					/* tp_weaklistoffset */
-+	0,					/* tp_iter */
-+	0,					/* tp_iternext */
-+	pylink_methods,				/* tp_methods */
-+	0,					/* tp_members */
-+	0,					/* tp_getset */
-+	0,					/* tp_base */
-+	0,					/* tp_dict */
-+	0,					/* tp_descr_get */
-+	0,					/* tp_descr_set */
-+	0,					/* tp_dictoffset */
-+	(initproc)link_init,			/* tp_init */
-+	0,					/* tp_alloc */
-+	PyType_GenericNew,			/* tp_new */
-+	0,					/* tp_free */
-+};
-+
-+PyDoc_STRVAR(arptype_doc,
-+    "arptype(arptype) -> unsigned int\n"
-+    "\n"
-+    "Converts a DLPI MAC type to an ARP hardware type defined\n"
-+    " in <netinet/arp.h>\n"
-+    "See dlpi_arptype(3DLPI)\n"
-+);
-+static PyObject *
-+arptype(PyObject *dlpi, PyObject *args, PyObject *kwds)
-+{
-+	static char *keywords[] = {"arptype", NULL};
-+	uint_t dlpityp, arptyp;
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "I", keywords, &dlpityp))
-+		return (NULL);
-+
-+	if ((arptyp = dlpi_arptype(dlpityp)) == 0) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("I", arptyp));
-+}
-+
-+PyDoc_STRVAR(iftype_doc,
-+    "iftype(iftype) -> unsigned int\n"
-+    "\n"
-+    "Converts a DLPI MAC type to a BSD socket interface type\n"
-+    "defined in <net/if_types.h>\n"
-+    "See dlpi_iftype(3DLPI)\n"
-+);
-+static PyObject *
-+iftype(PyObject *dlpi, PyObject *args, PyObject *kwds)
-+{
-+	static char *keywords[] = {"iftype", NULL};
-+	uint_t dlpityp, iftyp;
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "I", keywords, &dlpityp))
-+		return (NULL);
-+
-+	if ((iftyp = dlpi_iftype(dlpityp)) == 0) {
-+		errno = EINVAL;
-+		dlpi_raise_exception(DL_SYSERR);
-+		return (NULL);
-+	}
-+
-+	return (Py_BuildValue("I", iftyp));
-+}
-+
-+PyDoc_STRVAR(mactype_doc,
-+    "mactype(mactype) -> string\n"
-+    "\n"
-+    "Returns a string that describes the specified mactype.\n"
-+    "Valid mac types are defined in <sys/dlpi.h>.\n"
-+    "See dlpi_mactype(3DLPI)\n"
-+);
-+static PyObject *
-+mactype(PyObject *dlpi, PyObject *args, PyObject *kwds)
-+{
-+	static char *keywords[] = {"mactype", NULL};
-+	uint_t mactyp;
-+
-+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "I", keywords, &mactyp))
-+		return (NULL);
-+
-+	return (Py_BuildValue("s", dlpi_mactype(mactyp)));
-+}
-+
-+static boolean_t
-+link_walker(const char *name, void *arg)
-+{
-+	PyObject *linkname;
-+	PyObject *list = (PyObject *)arg;
-+
-+	if ((list == NULL) || !PyList_Check(list))
-+		return (B_FALSE);
-+
-+	linkname = Py_BuildValue("s", name);
-+	if (PyList_Append(list, linkname) == -1)
-+		return (B_TRUE);
-+
-+	Py_DECREF(linkname);
-+	return (B_FALSE);
-+}
-+
-+PyDoc_STRVAR(listlink_doc,
-+    "listlink() -> list\n"
-+    "\n"
-+    "Returns a list containing link names of all links on the system.\n"
-+);
-+static PyObject *
-+listlink(PyObject *dlpi)
-+{
-+	PyObject *list;
-+
-+	if ((list = PyList_New(0)) == NULL)
-+		return (NULL);
-+
-+	dlpi_walk(link_walker, list, 0);
-+	return (list);
-+}
-+
-+static PyMethodDef dlpi_methods[] = {
-+	{"arptype", (PyCFunction)arptype, METH_VARARGS|METH_KEYWORDS,
-+	    arptype_doc},
-+	{"iftype", (PyCFunction)iftype, METH_VARARGS|METH_KEYWORDS,
-+	    iftype_doc},
-+	{"mactype", (PyCFunction)mactype, METH_VARARGS|METH_KEYWORDS,
-+	    mactype_doc},
-+	{"listlink", (PyCFunction)listlink, METH_NOARGS, listlink_doc},
-+	{NULL}
-+};
-+
-+PyMODINIT_FUNC
-+initdlpi(void)
-+{
-+	PyObject *mod;
-+
-+	if (PyType_Ready(&pylink_type) < 0)
-+		return;
-+
-+	mod = Py_InitModule("dlpi", dlpi_methods);
-+	if (mod == NULL)
-+		return;
-+
-+	dlpi_err = PyErr_NewException("dlpi.error", NULL, NULL);
-+	if (dlpi_err == NULL)
-+		return;
-+	PyModule_AddObject(mod, "error", dlpi_err);
-+
-+	Py_INCREF(&pylink_type);
-+	PyModule_AddObject(mod, "link", (PyObject *)&pylink_type);
-+	PyModule_AddIntConstant(mod, "PASSIVE", DLPI_PASSIVE);
-+	PyModule_AddIntConstant(mod, "RAW", DLPI_RAW);
-+	PyModule_AddIntConstant(mod, "NATIVE", DLPI_NATIVE);
-+	PyModule_AddIntConstant(mod, "ANY_SAP", DLPI_ANY_SAP);
-+	PyModule_AddIntConstant(mod, "DEF_TIMEOUT", DLPI_DEF_TIMEOUT);
-+	PyModule_AddIntConstant(mod, "NOTE_LINK_DOWN", DL_NOTE_LINK_DOWN);
-+	PyModule_AddIntConstant(mod, "NOTE_LINK_UP", DL_NOTE_LINK_UP);
-+	PyModule_AddIntConstant(mod, "NOTE_PHYS_ADDR", DL_NOTE_PHYS_ADDR);
-+	PyModule_AddIntConstant(mod, "NOTE_SDU_SIZE", DL_NOTE_SDU_SIZE);
-+	PyModule_AddIntConstant(mod, "NOTE_SPEED", DL_NOTE_SPEED);
-+	PyModule_AddIntConstant(mod, "NOTE_PROMISC_ON_PHYS",
-+	    DL_NOTE_PROMISC_ON_PHYS);
-+	PyModule_AddIntConstant(mod, "NOTE_PROMISC_OFF_PHYS",
-+	    DL_NOTE_PROMISC_OFF_PHYS);
-+	PyModule_AddIntConstant(mod, "FACT_PHYS_ADDR", DL_FACT_PHYS_ADDR);
-+	PyModule_AddIntConstant(mod, "CURR_PHYS_ADDR", DL_CURR_PHYS_ADDR);
-+	PyModule_AddIntConstant(mod, "PROMISC_PHYS", DL_PROMISC_PHYS);
-+	PyModule_AddIntConstant(mod, "PROMISC_SAP", DL_PROMISC_SAP);
-+	PyModule_AddIntConstant(mod, "PROMISC_MULTI", DL_PROMISC_MULTI);
-+	PyModule_AddIntConstant(mod, "UNKNOWN", DL_UNKNOWN);
-+	PyModule_AddIntConstant(mod, "UNBOUND", DL_UNBOUND);
-+	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
-@@ -1284,6 +1284,12 @@
-             exts.append( Extension('ucred', ['ucred.c'],
-                                    libraries = ['tsol']) )
- 
-+        # dlpi module (Solaris)
-+        dlpi_inc = find_file('libdlpi.h', [], inc_dirs)
-+        if dlpi_inc is not None:
-+            exts.append( Extension('dlpi', ['dlpimodule.c'],
-+                                   libraries = ['dlpi']) )
-+
-         # 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 @@
-+#!/usr/bin/python2.6
-+
-+import dlpi
-+import sys
-+import time
-+import struct
-+
-+#test listlink
-+linklist = dlpi.listlink()
-+print "Found %d links:" % len(linklist)
-+print linklist
-+
-+#pick up the first data link for below testing
-+linkname = linklist[0]
-+
-+#open link
-+print "opening link: " + linkname + "..."
-+testlink = dlpi.link(linkname)
-+
-+#read some info of testlink
-+print "linkname is %s" % testlink.get_linkname()
-+print "link fd is %d" % testlink.get_fd()
-+mactype = testlink.get_mactype()
-+print "dlpi mactype is %d" % mactype
-+print "after convert:"
-+print "\tmactype is %s" % dlpi.mactype(mactype)
-+print "\tiftype is %d" % dlpi.iftype(mactype)
-+print "\tarptype is %d" % dlpi.arptype(mactype)
-+bcastaddr = testlink.get_bcastaddr()
-+print "broadcast addr is: ",
-+print struct.unpack("BBBBBB",bcastaddr)
-+physaddr = testlink.get_physaddr(dlpi.FACT_PHYS_ADDR)
-+print "factory physical address is: ",
-+print struct.unpack("BBBBBB",physaddr)
-+print "current timeout value is %d" % testlink.get_timeout()
-+print "sdu is:",
-+print testlink.get_sdu()
-+print "qos select is:",
-+print testlink.get_qos_select()
-+print "qos range is:",
-+print testlink.get_qos_range()
-+
-+#set some config value of testlink and read them again
-+print "setting current physiacal addr to aa:0:10:13:27:5"
-+testlink.set_physaddr('\xaa\0\x10\x13\x27\5')
-+physaddr = testlink.get_physaddr(dlpi.CURR_PHYS_ADDR)
-+print "current physical addr is: ",
-+print struct.unpack("BBBBBB",physaddr)
-+print "set timeout value to 6..."
-+testlink.set_timeout(6)
-+print "timeout value is %d" % testlink.get_timeout()
-+
-+#test enable/disable multicast
-+print "enable/disable multicast address 1:0:5e:0:0:5"
-+testlink.enabmulti('\1\0\x5e\0\0\5')
-+testlink.disabmulti('\1\0\x5e\0\0\5')
-+
-+#test bind
-+print "binding to SAP 0x9000..."
-+testlink.bind(0x9000)
-+print "sap is %x" % testlink.get_sap()
-+print "state is: %d"  % testlink.get_state()
-+
-+#test send
-+print "sending broadcast loopback packet..."
-+testlink.send(bcastaddr, '\0\1\2\3\4\5')
-+
-+#test notify functionality
-+arg = "notification callback arg"
-+def notify(arg, notes, value):
-+	print "NOTE_PROMISC_ON_PHYS notification received with arg: '%s'" % arg
-+print "enabled notification on NOTE_PROMISC_ON_PHYS"
-+id = testlink.enabnotify(dlpi.NOTE_PROMISC_ON_PHYS, notify, arg) #enable notification
-+testlink.promiscon() #trigger the event (will be seen while receiving pkt below)
-+
-+#test receive
-+print "testing receiving..."
-+try:
-+	testlink.recv(0, 0) #should see NOTE_PROMISC_ON_PHYS event here
-+except dlpi.error, err:
-+	errnum, errinfo = err
-+	if errnum == 10006:
-+		pass #timeout error is expected here
-+	else: #test fails if reach here
-+		print "test failed",
-+		print errnum,
-+		print err
-+
-+testlink.promiscoff()
-+testlink.disabnotify(id) #disable notification
-+
-+#test unbind
-+print "unbinding..."
-+testlink.unbind()
-+print "sap is %x" % testlink.get_sap()
-+print "state is: %d"  % testlink.get_state()
--- a/components/python/python26/patches/Python26-12-encoding-alias.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-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
-@@ -73,6 +73,7 @@
- 
-     # cp1251 codec
-     '1251'               : 'cp1251',
-+    'ansi_1251'          : 'cp1251',
-     'windows_1251'       : 'cp1251',
- 
-     # cp1252 codec
-@@ -217,6 +218,7 @@
-     'u_jis'              : 'euc_jp',
- 
-     # euc_kr codec
-+    '5601'               : 'euc_kr',
-     'euckr'              : 'euc_kr',
-     'korean'             : 'euc_kr',
-     'ksc5601'            : 'euc_kr',
-@@ -457,6 +459,7 @@
-     'shiftjis'           : 'shift_jis',
-     'sjis'               : 'shift_jis',
-     's_jis'              : 'shift_jis',
-+    'pck'                : 'shift_jis',
- 
-     # shift_jis_2004 codec
-     'shiftjis2004'       : 'shift_jis_2004',
-@@ -476,6 +479,7 @@
-     'tis_620_0'          : 'tis_620',
-     'tis_620_2529_0'     : 'tis_620',
-     'tis_620_2529_1'     : 'tis_620',
-+    'tis620.2533'        : 'tis_620',
-     'iso_ir_166'         : 'tis_620',
- 
-     # utf_16 codec
--- a/components/python/python26/patches/Python26-13-cflags.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
---- Python-2.6.4/configure.in.old	Fri Nov  4 12:03:26 2011
-+++ Python-2.6.4/configure.in	Fri Nov  4 12:04:05 2011
-@@ -919,7 +919,7 @@
- 	;;
- 
-     *)
--	OPT="-O"
-+	OPT=""
- 	;;
-     esac
- 
-@@ -1110,6 +1110,8 @@
- 	# environment?
-         Darwin*)
- 	    ;;
-+	SunOS*)
-+	    ;;
-         *)
- 	    BASECFLAGS="$BASECFLAGS -OPT:Olimit=0"
- 	    ;;
--- a/components/python/python26/patches/Python26-14-ctypes-util-find-library.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-This patch was developed in-house, but not contributed upstream because
-Python 2.6 has been abandoned by the community.
-
---- Python-2.6.8/Lib/ctypes/util.py.~1~	2012-04-10 08:32:04.000000000 -0700
-+++ Python-2.6.8/Lib/ctypes/util.py	2015-01-20 15:17:51.156728249 -0800
-@@ -164,6 +164,24 @@
-             res.sort(cmp= lambda x,y: cmp(_num_version(x), _num_version(y)))
-             return res[-1]
- 
-+    elif sys.platform == "sunos5":
-+
-+        def _findLib_path(name, is64):
-+            if is64:
-+                paths = "/lib/64:/usr/lib/64"
-+            else:
-+                paths = "/lib:/usr/lib"
-+
-+            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_path(name, is64) or _findLib_gcc(name))
-+
-     else:
- 
-         def _findLib_ldconfig(name):
--- a/components/python/python26/patches/Python26-15-getcwd.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-diff --git Python-2.6.4/Modules/posixmodule.c Python-2.6.4/Modules/posixmodule.c
---- Python-2.6.4/Modules/posixmodule.c
-+++ Python-2.6.4/Modules/posixmodule.c
-@@ -1997,6 +1997,8 @@
-     char *res = NULL;
-     PyObject *dynamic_return;
- 
-+    int maxsize = pathconf(".", _PC_PATH_MAX);
-+
-     Py_BEGIN_ALLOW_THREADS
-     do {
-         bufsize = bufsize + bufsize_incr;
-@@ -2013,7 +2015,7 @@
-         if (res == NULL) {
-             free(tmpbuf);
-         }
--    } while ((res == NULL) && (errno == ERANGE));
-+    } while ((res == NULL) && (errno == ERANGE) && (bufsize < maxsize));
-     Py_END_ALLOW_THREADS
- 
-     if (res == NULL)
--- a/components/python/python26/patches/Python26-16-privrbac.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1580 +0,0 @@
-diff --git Python-2.6.4/Modules/authattr.c Python-2.6.4/Modules/authattr.c
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Modules/authattr.c
-@@ -0,0 +1,262 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+
-+/*
-+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+/*
-+ * RBAC Bindings for Python - auth_attr functions
-+ */
-+
-+#include <auth_attr.h>
-+#include "Python.h"
-+#include "pyrbac.h"
-+
-+static PyObject*
-+pyrbac_setauthattr(PyObject* self, PyObject* args) {
-+	setauthattr();
-+	return Py_None;
-+}
-+
-+static PyObject*
-+pyrbac_endauthattr(PyObject* self, PyObject* args) {
-+	endauthattr();
-+	return Py_None;
-+}
-+
-+PyObject*
-+pyrbac_getauthnamattr(PyObject* self, char* authname, int mode) {
-+	
-+
-+	
-+	authattr_t * ret_authattr = (mode == PYRBAC_NAM_MODE) ? getauthnam(authname) : getauthattr();
-+	if (ret_authattr == NULL)
-+		return Py_None;
-+		
-+	PyObject* kv_data = PyDict_New();
-+	if (kv_data == NULL) {
-+		free_authattr(ret_authattr);
-+		return NULL;
-+	}
-+
-+	if(ret_authattr->attr != NULL) {
-+		int len;
-+		for(len = 0; len < ret_authattr->attr->length; len++) {
-+			kv_t current = ret_authattr->attr->data[len];
-+
-+			PyObject* set = PyList_New(NULL);
-+			char* saveptr;
-+			char* item = strtok_r(current.value, ",", &saveptr);
-+			PyList_Append(set, PyString_FromString(item));
-+
-+			while((item = strtok_r(NULL, ",", &saveptr)) != NULL) {
-+				if(PyList_Append(set, PyString_FromString(item)) != 0) {
-+					Py_XDECREF(set);
-+					Py_XDECREF(kv_data);
-+					free_authattr(ret_authattr);
-+					return NULL;
-+				}
-+			}
-+			if(PyDict_SetItemString(kv_data, current.key, set)) {
-+					free_authattr(ret_authattr);
-+					return NULL;
-+			}
-+		}
-+	}
-+	PyObject * retval = Py_BuildValue("{s:s,s:s,s:s,s:s,s:s,s:O}",
-+		"name",ret_authattr->name,
-+		"res1",ret_authattr->res1,
-+		"res2",ret_authattr->res2,
-+		"short",ret_authattr->short_desc,
-+		"long",ret_authattr->long_desc,
-+		"attributes",kv_data);
-+
-+	free_authattr(ret_authattr);
-+	return retval;
-+
-+}
-+
-+static PyObject*
-+pyrbac_getauthattr(PyObject* self, PyObject* args) {
-+	return(pyrbac_getauthnamattr(self, NULL, PYRBAC_ATTR_MODE));
-+}
-+
-+static PyObject*
-+pyrbac_getauthnam(PyObject* self, PyObject* args) {
-+	char* name = NULL;
-+	if(!PyArg_ParseTuple(args, "s:getauthnam", &name))
-+		return NULL;
-+	return(pyrbac_getauthnamattr(self, name, PYRBAC_NAM_MODE));
-+}
-+
-+static PyObject *
-+pyrbac_chkauthattr(PyObject* self, PyObject* args) {
-+	char* authstring = NULL;
-+	char* username = NULL;
-+	if(!PyArg_ParseTuple(args, "ss:chkauthattr", &authstring, &username))
-+		return NULL;
-+	return PyBool_FromLong((long)chkauthattr(authstring, username));
-+}
-+
-+static PyObject*
-+pyrbac_authattr_next(PyObject* self, PyObject* args) {
-+	PyObject* retval = pyrbac_getauthattr(self, args);
-+	if( retval == Py_None ) {
-+		setauthattr();
-+		return NULL;
-+	}
-+	return retval;
-+}
-+static PyObject*
-+pyrbac_authattr__iter__(PyObject* self, PyObject* args) {
-+	return self;
-+}
-+
-+typedef struct {
-+	PyObject_HEAD
-+} Authattr;
-+
-+static void
-+Authattr_dealloc(Authattr* self) {
-+	endauthattr();
-+	self->ob_type->tp_free((PyObject*) self);
-+}
-+
-+static PyObject*
-+Authattr_new(PyTypeObject *type, PyObject *args, PyObject *kwds) {
-+	Authattr *self;
-+	self = (Authattr*)type->tp_alloc(type, 0);
-+
-+	return ((PyObject *) self);
-+}
-+
-+static int
-+Authattr_init(Authattr* self, PyObject *args, PyObject *kwargs) {
-+	setauthattr();
-+	return 0;
-+}
-+
-+static char pyrbac_authattr__doc__[];
-+
-+PyDoc_STRVAR(pyrbac_authattr__doc__, """provides interfaces to the auth_attr \
-+database. may be iterated over to return all auth_attr entries\n\n\
-+Methods provided:\n\
-+setauthattr\n\
-+endauthattr\n\
-+getauthattr\n\
-+chkauthattr\n\
-+getauthnam""");
-+
-+static char pyrbac_setauthattr__doc__[];
-+static char pyrbac_endauthattr__doc__[];
-+static char pyrbac_getauthattr__doc__[];
-+static char pyrbac_chkauthattr__doc__[];
-+
-+PyDoc_STRVAR(pyrbac_setauthattr__doc__, 
-+"\"rewinds\" the auth_attr functions to the first entry in the db. Called \
-+automatically by the constructor\n\tArguments: None\n\tReturns: None");
-+
-+PyDoc_STRVAR(pyrbac_endauthattr__doc__, 
-+"closes the auth_attr database, cleans up storage. called automatically by \
-+the destructor\n\tArguments: None\n\tReturns: None");
-+
-+PyDoc_STRVAR(pyrbac_chkauthattr__doc__, "verifies if a user has a given \
-+authorization.\n\tArguments: 2 Python strings, 'authname' and 'username'\n\
-+\tReturns: True if the user is authorized, False otherwise");
-+
-+PyDoc_STRVAR(pyrbac_getauthattr__doc__, 
-+"return one entry from the auth_attr database\n\
-+\tArguments: None\n\
-+\tReturns: a dict representing the authattr_t struct:\n\
-+\t\t\"name\": Authorization Name\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"short\": Short Description\n\
-+\t\t\"long\": Long Description\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as either a list \
-+or a string depending on value");
-+
-+PyDoc_STRVAR(pyrbac_getauthnam__doc__, 
-+"searches the auth_attr database for a given authorization name\n\
-+\tArguments: a Python string containing the auth name\n\
-+\tReturns: a dict representing the authattr_t struct:\n\
-+\t\t\"name\": Authorization Name\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"short\": Short Description\n\
-+\t\t\"long\": Long Description\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as either a list \
-+or a string depending on value");
-+
-+static PyMethodDef Authattr_methods[] = {
-+	{"setauthattr", pyrbac_setauthattr, METH_NOARGS, pyrbac_setauthattr__doc__},
-+	{"endauthattr", pyrbac_endauthattr, METH_NOARGS, pyrbac_endauthattr__doc__},
-+	{"chkauthattr", pyrbac_chkauthattr, METH_VARARGS, pyrbac_chkauthattr__doc__},
-+	{"getauthattr", pyrbac_getauthattr, METH_NOARGS, pyrbac_getauthattr__doc__},
-+	{"getauthnam", pyrbac_getauthnam, METH_VARARGS, pyrbac_getauthnam__doc__},
-+	{NULL}
-+};
-+
-+PyTypeObject AuthattrType = {
-+	PyObject_HEAD_INIT(NULL)
-+	0,                         /*ob_size*/
-+	"rbac.authattr",             /*tp_name*/
-+	sizeof(Authattr),             /*tp_basicsize*/
-+	0,                         /*tp_itemsize*/
-+	(destructor)Authattr_dealloc, /*tp_dealloc*/
-+	0,                         /*tp_print*/
-+	0,                         /*tp_getattr*/
-+	0,                         /*tp_setattr*/
-+	0,                         /*tp_compare*/
-+	0,                         /*tp_repr*/
-+	0,                         /*tp_as_number*/
-+	0,                         /*tp_as_sequence*/
-+	0,                         /*tp_as_mapping*/
-+	0,                         /*tp_hash */
-+	0,                         /*tp_call*/
-+	0,                         /*tp_str*/
-+	0,                         /*tp_getattro*/
-+	0,                         /*tp_setattro*/
-+	0,                         /*tp_as_buffer*/
-+	Py_TPFLAGS_DEFAULT |
-+	Py_TPFLAGS_BASETYPE |
-+	Py_TPFLAGS_HAVE_ITER, /*tp_flags*/
-+	pyrbac_authattr__doc__,           /* tp_doc */
-+	0,		               /* tp_traverse */
-+	0,		               /* tp_clear */
-+	0,		               /* tp_richcompare */
-+	0,		               /* tp_weaklistoffset */
-+	pyrbac_authattr__iter__,		               /* tp_iter */
-+	pyrbac_authattr_next,         /* tp_iternext */
-+	Authattr_methods,             /* tp_methods */
-+	0,             /* tp_members */
-+	0,                         /* tp_getset */
-+	0,                         /* tp_base */
-+	0,                         /* tp_dict */
-+	0,                         /* tp_descr_get */
-+	0,                         /* tp_descr_set */
-+	0,                         /* tp_dictoffset */
-+	(initproc)Authattr_init,      /* tp_init */
-+	0,                         /* tp_alloc */
-+	Authattr_new,                 /* tp_new */
-+};
-diff --git Python-2.6.4/Modules/execattr.c Python-2.6.4/Modules/execattr.c
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Modules/execattr.c
-@@ -0,0 +1,314 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+
-+/*
-+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+/*
-+ * RBAC Bindings for Python - exec_attr functions
-+ */
-+
-+#include <exec_attr.h>
-+#include "Python.h"
-+#include "pyrbac.h"
-+
-+static PyObject *
-+pyrbac_setexecattr(PyObject* self, PyObject* args) {
-+	setexecattr();
-+	return Py_None;
-+}
-+
-+static PyObject *
-+pyrbac_endexecattr(PyObject* self, PyObject* args) {
-+	endexecattr();
-+	return Py_None;
-+}
-+
-+PyObject *
-+pyrbac_getexecuserprofattr(PyObject* self, char* userprofname, char* type, char* id, int mode) {
-+
-+	PyObject* ep_data = (mode == PYRBAC_ATTR_MODE) ? NULL : PyList_New(0);
-+	
-+	if (ep_data == NULL && mode != PYRBAC_ATTR_MODE )
-+		return NULL;
-+	
-+	execattr_t *execprof;
-+	if (mode == PYRBAC_USER_MODE)
-+		execprof = getexecuser(userprofname, type, id, GET_ALL);
-+	else if (mode == PYRBAC_PROF_MODE)
-+		execprof = getexecprof(userprofname, type, id, GET_ALL);
-+	else if (mode == PYRBAC_ATTR_MODE)
-+		execprof = getexecattr();
-+	else
-+		return NULL;
-+
-+	if (execprof == NULL)
-+		return Py_None;
-+	
-+	execattr_t *execprof_head = execprof;
-+
-+	while(execprof != NULL) {
-+		
-+		PyObject* kv_data = PyDict_New();
-+
-+		if(execprof->attr != NULL) {
-+			int len;
-+			for(len = 0; len < execprof->attr->length; len++) {
-+				kv_t current = execprof->attr->data[len];
-+
-+				PyObject* set = PyList_New(NULL);
-+				char* saveptr;
-+				char* item = strtok_r(current.value, ",", &saveptr);
-+				PyList_Append(set, PyString_FromString(item));
-+
-+				while((item = strtok_r(NULL, ",", &saveptr)) != NULL) {
-+					if(PyList_Append(set, PyString_FromString(item)) != 0) {
-+						Py_XDECREF(set);
-+						Py_XDECREF(kv_data);
-+						free_execattr(execprof_head);
-+						return NULL;
-+					}
-+				}
-+				if(PyDict_SetItemString(kv_data, current.key, set)) {
-+						free_execattr(execprof_head);
-+						return NULL;
-+				}
-+			}
-+		}
-+		PyObject* entry = Py_BuildValue("{s:s,s:s,s:s,s:s,s:s,s:s,s:O}",
-+			"name", execprof->name,
-+			"type", execprof->type,
-+			"policy", execprof->policy,
-+			"res1", execprof->res1,
-+			"res2", execprof->res2,
-+			"id", execprof->id,
-+			"attributes", kv_data);
-+		
-+		if (entry == NULL) {
-+			Py_XDECREF(kv_data);
-+			free_execattr(execprof_head);
-+			return NULL;
-+		}
-+		
-+		if (mode == PYRBAC_ATTR_MODE) {
-+			free_execattr(execprof_head);
-+			return(entry);
-+		}
-+		PyList_Append(ep_data, entry);
-+		execprof = execprof->next;
-+	}
-+
-+	free_execattr(execprof_head);
-+	return(ep_data);
-+ 
-+}
-+
-+static PyObject *
-+pyrbac_getexecuser(PyObject* self, PyObject* args) {
-+	char* username = NULL;
-+	char* type = NULL;
-+	char* id = NULL;
-+	
-+	if(!PyArg_ParseTuple(args, "sss:getexecuser", &username, &type, &id))
-+		return NULL;
-+
-+	return (pyrbac_getexecuserprofattr(self, username, type, id, PYRBAC_USER_MODE));
-+}
-+
-+static PyObject *
-+pyrbac_getexecprof(PyObject* self, PyObject* args) {
-+
-+	char* profname = NULL;
-+	char* type = NULL;
-+	char* id = NULL;
-+	
-+	if(!PyArg_ParseTuple(args, "sss:getexecprof", &profname, &type, &id))
-+		return NULL;
-+
-+	return (pyrbac_getexecuserprofattr(self, profname, type, id, PYRBAC_PROF_MODE));
-+}
-+
-+static PyObject*
-+pyrbac_getexecattr(PyObject* self, PyObject* args) {
-+	return pyrbac_getexecuserprofattr(self, NULL, NULL, NULL, PYRBAC_ATTR_MODE);
-+}
-+
-+static PyObject*
-+pyrbac_execattr_next(PyObject* self, PyObject* args) {
-+	PyObject* retval = pyrbac_getexecattr(self, args);
-+	if( retval == Py_None ) {
-+		setexecattr();
-+		return NULL;
-+	}
-+	return retval;
-+}
-+static PyObject*
-+pyrbac_execattr__iter__(PyObject* self, PyObject* args) {
-+	return self;
-+}
-+
-+typedef struct {
-+	PyObject_HEAD
-+} Execattr;
-+
-+static void
-+Execattr_dealloc(Execattr* self) {
-+	endexecattr();
-+	self->ob_type->tp_free((PyObject*) self);
-+}
-+
-+static PyObject*
-+Execattr_new(PyTypeObject *type, PyObject *args, PyObject *kwds) {
-+	Execattr *self;
-+	self = (Execattr*)type->tp_alloc(type, 0);
-+
-+	return ((PyObject *) self);
-+}
-+
-+static int
-+Execattr_init(Execattr* self, PyObject *args, PyObject *kwargs) {
-+	setexecattr();
-+	return 0;
-+}
-+
-+static char pyrbac_execattr__doc__[];
-+
-+PyDoc_STRVAR(pyrbac_execattr__doc__, "provides functions for \
-+interacting with the execution profiles database. May be iterated over to \
-+enumerate exec_attr(4) entries\n\n\
-+Methods provided:\n\
-+setexecattr\n\
-+endexecattr\n\
-+getexecattr\n\
-+getexecprof\n\
-+getexecuser");
-+
-+
-+static char pyrbac_getexecuser__doc__[];
-+static char pyrbac_getexecprof__doc__[];
-+static char pyrbac_getexecattr__doc__[];
-+static char pyrbac_setexecattr__doc__[];
-+static char pyrbac_endexecattr__doc__[];
-+
-+PyDoc_STRVAR(pyrbac_setexecattr__doc__,
-+"\"rewinds\" the exec_attr functions to the first entry in the db. Called \
-+automatically by the constructor.\n\
-+\tArguments: None\
-+\tReturns: None");
-+
-+PyDoc_STRVAR(pyrbac_endexecattr__doc__, 
-+"closes the exec_attr database, cleans up storage. called automatically by \
-+the destructor.\n\
-+\tArguments: None\
-+\tReturns: None");
-+
-+PyDoc_STRVAR(pyrbac_getexecuser__doc__, "corresponds with getexecuser(3SECDB)\
-+\nTakes: \'username\', \'type\', \'id\'\n\
-+Return: a single exec_attr entry\n\
-+\tArguments: None\n\
-+\tReturns: a dict representation of an execattr_t struct:\n\
-+\t\t\"name\": Authorization Name\n\
-+\t\t\"type\": Profile Type\n\
-+\t\t\"policy\": Policy attributes are relevant in\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"id\": unique identifier\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as\
-+either a list or a string depending on value");
-+
-+PyDoc_STRVAR(pyrbac_getexecprof__doc__, "corresponds with getexecprof(3SECDB)\
-+\nTakes: \'profile name\', \'type\', \'id\'\n\
-+\tReturns: a dict representation of an execattr_t struct:\n\
-+\t\t\"name\": Authorization Name\n\
-+\t\t\"type\": Profile Type\n\
-+\t\t\"policy\": Policy attributes are relevant in\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"id\": unique identifier\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as\
-+either a list or a string depending on value");
-+
-+PyDoc_STRVAR(pyrbac_getexecattr__doc__, "corresponds with getexecattr(3SECDB)\
-+\nTakes 0 arguments\n\
-+\tReturns: a dict representation of an execattr_t struct:\n\
-+\t\t\"name\": Authorization Name\n\
-+\t\t\"type\": Profile Type\n\
-+\t\t\"policy\": Policy attributes are relevant in\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"id\": unique identifier\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as\
-+either a list or a string depending on value");
-+
-+static PyMethodDef Execattr_methods[] = {
-+	{"setexecattr", pyrbac_setexecattr, METH_NOARGS, pyrbac_setexecattr__doc__},
-+	{"endexecattr", pyrbac_endexecattr, METH_NOARGS, pyrbac_endexecattr__doc__},
-+	{"getexecprof", pyrbac_getexecprof, METH_VARARGS, pyrbac_getexecprof__doc__},	
-+	{"getexecuser", pyrbac_getexecuser, METH_VARARGS, pyrbac_getexecuser__doc__},
-+	{"getexecattr", pyrbac_getexecattr, METH_NOARGS, pyrbac_getexecattr__doc__},
-+	{NULL}
-+};
-+
-+PyTypeObject ExecattrType = {
-+	PyObject_HEAD_INIT(NULL)
-+	0,                         /*ob_size*/
-+	"rbac.execattr",             /*tp_name*/
-+	sizeof(Execattr),             /*tp_basicsize*/
-+	0,                         /*tp_itemsize*/
-+	(destructor)Execattr_dealloc, /*tp_dealloc*/
-+	0,                         /*tp_print*/
-+	0,                         /*tp_getattr*/
-+	0,                         /*tp_setattr*/
-+	0,                         /*tp_compare*/
-+	0,                         /*tp_repr*/
-+	0,                         /*tp_as_number*/
-+	0,                         /*tp_as_sequence*/
-+	0,                         /*tp_as_mapping*/
-+	0,                         /*tp_hash */
-+	0,                         /*tp_call*/
-+	0,                         /*tp_str*/
-+	0,                         /*tp_getattro*/
-+	0,                         /*tp_setattro*/
-+	0,                         /*tp_as_buffer*/
-+	Py_TPFLAGS_DEFAULT |
-+	Py_TPFLAGS_BASETYPE |
-+	Py_TPFLAGS_HAVE_ITER, /*tp_flags*/
-+	pyrbac_execattr__doc__,           /* tp_doc */
-+	0,		               /* tp_traverse */
-+	0,		               /* tp_clear */
-+	0,		               /* tp_richcompare */
-+	0,		               /* tp_weaklistoffset */
-+	pyrbac_execattr__iter__,		               /* tp_iter */
-+	pyrbac_execattr_next,         /* tp_iternext */
-+	Execattr_methods,             /* tp_methods */
-+	0,             /* tp_members */
-+	0,                         /* tp_getset */
-+	0,                         /* tp_base */
-+	0,                         /* tp_dict */
-+	0,                         /* tp_descr_get */
-+	0,                         /* tp_descr_set */
-+	0,                         /* tp_dictoffset */
-+	(initproc)Execattr_init,      /* tp_init */
-+	0,                         /* tp_alloc */
-+	Execattr_new,                 /* tp_new */
-+};
-diff --git Python-2.6.4/Modules/privileges.c Python-2.6.4/Modules/privileges.c
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Modules/privileges.c
-@@ -0,0 +1,230 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+
-+/*
-+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+/*
-+ * privileges(5) bindings for Python
-+ */
-+
-+#include <priv.h>
-+#include "Python.h"
-+
-+static PyObject *
-+pyprivileges_setppriv( PyObject *self, PyObject *args) {
-+	priv_op_t op = -1 ; 
-+	priv_ptype_t which = NULL;
-+
-+	PyObject* set_list = NULL;
-+
-+	priv_set_t * set = NULL;
-+
-+	if(!PyArg_ParseTuple(args, "iiO:setppriv", &op, &which, &set_list))
-+		return NULL;
-+	
-+	if((op != PRIV_ON && op != PRIV_OFF && op != PRIV_SET) ||
-+		(which != PRIV_PERMITTED && which != PRIV_EFFECTIVE &&
-+		which != PRIV_INHERITABLE && which != PRIV_LIMIT))
-+		return NULL;
-+	
-+	PyObject* set_string = PyList_GetItem(set_list, 0);
-+	int i;
-+	for (i = 1; i < PyList_Size(set_list); ++i) {
-+		PyString_Concat(&set_string, PyString_FromString(","));
-+		PyString_Concat(&set_string, PyList_GetItem(set_list, i));
-+	}
-+
-+	set = priv_str_to_set(PyString_AsString(set_string), ",", NULL );
-+
-+	if ( set == NULL )
-+		return NULL;
-+
-+	long ret = (long) setppriv(op, which, set);
-+	priv_freeset(set);	
-+	// Python inverts true & false
-+	if(ret)
-+		Py_RETURN_FALSE;
-+	
-+	Py_RETURN_TRUE;
-+}
-+
-+static PyObject *
-+pyprivileges_getppriv( PyObject *self, PyObject *args) {
-+
-+	char* set_str = NULL;
-+	priv_ptype_t which = NULL;
-+	priv_set_t * set = priv_allocset();
-+	if (set == NULL)
-+		return NULL;
-+
-+	if(!PyArg_ParseTuple(args, "i:getppriv", &which))
-+		return NULL;
-+
-+	if (which != PRIV_PERMITTED && which != PRIV_EFFECTIVE &&
-+	which != PRIV_INHERITABLE && which != PRIV_LIMIT)
-+		return NULL;
-+
-+	if (getppriv(which, set) != 0)
-+		return NULL;
-+	
-+	set_str = priv_set_to_str(set, ',', PRIV_STR_LIT);
-+	priv_freeset(set);
-+	
-+	PyObject* set_list = PyList_New(NULL);
-+	char* saveptr;
-+	char* item = strtok_r(set_str, ",", &saveptr);
-+	PyList_Append(set_list, PyString_FromString(item));
-+
-+	while((item = strtok_r(NULL, ",", &saveptr)) != NULL) {
-+		if(PyList_Append(set_list, PyString_FromString(item)) != 0) {
-+			Py_XDECREF(set_list);
-+			return NULL;
-+		}
-+	}
-+
-+	return(set_list);
-+}
-+
-+static PyObject *
-+pyprivileges_priv_inverse( PyObject *self, PyObject *args ) {
-+
-+	PyObject* set_list_in = NULL;
-+	if(!PyArg_ParseTuple(args, "O:priv_inverse", &set_list_in))
-+		return NULL;
-+
-+	PyObject* set_string = PyList_GetItem(set_list_in, 0);
-+	int i;
-+	for (i = 1; i < PyList_Size(set_list_in); ++i) {
-+		PyString_Concat(set_string, PyString_FromString(","));
-+		PyString_Concat(set_string, PyList_GetItem(set_list_in, i));
-+	}
-+
-+	priv_set_t * set = priv_str_to_set(PyString_AsString(set_string), ",", NULL);
-+	if (set == NULL)
-+		return NULL;
-+	priv_inverse(set);
-+	char * ret_str = priv_set_to_str(set, ',', PRIV_STR_LIT);
-+	priv_freeset(set);
-+	
-+	PyObject* set_list_out = PyList_New(NULL);
-+	char* saveptr;
-+	char* item = strtok_r(ret_str, ",", &saveptr);
-+	PyList_Append(set_list_out, PyString_FromString(item));
-+
-+	while((item = strtok_r(NULL, ",", &saveptr)) != NULL) {
-+		if(PyList_Append(set_list_out, PyString_FromString(item)) != 0) {
-+			Py_XDECREF(set_list_out);
-+			return NULL;
-+		}
-+	}
-+	
-+	Py_XDECREF(set_list_in);
-+	
-+	return(set_list_out);
-+}
-+
-+/* priv_ineffect is a convienient wrapper to priv_get
-+ * however priv_set is, in the context of python, not
-+ * much of a convienience, so it's omitted
-+ */
-+static PyObject * 
-+pyprivileges_priv_ineffect(PyObject* self, PyObject* args) {
-+	char* privstring=NULL;
-+	if (!PyArg_ParseTuple(args, "s:priv_ineffect", &privstring))
-+		return NULL;
-+	return PyBool_FromLong(priv_ineffect(privstring));
-+}
-+
-+
-+static char pyprivileges__doc__[];
-+PyDoc_STRVAR(pyprivileges__doc__, 
-+"Provides functions for interacting with the Solaris privileges(5) framework\n\
-+Functions provided:\n\
-+setppriv\n\
-+getppriv\n\
-+priv_ineffect\n\
-+priv_inverse");
-+
-+static char pyprivileges_setppriv__doc__[];
-+static char pyprivileges_getppriv__doc__[];
-+static char pyprivileges_priv_ineffect__doc__[];
-+static char pyprivileges_priv_inverse__doc__[];
-+
-+PyDoc_STRVAR(pyprivileges_setppriv__doc__, 
-+"Facilitates setting the permitted/inheritable/limit/effective privileges set\n\
-+\tArguments:\n\
-+\t\tone of (PRIV_ON|PRIV_OFF|PRIV_SET)\n\
-+\t\tone of (PRIV_PERMITTED|PRIV_INHERITABLE|PRIV_LIMIT|PRIV_EFFECTIVE)\n\
-+\t\tset of privileges: a list of strings\n\
-+\tReturns: True on success, False on failure\
-+");
-+
-+PyDoc_STRVAR(pyprivileges_getppriv__doc__, 
-+"Return the process privilege set\n\
-+\tArguments:\n\
-+\t\tone of (PRIV_PERMITTED|PRIV_INHERITABLE|PRIV_LIMIT|PRIV_EFFECTIVE)\n\
-+\tReturns: a Python list of strings");
-+	
-+PyDoc_STRVAR(pyprivileges_priv_ineffect__doc__, 
-+"Checks for a privileges presence in the effective set\n\
-+\tArguments: a String\n\
-+\tReturns: True if the privilege is in effect, False otherwise");
-+
-+PyDoc_STRVAR(pyprivileges_priv_inverse__doc__, 
-+"The complement of the set of privileges\n\
-+\tArguments: a list of strings\n\tReturns: a list of strings");
-+
-+static PyMethodDef module_methods[] = {
-+	{"setppriv", pyprivileges_setppriv, METH_VARARGS, pyprivileges_setppriv__doc__}, 
-+	{"getppriv", pyprivileges_getppriv, METH_VARARGS, pyprivileges_getppriv__doc__}, 
-+	{"priv_ineffect", pyprivileges_priv_ineffect, METH_VARARGS, pyprivileges_priv_ineffect__doc__},
-+	{"priv_inverse", pyprivileges_priv_inverse, METH_VARARGS, pyprivileges_priv_inverse__doc__},
-+	{NULL}
-+};
-+
-+
-+#ifndef PyMODINIT_FUNC	/* declarations for DLL import/export */
-+#define PyMODINIT_FUNC void
-+#endif
-+PyMODINIT_FUNC
-+initprivileges(void) {
-+	PyObject* m;
-+
-+	m = Py_InitModule3("privileges", module_methods, pyprivileges__doc__);
-+		if ( m == NULL )
-+		return;
-+		
-+	PyObject* d = PyModule_GetDict(m);
-+	if (d == NULL)
-+		return;
-+
-+	PyDict_SetItemString(d, "PRIV_ON", PyInt_FromLong((long)PRIV_ON));
-+	PyDict_SetItemString(d, "PRIV_OFF", PyInt_FromLong((long)PRIV_OFF));
-+	PyDict_SetItemString(d, "PRIV_SET", PyInt_FromLong((long)PRIV_SET));
-+
-+	PyDict_SetItemString(d, "PRIV_PERMITTED", PyInt_FromLong((long)PRIV_PERMITTED));
-+	PyDict_SetItemString(d, "PRIV_INHERITABLE", PyInt_FromLong((long)PRIV_INHERITABLE));
-+	PyDict_SetItemString(d, "PRIV_LIMIT", PyInt_FromLong((long)PRIV_LIMIT));
-+	PyDict_SetItemString(d, "PRIV_EFFECTIVE", PyInt_FromLong((long)PRIV_EFFECTIVE));
-+}
-diff --git Python-2.6.4/Modules/pyrbac.c Python-2.6.4/Modules/pyrbac.c
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Modules/pyrbac.c
-@@ -0,0 +1,69 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+
-+/*
-+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+/*
-+ * RBAC Bindings for Python
-+ */
-+
-+#include <Python.h>
-+#include "pyrbac.h"
-+
-+static PyMethodDef module_methods[] = {NULL};
-+static char pyrbac__doc__[];
-+
-+PyDoc_STRVAR(pyrbac__doc__, "provides access to some objects \
-+for interaction with the Solaris Role-Based Access Control \
-+framework.\n\nDynamic objects:\n\
-+userattr -- for interacting with user_attr(4)\n\
-+authattr -- for interacting with auth_attr(4)\n\
-+execattr -- for interacting with exec_attr(4)\n");
-+
-+#ifndef PyMODINIT_FUNC	/* declarations for DLL import/export */
-+#define PyMODINIT_FUNC void
-+#endif
-+PyMODINIT_FUNC
-+initrbac(void) {
-+	PyObject* m;
-+	if (PyType_Ready(&AuthattrType) < 0 || 
-+		PyType_Ready(&ExecattrType) < 0 ||
-+		PyType_Ready(&UserattrType) < 0 )
-+		return;
-+
-+	m = Py_InitModule3("rbac", module_methods, pyrbac__doc__);
-+	if ( m == NULL )
-+		return;
-+	
-+	Py_INCREF(&AuthattrType);
-+	PyModule_AddObject(m, "authattr", (PyObject*)&AuthattrType);
-+
-+	Py_INCREF(&ExecattrType);
-+	PyModule_AddObject(m, "execattr", (PyObject*)&ExecattrType);
-+
-+	Py_INCREF(&UserattrType);
-+	PyModule_AddObject(m, "userattr", (PyObject*)&UserattrType);
-+
-+}
-+
-diff --git Python-2.6.4/Modules/pyrbac.h Python-2.6.4/Modules/pyrbac.h
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Modules/pyrbac.h
-@@ -0,0 +1,46 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+
-+/*
-+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+/* 
-+ * RBAC bindings for python
-+ */
-+#ifndef PYRBAC_H
-+#define PYRBAC_H
-+
-+#include <secdb.h>
-+
-+
-+#define PYRBAC_USER_MODE 1
-+#define PYRBAC_PROF_MODE 2
-+#define PYRBAC_ATTR_MODE 3
-+#define PYRBAC_NAM_MODE 4
-+#define PYRBAC_UID_MODE 5
-+
-+PyTypeObject AuthattrType;
-+PyTypeObject ExecattrType;
-+PyTypeObject UserattrType;
-+
-+#endif
-diff --git Python-2.6.4/Modules/userattr.c Python-2.6.4/Modules/userattr.c
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/Modules/userattr.c
-@@ -0,0 +1,309 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+
-+/*
-+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+/*
-+ * RBAC Bindings for Python - user_attr functions
-+ */
-+
-+#include <stdio.h>
-+#include <user_attr.h>
-+#include "Python.h"
-+#include "pyrbac.h"
-+
-+static PyObject*
-+pyrbac_setuserattr(PyObject* self, PyObject* args) {
-+	setuserattr();
-+	return Py_None;
-+}
-+
-+static PyObject*
-+pyrbac_enduserattr(PyObject* self, PyObject* args) {
-+	enduserattr();
-+	return Py_None;
-+}
-+
-+PyObject*
-+pyrbac_getuseruidnamattr(PyObject* self, void* arg, int mode, char* filename) {
-+	
-+	userattr_t *ret_userattr;
-+
-+	if (mode == PYRBAC_ATTR_MODE) {
-+	    if (filename != NULL) {
-+            FILE* file = fopen(filename, "r");
-+            if (file == NULL)
-+                return NULL;
-+	        ret_userattr = fgetuserattr(file);
-+	        if (fclose(file))
-+                return NULL;
-+	    }
-+	    else
-+	    	ret_userattr = getuserattr();
-+	}
-+	else if (mode == PYRBAC_NAM_MODE)
-+		ret_userattr = getusernam((char*) arg);
-+	else if (mode == PYRBAC_UID_MODE)
-+		ret_userattr = getuseruid(*((uid_t*) arg));
-+	
-+	if (ret_userattr == NULL)
-+		return Py_None;
-+	
-+	PyObject* entry = PyTuple_New(5);
-+	if (entry == NULL) {
-+		free_userattr(ret_userattr);
-+		return NULL;
-+	}
-+	
-+	PyObject* kv_data = PyDict_New();
-+
-+	if(ret_userattr->attr != NULL) {
-+		int len;
-+		for(len = 0; len < ret_userattr->attr->length; len++) {
-+			kv_t current = ret_userattr->attr->data[len];
-+
-+			PyObject* set = PyList_New(NULL);
-+			char* saveptr;
-+			char* item = strtok_r(current.value, ",", &saveptr);
-+			PyList_Append(set, PyString_FromString(item));
-+
-+			while((item = strtok_r(NULL, ",", &saveptr)) != NULL) {
-+				if(PyList_Append(set, PyString_FromString(item)) != 0) {
-+					Py_XDECREF(set);
-+					Py_XDECREF(kv_data);
-+					free_userattr(ret_userattr);
-+					return NULL;
-+				}
-+			}
-+			if(PyDict_SetItemString(kv_data, current.key, set)) {
-+					free_userattr(ret_userattr);
-+					return NULL;
-+			}
-+		}
-+	}
-+	entry = Py_BuildValue("{s:s,s:s,s:s,s:s,s:O}", 
-+		"name", ret_userattr->name,
-+		"qualifier", ret_userattr->qualifier,
-+		"res1", ret_userattr->res1,
-+		"res2", ret_userattr->res2,
-+		"attributes", kv_data);
-+
-+	free_userattr(ret_userattr);
-+	
-+	return entry;
-+}
-+
-+
-+static PyObject*
-+pyrbac_getuserattr(PyObject* self, PyObject* args) {
-+	return(pyrbac_getuseruidnamattr(self, (void*) NULL, PYRBAC_ATTR_MODE, NULL));
-+}
-+
-+static PyObject*
-+pyrbac_fgetuserattr(PyObject* self, PyObject* args) {
-+	char* filename = NULL;
-+	if(!PyArg_ParseTuple(args, "s:fgetuserattr", &filename))
-+		return NULL;
-+	return(pyrbac_getuseruidnamattr(self, NULL, PYRBAC_ATTR_MODE, filename));
-+}
-+
-+static PyObject*
-+pyrbac_getusernam(PyObject* self, PyObject* args) {
-+	char* name = NULL;
-+	if(!PyArg_ParseTuple(args, "s:getusernam", &name))
-+		return NULL;
-+	return(pyrbac_getuseruidnamattr(self, (void*) name, PYRBAC_NAM_MODE, NULL));
-+}
-+
-+static PyObject*
-+pyrbac_getuseruid(PyObject* self, PyObject* args) {
-+	uid_t uid;
-+	if(!PyArg_ParseTuple(args, "i:getuseruid", &uid))
-+		return NULL;
-+	return(pyrbac_getuseruidnamattr(self, (void*) &uid, PYRBAC_UID_MODE, NULL));
-+}
-+
-+static PyObject*
-+pyrbac_userattr_next(PyObject* self, PyObject* args) {
-+	PyObject* retval = pyrbac_getuserattr(self, args);
-+	if( retval == Py_None ) {
-+		setuserattr();
-+		return NULL;
-+	}
-+	return retval;
-+}
-+static PyObject*
-+pyrbac_userattr__iter__(PyObject* self, PyObject* args) {
-+	return self;
-+}
-+
-+typedef struct {
-+	PyObject_HEAD
-+} Userattr;
-+
-+static void
-+Userattr_dealloc(Userattr* self) {
-+	enduserattr();
-+	self->ob_type->tp_free((PyObject*) self);
-+}
-+
-+static PyObject*
-+Userattr_new(PyTypeObject *type, PyObject *args, PyObject *kwds) {
-+	Userattr *self;
-+	self = (Userattr*)type->tp_alloc(type, 0);
-+
-+	return ((PyObject *) self);
-+}
-+
-+static int
-+Userattr_init(Userattr* self, PyObject *args, PyObject *kwargs) {
-+	setuserattr();
-+	return 0;
-+}
-+
-+static char pyrbac_userattr__doc__[];
-+PyDoc_STRVAR(pyrbac_userattr__doc__, "provides functions for \
-+interacting with the extended user attributes database. May be iterated over \
-+to enumerate user_attr(4) entries\n\n\
-+Methods provided:\n\
-+setuserattr\n\
-+enduserattr\n\
-+getuserattr\n\
-+fgetuserattr\n\
-+getusernam\n\
-+getuseruid");
-+
-+static char pyrbac_setuserattr__doc__[];
-+static char pyrbac_enduserattr__doc__[];
-+static char pyrbac_getuserattr__doc__[];
-+static char pyrbac_getusernam__doc__[];
-+static char pyrbac_getuseruid__doc__[];
-+
-+PyDoc_STRVAR(pyrbac_setuserattr__doc__, "\"rewinds\" the user_attr functions \
-+to the first entry in the db. Called automatically by the constructor.\n\
-+\tArguments: None\n\
-+\tReturns: None");
-+
-+PyDoc_STRVAR(pyrbac_enduserattr__doc__, "closes the user_attr database, \
-+cleans up storage. called automatically by the destructor\n\
-+\tArguments: None\n\
-+\tReturns: None");
-+
-+PyDoc_STRVAR(pyrbac_getuserattr__doc__, "Return a single user_attr entry\n \
-+\tArguments: None\n\
-+\tReturns: a dict representation of a userattr_t struct:\n\
-+\t\t\"name\": username\n\
-+\t\t\"qualifier\": reserved\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as either a list \
-+or a string depending on value"
-+);
-+
-+PyDoc_STRVAR(pyrbac_fgetuserattr__doc__, "Return a single user_attr entry \
-+from a file, bypassing nsswitch.conf\n\
-+\tArguments: \'filename\'\n\
-+\tReturns: a dict representation of a userattr_t struct:\n\
-+\t\t\"name\": username\n\
-+\t\t\"qualifier\": reserved\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as either a list \
-+or a string depending on value");
-+
-+PyDoc_STRVAR(pyrbac_getusernam__doc__, "Searches for a user_attr entry with a \
-+given user name\n\
-+\tArgument: \'username\'\n\
-+\tReturns: a dict representation of a userattr_t struct:\n\
-+\t\t\"name\": username\n\
-+\t\t\"qualifier\": reserved\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as either a list \
-+or a string depending on value");
-+
-+PyDoc_STRVAR(pyrbac_getuseruid__doc__, "Searches for a user_attr entry with a \
-+given uid\n\
-+\tArgument: uid\n\
-+\tReturns: a dict representation of a userattr_t struct:\n\
-+\t\t\"name\": username\n\
-+\t\t\"qualifier\": reserved\n\
-+\t\t\"res1\": reserved\n\
-+\t\t\"res2\": reserved\n\
-+\t\t\"attributes\": A Python dict keyed by attribute & valued as either a list \
-+or a string depending on value");
-+
-+static PyMethodDef Userattr_methods[] = {
-+	{"setuserattr", pyrbac_setuserattr, METH_NOARGS, pyrbac_setuserattr__doc__},
-+	{"enduserattr", pyrbac_enduserattr, METH_NOARGS, pyrbac_enduserattr__doc__},
-+	{"getuserattr", pyrbac_getuserattr, METH_NOARGS, pyrbac_getuserattr__doc__},
-+	{"fgetuserattr", pyrbac_fgetuserattr, METH_VARARGS, pyrbac_fgetuserattr__doc__},
-+	{"getusernam", pyrbac_getusernam, METH_VARARGS, pyrbac_getusernam__doc__},
-+	{"getuseruid", pyrbac_getuseruid, METH_VARARGS, pyrbac_getuseruid__doc__},
-+	{NULL}
-+};
-+
-+PyTypeObject UserattrType = {
-+	PyObject_HEAD_INIT(NULL)
-+	0,                         /*ob_size*/
-+	"rbac.userattr",             /*tp_name*/
-+	sizeof(Userattr),             /*tp_basicsize*/
-+	0,                         /*tp_itemsize*/
-+	(destructor)Userattr_dealloc, /*tp_dealloc*/
-+	0,                         /*tp_print*/
-+	0,                         /*tp_getattr*/
-+	0,                         /*tp_setattr*/
-+	0,                         /*tp_compare*/
-+	0,                         /*tp_repr*/
-+	0,                         /*tp_as_number*/
-+	0,                         /*tp_as_sequence*/
-+	0,                         /*tp_as_mapping*/
-+	0,                         /*tp_hash */
-+	0,                         /*tp_call*/
-+	0,                         /*tp_str*/
-+	0,                         /*tp_getattro*/
-+	0,                         /*tp_setattro*/
-+	0,                         /*tp_as_buffer*/
-+	Py_TPFLAGS_DEFAULT |
-+	Py_TPFLAGS_BASETYPE |
-+	Py_TPFLAGS_HAVE_ITER, /*tp_flags*/
-+	pyrbac_userattr__doc__,    /* tp_doc */
-+	0,		               /* tp_traverse */
-+	0,		               /* tp_clear */
-+	0,		               /* tp_richcompare */
-+	0,		               /* tp_weaklistoffset */
-+	pyrbac_userattr__iter__,		               /* tp_iter */
-+	pyrbac_userattr_next,         /* tp_iternext */
-+	Userattr_methods,             /* tp_methods */
-+	0,             /* tp_members */
-+	0,                         /* tp_getset */
-+	0,                         /* tp_base */
-+	0,                         /* tp_dict */
-+	0,                         /* tp_descr_get */
-+	0,                         /* tp_descr_set */
-+	0,                         /* tp_dictoffset */
-+	(initproc)Userattr_init,      /* tp_init */
-+	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
-@@ -1290,6 +1290,22 @@
-             exts.append( Extension('dlpi', ['dlpimodule.c'],
-                                    libraries = ['dlpi']) )
- 
-+        # privileges module (Solaris)
-+        priv_inc = find_file('priv.h', [], inc_dirs)
-+        if priv_inc is not None:
-+            exts.append( Extension('privileges', ['privileges.c']))
-+
-+        # rbac module (Solaris)
-+        secdb_inc = find_file('secdb.h', [], inc_dirs)
-+        aa_inc = find_file('auth_attr.h', [], inc_dirs)
-+        ea_inc = find_file('exec_attr.h', [], inc_dirs)
-+        ua_inc = find_file('user_attr.h', [], inc_dirs)
-+        if secdb_inc is not None and aa_inc is not None and \
-+            ea_inc is not None and ua_inc is not None:
-+            exts.append( Extension('rbac', ['pyrbac.c', 'authattr.c', \
-+                                   'execattr.c', 'userattr.c'],
-+                                   libraries = ['nsl', 'socket', 'secdb']) )
-+
-         # Thomas Heller's _ctypes module
-         self.detect_ctypes(inc_dirs, lib_dirs)
- 
-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,290 @@
-+#!/usr/bin/python2.6
-+#
-+# CDDL HEADER START
-+#
-+# The contents of this file are subject to the terms of the
-+# Common Development and Distribution License (the "License").
-+# You may not use this file except in compliance with the License.
-+#
-+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+# or http://www.opensolaris.org/os/licensing.
-+# See the License for the specific language governing permissions
-+# and limitations under the License.
-+#
-+# When distributing Covered Code, include this CDDL HEADER in each
-+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+# If applicable, add the following below this CDDL HEADER, with the
-+# fields enclosed by brackets "[]" replaced with your own identifying
-+# information: Portions Copyright [yyyy] [name of copyright owner]
-+#
-+# CDDL HEADER END
-+#
-+
-+# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
-+# Use is subject to license terms.
-+
-+import privileges
-+import rbac
-+import os
-+import sys
-+import tempfile
-+
-+# privileges tests
-+
-+def test_setppriv():
-+    amchild = os.fork()
-+    if amchild == 0:
-+        if privileges.setppriv(privileges.PRIV_OFF, privileges.PRIV_EFFECTIVE, 
-+            ['proc_fork']):
-+            try:
-+                os.fork()
-+                sys.exit(1)
-+            except OSError, e:
-+                sys.exit(0)
-+
-+    child = os.wait()
-+    if child[1] is not 0:
-+        print "setppriv. Bad exit status from pid %i\n" % child[0]
-+        return False
-+    return True
-+
-+def test_getppriv():
-+    if 'proc_fork' in privileges.getppriv(privileges.PRIV_LIMIT):
-+        return True
-+    print "getppriv or PRIV_PROC_FORK not in PRIV_LIMIT.\n"
-+    return False
-+
-+def test_priv_ineffect():
-+    if privileges.priv_ineffect('proc_fork'):
-+        return True
-+    print "priv_ineffect or PRIV_PROC_FORK not in effect\n"
-+    return False
-+
-+# authattr tests
-+
-+def test_chkauthattr():
-+    try:
-+        a = rbac.authattr()
-+    except Exception, e:
-+        print "Could not instantiate authattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.chkauthattr('solaris.*', 'root')
-+    except Exception, e:
-+        print "chkauthattr failed: %s\n" % e
-+        return False
-+    if not res:
-+        print "chkauthattr failed or \'root\' lacks \'solaris.*\'\n"
-+        return False
-+    return True
-+
-+def test_getauthattr():
-+    try:
-+        a = rbac.authattr()
-+    except Exception, e:
-+        print "Could not instantiate authattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.getauthattr()
-+    except Exception, e:
-+        print "getauthattr failed: %s\n" % e
-+        return False
-+    if not 'name' in res.keys():
-+        print "getauthattr failed\n"
-+        return False
-+    return True
-+
-+def test_getauthnam():
-+    try:
-+        a = rbac.authattr()
-+    except Exception, e:
-+        print "Could not instantiate authattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.getauthnam('solaris.')
-+    except Exception, e:
-+        print "getauthnam failed: %s\n" % e
-+        return False
-+    if not res:
-+        print "getauthnam failed or \'solaris.\' not in auth_attr(4)\n"
-+        return False
-+    return True
-+
-+def test_authattr_iter():
-+    try:
-+        a = rbac.authattr()
-+    except Exception, e:
-+        print "Could not instantiate authattr object: %s\n" % e
-+        return False
-+    res = a.next()
-+    if not 'name' in res.keys() or type(a) != type(a.__iter__()):
-+        print "authattr object is not an iterable\n"
-+        return False
-+    return True
-+
-+# execattr tests
-+
-+def test_getexecattr():
-+    try:
-+        a = rbac.execattr()
-+    except Exception, e:
-+        print "Could not instantiate execattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.getexecattr()
-+    except Exception, e:
-+        print "getexecattr failed: %s\n" % e
-+        return False
-+    if not 'name' in res.keys():
-+        print "getexecattr failed\n"
-+        return False
-+    return True
-+
-+def test_getexecuser():
-+    try:
-+        a = rbac.execattr()
-+    except Exception, e:
-+        print "Could not instantiate execattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.getexecuser("root", "act", "*;*;*;*;*")
-+    except Exception, e:
-+        print "getexecuser failed: %s\n" % e
-+        return False
-+    if not res:
-+        print "getexecuser failed or \'root\' not assigned to \'act\', " \
-+            "\'*;*;*;*;*\' \n"
-+        return False
-+    return True
-+
-+
-+def test_getexecprof():
-+    try:
-+        a = rbac.execattr()
-+    except Exception, e:
-+        print "Could not instantiate execattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.getexecprof("All", "cmd", "*")
-+    except Exception, e:
-+        print "getexecprof failed: %s\n" % e
-+        return False
-+    if not res:
-+        print "getexecprof failed or \'All\' not granted \'cmd\' : \'*\'\n"
-+        return False
-+    return True
-+
-+def test_execattr_iter():
-+    try:
-+        a = rbac.execattr()
-+    except Exception, e:
-+        print "Could not instantiate execattr object: %s\n" % e
-+        return False
-+    res = a.next()
-+    if not 'name' in res.keys() or type(a) != type(a.__iter__()):
-+        print "execattr object is not an iterable\n"
-+        return False
-+    return True
-+
-+# userattr tests
-+
-+def test_getuserattr():
-+    try:
-+        a = rbac.userattr()
-+    except Exception, e:
-+        print "Could not instantiate userattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.getuserattr()
-+    except Exception, e:
-+        print "getuserattr failed: %s\n" % e
-+        return False
-+    if not 'name' in res.keys():
-+        print "getuserattr failed\n"
-+        return False
-+    return True
-+
-+def test_fgetuserattr():
-+    temp = tempfile.NamedTemporaryFile()
-+    temp.write("user::::profiles=Software Installation;roles=foo;"\
-+        "auths=solaris.foo.bar")
-+    temp.seek(0)
-+    try:
-+        a = rbac.userattr()
-+    except Exception, e:
-+        print "Could not instantiate userattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.fgetuserattr(temp.name)
-+        temp.close()    
-+    except Exception, e:
-+        print "fgetuserattr failed: %s\n" % e
-+        temp.close()
-+        return False
-+    if not 'name' in res.keys():
-+        print "fgetuserattr failed\n"
-+        return False
-+    return True
-+
-+def test_getuseruid():
-+    try:
-+        a = rbac.userattr()
-+    except Exception, e:
-+        print "Could not instantiate userattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.getuseruid(0)
-+    except Exception, e:
-+        print "getusernam failed: %s\n" % e
-+        return False
-+    if not 'name' in res:
-+        print "getusernam failed or no uid 0\n"
-+        return False
-+    return True
-+
-+def test_getusernam():
-+    try:
-+        a = rbac.userattr()
-+    except Exception, e:
-+        print "Could not instantiate userattr object: %s\n" % e
-+        return False
-+    try:
-+        res = a.getusernam('root')
-+    except Exception, e:
-+        print "getusernam failed: %s\n" % e
-+        return False
-+    if not 'name' in res:
-+        print "getusernam failed or no \'root\' user\n"
-+        return False
-+    return True
-+
-+def test_userattr_iter():
-+    try:
-+        a = rbac.userattr()
-+    except Exception, e:
-+        print "Could not instantiate userattr object: %s\n" % e
-+        return False
-+    res = a.next()
-+    if not 'name' in res.keys() or type(a) != type(a.__iter__()):
-+        print "userattr object is not an iterable\n"
-+        return False
-+    return True
-+
-+if not test_setppriv() or not test_getppriv() or not test_priv_ineffect():
-+    print "*** Failures detected in privileges module\n"    
-+    sys.exit(1)
-+
-+if not test_getauthattr() or not test_chkauthattr() or not test_getauthnam() \
-+    or not test_authattr_iter:
-+    print "*** Failures detected in rbac.authattr\n"
-+    sys.exit(1)
-+
-+if not test_getexecattr() or not test_getexecuser() or not test_getexecprof() \
-+    or not test_execattr_iter():
-+    print "*** Failures detected in rbac.execattr\n"
-+    sys.exit(1)
-+
-+if not test_getuserattr() or not test_fgetuserattr() or not test_getusernam()\
-+    or not test_getuseruid() or not test_userattr_iter():
-+    print "*** Failures detected in rbac.userattr\n"
-+    sys.exit(1)
--- a/components/python/python26/patches/Python26-17-netpacket-packet-h.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-diff --git Python-2.6.4/Modules/socketmodule.c Python-2.6.4/Modules/socketmodule.c
---- Python-2.6.4/Modules/socketmodule.c
-+++ Python-2.6.4/Modules/socketmodule.c
-@@ -81,6 +81,14 @@
- 
- */
- 
-+#ifdef HAVE_NETPACKET_PACKET_H
-+#ifdef sun
-+#define USE_NETPACKET_PACKET_H 0
-+#else
-+#define USE_NETPACKET_PACKET_H 1
-+#endif
-+#endif
-+
- #ifdef __APPLE__
-   /*
-    * inet_aton is not available on OSX 10.3, yet we want to use a binary
-@@ -1096,7 +1104,7 @@
-         }
- #endif
- 
--#ifdef HAVE_NETPACKET_PACKET_H
-+#if USE_NETPACKET_PACKET_H
-     case AF_PACKET:
-     {
-         struct sockaddr_ll *a = (struct sockaddr_ll *)addr;
-@@ -1387,7 +1395,7 @@
-     }
- #endif
- 
--#ifdef HAVE_NETPACKET_PACKET_H
-+#if USE_NETPACKET_PACKET_H
-     case AF_PACKET:
-     {
-         struct sockaddr_ll* addr;
-@@ -1564,7 +1572,7 @@
-     }
- #endif
- 
--#ifdef HAVE_NETPACKET_PACKET_H
-+#if USE_NETPACKET_PACKET_H
-     case AF_PACKET:
-     {
-         *len_ret = sizeof (struct sockaddr_ll);
-@@ -4599,7 +4607,7 @@
-     PyModule_AddStringConstant(m, "BDADDR_LOCAL", "00:00:00:FF:FF:FF");
- #endif
- 
--#ifdef HAVE_NETPACKET_PACKET_H
-+#if USE_NETPACKET_PACKET_H
-     PyModule_AddIntConstant(m, "AF_PACKET", AF_PACKET);
-     PyModule_AddIntConstant(m, "PF_PACKET", PF_PACKET);
-     PyModule_AddIntConstant(m, "PACKET_HOST", PACKET_HOST);
--- a/components/python/python26/patches/Python26-18-readline.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-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
-@@ -572,6 +572,14 @@
-                 # This way a staticly linked custom readline gets picked up
-                 # before the (broken) dynamic library in /usr/lib.
-                 readline_extra_link_args = ('-Wl,-search_paths_first',)
-+            elif sys.platform == 'sunos5':
-+                if sys.maxint != 9223372036854775807L:
-+                    readline_extra_link_args = ('-Wl,-zrecord,-L/usr/gnu/lib,-R/usr/gnu/lib,-lreadline,-lncurses',)
-+                else:
-+                    if os.path.exists('/usr/gnu/lib/sparcv9'):
-+                        readline_extra_link_args = ('-Wl,-zrecord,-L/usr/gnu/lib/sparcv9,-R/usr/gnu/lib/sparcv9,-lreadline,-lncurses',)
-+                    else:
-+                        readline_extra_link_args = ('-Wl,-zrecord,-L/usr/gnu/lib/amd64,-R/usr/gnu/lib/amd64,-lreadline,-lncurses',)
-             else:
-                 readline_extra_link_args = ()
- 
-@@ -588,6 +596,12 @@
-                                                ['/usr/lib/termcap'],
-                                                'termcap'):
-                 readline_libs.append('termcap')
-+
-+            if sys.platform == 'sunos5':
-+                # ugly hack to make the build respect -zrecord set in
-+                # readline_extra_link_args above
-+                readline_libs = []
-+
-             exts.append( Extension('readline', ['readline.c'],
-                                    library_dirs=['/usr/lib/termcap'],
-                                    extra_link_args=readline_extra_link_args,
--- a/components/python/python26/patches/Python26-19-ext-stdio.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-diff --git Python-2.6.4/Modules/python.c Python-2.6.4/Modules/python.c
---- Python-2.6.4/Modules/python.c
-+++ Python-2.6.4/Modules/python.c
-@@ -6,6 +6,13 @@
- #include <floatingpoint.h>
- #endif
- 
-+#if defined(sun) && defined(__SVR4) && !defined(_LP64)
-+#define USE_EXTENDED_FILE_STDIO 1
-+#include <stdio.h>
-+#include <stdio_ext.h>
-+#include <signal.h>
-+#endif
-+
- int
- main(int argc, char **argv)
- {
-@@ -20,5 +27,16 @@
- 	m = fpgetmask();
- 	fpsetmask(m & ~FP_X_OFL);
- #endif
-+#ifdef USE_EXTENDED_FILE_STDIO
-+	/* enable extended FILE facility on Solaris so that Python
-+           apps can keep more than 256 file descriptors open */
-+	struct rlimit rlp;
-+	(void) getrlimit(RLIMIT_NOFILE, &rlp);
-+	rlp.rlim_cur = rlp.rlim_max;
-+	if (setrlimit(RLIMIT_NOFILE, &rlp) != -1) {
-+		enable_extended_FILE_stdio(-1, 0);
-+	}
-+#endif
-+
- 	return Py_Main(argc, argv);
- }
--- a/components/python/python26/patches/Python26-20-py_db.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,949 +0,0 @@
-This patch adds Python debugger support.  It may be contributed upstream at
-some point, but the suitability (or lack thereof) has not yet been determined.
-
---- Python-2.6.8/Makefile.pre.in.~4~	2014-11-11 14:12:28.159605507 -0800
-+++ Python-2.6.8/Makefile.pre.in	2014-11-11 14:12:28.295152443 -0800
-@@ -355,7 +355,7 @@
- 
- # Default target
- all:		build_all
--build_all:	$(BUILDPYTHON) oldsharedmods sharedmods
-+build_all:	$(BUILDPYTHON) oldsharedmods sharedmods build-py_db
- 
- # Compile a binary with gcc profile guided optimization.
- profile-opt:
-@@ -678,6 +678,16 @@
- 
- $(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
- 
-+SHLIB_FLAGS = -shared -fpic -M $(srcdir)/py_db/mapfile-vers
-+
-+libpython2.6_db.so.1.0:	$(srcdir)/py_db/libpython26_db.c
-+	$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(SHLIB_FLAGS) $<
-+
-+build-py_db:	libpython2.6_db.so.1.0
-+
-+install-py_db:	libpython2.6_db.so.1.0
-+	$(INSTALL_SHARED) libpython2.6_db.so.1.0 $(DESTDIR)$(LIBDIR)
-+
- install-pycc:	$(srcdir)/pycc
- 	$(INSTALL_SCRIPT) $< $(DESTDIR)$(BINLIBDEST)
- 
-@@ -743,7 +753,7 @@
- 		$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
- 
- # Install everything
--install:	@FRAMEWORKINSTALLFIRST@ altinstall bininstall maninstall @FRAMEWORKINSTALLLAST@ install-pycc
-+install:	@FRAMEWORKINSTALLFIRST@ altinstall bininstall maninstall @FRAMEWORKINSTALLLAST@ install-py_db install-pycc
- 
- # Install almost everything without disturbing previous versions
- altinstall:	@FRAMEWORKALTINSTALLFIRST@ altbininstall libinstall inclinstall libainstall \
---- /dev/null
-+++ Python-2.6.4/py_db/libpython26_db.c
-@@ -0,0 +1,655 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+/*
-+ * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <errno.h>
-+#include <gelf.h>
-+
-+#include <Python.h>
-+#include <frameobject.h>
-+
-+#include "libpython26_db.h"
-+#if defined(_LP64)
-+#include "libpython26_db_32.h"
-+#endif /* _LP64 */
-+
-+/*
-+ * Because MDB always runs the debugger in the same datamodel as the target,
-+ * only functions that are used by the procfs part of this interface (or shared
-+ * between the two) are written as 64->32 aware.
-+ */
-+typedef struct pydb_arch_ops {
-+	ssize_t	(*strobj_readdata)(pydb_agent_t *, uintptr_t, unsigned char *,
-+	    size_t);
-+	int	(*frameinfo)(pydb_agent_t *, uintptr_t, char *,
-+	    size_t, char *, size_t, int *);
-+} pydb_arch_ops_t;
-+
-+struct pydb_agent {
-+	struct ps_prochandle *pdb_ph;
-+	int pdb_vers;
-+	int pdb_is_64bit;
-+	int pdb_datamodel;
-+	const pydb_arch_ops_t *pdb_ops;
-+};
-+
-+typedef uintptr_t (*pdi_next_cb_t)(pydb_iter_t *);
-+
-+struct pydb_iter {
-+	struct ps_prochandle *pdi_ph;
-+	uintptr_t pdi_current;
-+	pdi_next_cb_t pdi_nextf;
-+};
-+
-+#define	LIBPYTHON	"libpython2.6.so"
-+
-+#define	MIN(x, y)	(((x) < (y)) ? (x) : (y))
-+
-+/* Generic interface to helper functions */
-+static ssize_t pydb_strobj_readdata(pydb_agent_t *py, uintptr_t addr,
-+    unsigned char *buf, size_t buf_len);
-+static int pydb_getlno(pydb_agent_t *py, uintptr_t lnotab_addr, int firstline,
-+    int lastinst);
-+static int pydb_frameinfo(pydb_agent_t *py, uintptr_t addr, char *funcnm,
-+    size_t funcnm_sz, char *filenm, size_t filenm_sz, int *lineno);
-+
-+/* datamodel specific implementation of helper functions */
-+static ssize_t pydb_strobj_readdata_native(pydb_agent_t *py, uintptr_t addr,
-+    unsigned char *buf, size_t buf_len);
-+static int pydb_frameinfo_native(pydb_agent_t *py, uintptr_t addr, char *funcnm,
-+    size_t funcnm_sz, char *filenm, size_t filenm_sz, int *lineno);
-+
-+#if defined (_LP64)
-+static ssize_t pydb_strobj_readdata_32(pydb_agent_t *py, uintptr_t addr,
-+    unsigned char *buf, size_t buf_len);
-+static int pydb_frameinfo_32(pydb_agent_t *py, uintptr_t addr, char *funcnm,
-+    size_t funcnm_sz, char *filenm, size_t filenm_sz, int *lineno);
-+#endif /* _LP64 */
-+
-+static ssize_t pydb_strobj_readstr(pydb_agent_t *py, uintptr_t addr, char *buf,
-+    size_t len);
-+
-+/* Iterator function next routines.  Plugable, configured by iterator init */
-+static uintptr_t pydb_frame_iter_next(pydb_iter_t *iter);
-+static uintptr_t pydb_interp_iter_next(pydb_iter_t *iter);
-+static uintptr_t pydb_thread_iter_next(pydb_iter_t *iter);
-+
-+static const char *strbasename(const char *s);
-+
-+static const pydb_arch_ops_t arch_ops_native = {
-+	.frameinfo = pydb_frameinfo_native,
-+	.strobj_readdata = pydb_strobj_readdata_native,
-+};
-+
-+#if defined (_LP64)
-+static const pydb_arch_ops_t arch_ops_32 = {
-+	.frameinfo = pydb_frameinfo_32,
-+	.strobj_readdata = pydb_strobj_readdata_32,
-+};
-+#endif /* _LP64 */
-+
-+static const char *
-+strbasename(const char *s)
-+{
-+	const char *p = strrchr(s, '/');
-+
-+	if (p == NULL)
-+		return (s);
-+
-+	return (++p);
-+}
-+
-+/* Agent creation / destruction routines */
-+
-+pydb_agent_t *
-+pydb_agent_create(struct ps_prochandle *P, int vers)
-+{
-+	pydb_agent_t *py;
-+	int datamodel;
-+
-+	if (vers != PYDB_VERSION) {
-+		errno = ENOTSUP;
-+		return (NULL);
-+	}
-+
-+	if (ps_pdmodel(P, &datamodel) != PS_OK) {
-+		return (NULL);
-+	}
-+
-+	py = (pydb_agent_t *)malloc(sizeof (pydb_agent_t));
-+	if (py == NULL) {
-+		return (NULL);
-+	}
-+
-+	py->pdb_ph = P;
-+	py->pdb_vers = vers;
-+	py->pdb_datamodel = datamodel;
-+	py->pdb_is_64bit = 0;
-+	py->pdb_ops = &arch_ops_native;
-+
-+#if defined (_LP64)
-+	py->pdb_is_64bit = (datamodel == PR_MODEL_LP64);
-+	if (!py->pdb_is_64bit) {
-+		py->pdb_ops = &arch_ops_32;
-+	}
-+#endif /* _LP64 */
-+
-+	return (py);
-+}
-+
-+void
-+pydb_agent_destroy(pydb_agent_t *py)
-+{
-+	if (py == NULL) {
-+		return;
-+	}
-+
-+	free(py);
-+}
-+
-+/* Helper functions */
-+static int
-+pydb_getlno(pydb_agent_t *py, uintptr_t lnotab_addr, int firstline,
-+    int lastinst)
-+{
-+	unsigned char lnotab[4096];
-+	ssize_t lnotab_len;
-+	int addr, line;
-+	int i;
-+
-+	lnotab_len = pydb_strobj_readdata(py, lnotab_addr, lnotab,
-+	    sizeof (lnotab));
-+	if (lnotab_len < 0) {
-+		return (-1);
-+	}
-+
-+	/*
-+	 * Python's line number algorithm is arcane. See here for details:
-+	 * http://svn.python.org/projects/python/trunk/Objects/lnotab_notes.txt
-+	 */
-+
-+	line = firstline;
-+	for (addr = i = 0; i < lnotab_len; i += 2) {
-+		if (addr + lnotab[i] > lastinst) {
-+			break;
-+		}
-+		addr += lnotab[i];
-+		line += lnotab[i + 1];
-+	}
-+
-+	return (line);
-+}
-+
-+static ssize_t
-+pydb_strobj_readdata(pydb_agent_t *py, uintptr_t addr, unsigned char *buf,
-+    size_t buf_len)
-+{
-+	return (py->pdb_ops->strobj_readdata(py, addr, buf, buf_len));
-+}
-+
-+static ssize_t
-+pydb_strobj_readdata_native(pydb_agent_t *py, uintptr_t addr,
-+    unsigned char *buf, size_t buf_len)
-+{
-+	PyStringObject sobj;
-+	ssize_t obj_sz;
-+	ssize_t read_sz;
-+	psaddr_t straddr;
-+
-+	/*
-+	 * PyStringObjects are variable size.  The size of the PyStringObject
-+	 * struct is fixed, and known at compile time; however, the size of the
-+	 * associated buffer is variable.  The char[1] element at the end of the
-+	 * structure contains the string, and the ob_size of the PyStringObject
-+	 * indicates how much extra space was allocated to contain the string
-+	 * buffer at the object's tail.  Read in the fixed size portion of the
-+	 * object first, and then read the contents of the data buffer into the
-+	 * buffer passed by the caller.
-+	 */
-+
-+	if (ps_pread(py->pdb_ph, addr, &sobj, sizeof (PyStringObject))
-+	    != PS_OK) {
-+		return (-1);
-+	}
-+
-+	obj_sz = (ssize_t)PyString_GET_SIZE(&sobj);
-+
-+	read_sz = MIN(obj_sz, (ssize_t)buf_len);
-+	straddr = (psaddr_t)(addr + offsetof(PyStringObject, ob_sval));
-+
-+	if (ps_pread(py->pdb_ph, straddr, buf, (size_t)read_sz) != PS_OK) {
-+		return (-1);
-+	}
-+
-+	return (read_sz);
-+}
-+
-+#if defined(_LP64)
-+static ssize_t
-+pydb_strobj_readdata_32(pydb_agent_t *py, uintptr_t addr,
-+    unsigned char *buf, size_t buf_len)
-+{
-+	PyStringObject32 sobj;
-+	ssize_t obj_sz;
-+	ssize_t read_sz;
-+	psaddr_t straddr;
-+
-+	/*
-+	 * PyStringObjects are variable size.  The size of the PyStringObject
-+	 * struct is fixed, and known at compile time; however, the size of the
-+	 * associated buffer is variable.  The char[1] element at the end of the
-+	 * structure contains the string, and the ob_size of the PyStringObject
-+	 * indicates how much extra space was allocated to contain the string
-+	 * buffer at the object's tail.  Read in the fixed size portion of the
-+	 * object first, and then read the contents of the data buffer into the
-+	 * buffer passed by the caller.
-+	 */
-+
-+	if (ps_pread(py->pdb_ph, addr, &sobj, sizeof (PyStringObject32))
-+	    != PS_OK) {
-+		return (-1);
-+	}
-+
-+	obj_sz = (ssize_t)PyString_GET_SIZE32(&sobj);
-+
-+	read_sz = MIN(obj_sz, (ssize_t)buf_len);
-+	straddr = (psaddr_t)(addr + offsetof(PyStringObject32, ob_sval));
-+
-+	if (ps_pread(py->pdb_ph, straddr, buf, (size_t)read_sz) != PS_OK) {
-+		return (-1);
-+	}
-+
-+	return (read_sz);
-+}
-+#endif /* _LP64 */
-+
-+/*
-+ * Most Python PyStringObjects contain strings, as one would expect.  However,
-+ * due to some sleazy hackery in parts of the Python code, some string objects
-+ * are used as buffers for binary data.  In the general case,
-+ * pydb_strobj_readstr() should be used to read strings out of string objects.
-+ * It wraps pydb_strobj_readdata(), which should be used by callers only when
-+ * trying to retrieve binary data.  (This routine does some string cleanup).
-+ */
-+static ssize_t
-+pydb_strobj_readstr(pydb_agent_t *py, uintptr_t addr, char *buf,
-+    size_t buf_len)
-+{
-+	ssize_t read_sz;
-+
-+	read_sz = pydb_strobj_readdata(py, addr, (unsigned char *)buf, buf_len);
-+
-+	if (read_sz >= 0) {
-+		if (read_sz >= buf_len) {
-+			read_sz = buf_len - 1;
-+		}
-+
-+		buf[read_sz] = '\0';
-+	}
-+
-+	return (read_sz);
-+}
-+
-+
-+static int
-+pydb_frameinfo(pydb_agent_t *py, uintptr_t addr, char *funcnm,
-+    size_t funcnm_sz, char *filenm, size_t filenm_sz, int *lineno)
-+{
-+	return (py->pdb_ops->frameinfo(py, addr, funcnm, funcnm_sz,
-+	    filenm, filenm_sz, lineno));
-+}
-+
-+static int
-+pydb_frameinfo_native(pydb_agent_t *py, uintptr_t addr, char *funcnm,
-+    size_t funcnm_sz, char *filenm, size_t filenm_sz, int *lineno)
-+{
-+	PyFrameObject fo;
-+	PyCodeObject co;
-+	ssize_t rc;
-+
-+	if (ps_pread(py->pdb_ph, addr, &fo, sizeof (PyFrameObject))
-+	    != PS_OK) {
-+		return (-1);
-+	}
-+
-+	if (ps_pread(py->pdb_ph, (uintptr_t)fo.f_code, &co,
-+	    sizeof (PyCodeObject)) != PS_OK) {
-+		return (-1);
-+	}
-+
-+	rc = pydb_strobj_readstr(py, (uintptr_t)co.co_name, funcnm, funcnm_sz);
-+	if (rc < 0) {
-+		return (-1);
-+	}
-+
-+	rc = pydb_strobj_readstr(py, (uintptr_t)co.co_filename, filenm,
-+	    filenm_sz);
-+	if (rc < 0) {
-+		return (-1);
-+	}
-+
-+	*lineno = pydb_getlno(py, (uintptr_t)co.co_lnotab, co.co_firstlineno,
-+	    fo.f_lasti);
-+	if (*lineno < 0) {
-+		return (-1);
-+	}
-+
-+	return (0);
-+}
-+
-+#if defined (_LP64)
-+static int
-+pydb_frameinfo_32(pydb_agent_t *py, uintptr_t addr, char *funcnm,
-+    size_t funcnm_sz, char *filenm, size_t filenm_sz, int *lineno)
-+{
-+	PyFrameObject32 fo;
-+	PyCodeObject32 co;
-+	ssize_t rc;
-+
-+	if (ps_pread(py->pdb_ph, addr, &fo, sizeof (PyFrameObject32))
-+	    != PS_OK) {
-+		return (-1);
-+	}
-+
-+	if (ps_pread(py->pdb_ph, (uintptr_t)fo.f_code, &co,
-+	    sizeof (PyCodeObject32)) != PS_OK) {
-+		return (-1);
-+	}
-+
-+	rc = pydb_strobj_readstr(py, (uintptr_t)co.co_name, funcnm, funcnm_sz);
-+	if (rc < 0) {
-+		return (-1);
-+	}
-+
-+	rc = pydb_strobj_readstr(py, (uintptr_t)co.co_filename, filenm,
-+	    filenm_sz);
-+	if (rc < 0) {
-+		return (-1);
-+	}
-+
-+	*lineno = pydb_getlno(py, (uintptr_t)co.co_lnotab, co.co_firstlineno,
-+	    fo.f_lasti);
-+	if (*lineno < 0) {
-+		return (-1);
-+	}
-+
-+	return (0);
-+}
-+
-+#endif /* _LP64 */
-+
-+/* Functions that are part of the library's interface */
-+
-+/*
-+ * Given the address of a PyFrameObject, and a buffer of a known size,
-+ * fill the buffer with a description of the frame.
-+ */
-+int
-+pydb_get_frameinfo(pydb_agent_t *py, uintptr_t frame_addr, char *fbuf,
-+    size_t bufsz, int verbose)
-+{
-+	char funcname[1024];
-+	char filename[1024];
-+	char *fn;
-+	int lineno;
-+	int length = (py->pdb_is_64bit ? 16 : 8);
-+	int rc;
-+
-+	rc = pydb_frameinfo(py, frame_addr, funcname, sizeof (funcname),
-+	    filename, sizeof (filename), &lineno);
-+	if (rc < 0) {
-+		return (-1);
-+	}
-+
-+	if (!verbose) {
-+		fn = (char *)strbasename(filename);
-+	} else {
-+		fn = filename;
-+	}
-+
-+	(void) snprintf(fbuf, bufsz, "%0.*lx %s:%d %s()\n", length,
-+	    frame_addr, fn, lineno, funcname);
-+
-+	return (0);
-+}
-+
-+/*
-+ * Return a description about a PyFrameObject, if the object is
-+ * actually a PyFrameObject.  In this case, the pc argument is checked
-+ * to make sure that it came from a function that takes a PyFrameObject
-+ * as its first (argv[0]) argument.
-+ */
-+int
-+pydb_pc_frameinfo(pydb_agent_t *py, uintptr_t pc, uintptr_t frame_addr,
-+    char *fbuf, size_t bufsz)
-+{
-+	char funcname[1024];
-+	char filename[1024];
-+	int lineno;
-+	int rc;
-+	ps_sym_t psym;
-+
-+	/*
-+	 * If PC doesn't match PyEval_EvalFrameEx in either libpython
-+	 * or the executable, don't decode it.
-+	 */
-+	if (ps_pglobal_sym(py->pdb_ph, LIBPYTHON, "PyEval_EvalFrameEx", &psym)
-+	    != PS_OK) {
-+		return (-1);
-+	}
-+
-+	/* If symbol found, ensure that PC falls within PyEval_EvalFrameEx. */
-+	if (pc < psym.st_value || pc > psym.st_value + psym.st_size) {
-+		return (-1);
-+	}
-+
-+	rc = pydb_frameinfo(py, frame_addr, funcname, sizeof (funcname),
-+	    filename, sizeof (filename), &lineno);
-+	if (rc < 0) {
-+		return (-1);
-+	}
-+
-+	(void) snprintf(fbuf, bufsz, "[ %s:%d (%s) ]\n", filename, lineno,
-+	    funcname);
-+
-+	return (0);
-+}
-+
-+/*
-+ * Walks the list of PyInterpreterState objects.  If caller doesn't
-+ * supply address of list, this method will look it up.
-+ */
-+pydb_iter_t *
-+pydb_interp_iter_init(pydb_agent_t *py, uintptr_t addr)
-+{
-+	pydb_iter_t *itr;
-+	uintptr_t i_addr;
-+	int rc;
-+
-+	if (addr == 0) {
-+		rc = ps_pglobal_lookup(py->pdb_ph, LIBPYTHON, "interp_head",
-+		    (psaddr_t *)&addr);
-+		if (rc != PS_OK) {
-+			return (NULL);
-+		}
-+	}
-+
-+	if (ps_pread(py->pdb_ph, (uintptr_t)addr, &i_addr, sizeof (uintptr_t))
-+	    != PS_OK) {
-+		return (NULL);
-+	}
-+
-+	itr = malloc(sizeof (pydb_iter_t));
-+	if (itr == NULL) {
-+		return (NULL);
-+	}
-+
-+	itr->pdi_ph = py->pdb_ph;
-+	itr->pdi_current = i_addr;
-+	itr->pdi_nextf = pydb_interp_iter_next;
-+
-+	return (itr);
-+}
-+
-+static uintptr_t
-+pydb_interp_iter_next(pydb_iter_t *iter)
-+{
-+	PyInterpreterState st;
-+	uintptr_t cur;
-+
-+	cur = iter->pdi_current;
-+
-+	if (cur == 0) {
-+		return (cur);
-+	}
-+
-+	if (ps_pread(iter->pdi_ph, cur, &st, sizeof (PyInterpreterState))
-+	    != PS_OK) {
-+		iter->pdi_current = 0;
-+		return (0);
-+	}
-+
-+	iter->pdi_current = (uintptr_t)st.next;
-+
-+	return (cur);
-+}
-+
-+/*
-+ * Walk a list of Python PyFrameObjects.  The addr argument must be
-+ * the address of a valid PyThreadState object.
-+ */
-+pydb_iter_t *
-+pydb_frame_iter_init(pydb_agent_t *py, uintptr_t addr)
-+{
-+	pydb_iter_t *itr;
-+	PyThreadState ts;
-+
-+	if (ps_pread(py->pdb_ph, (uintptr_t)addr, &ts, sizeof (PyThreadState))
-+	    != PS_OK) {
-+		return (NULL);
-+	}
-+
-+	itr = malloc(sizeof (pydb_iter_t));
-+	if (itr == NULL) {
-+		return (NULL);
-+	}
-+
-+	itr->pdi_ph = py->pdb_ph;
-+	itr->pdi_current = (uintptr_t)ts.frame;
-+	itr->pdi_nextf = pydb_frame_iter_next;
-+
-+	return (itr);
-+}
-+
-+static uintptr_t
-+pydb_frame_iter_next(pydb_iter_t *iter)
-+{
-+	PyFrameObject fo;
-+	uintptr_t cur;
-+
-+	cur = iter->pdi_current;
-+
-+	if (cur == 0) {
-+		return (cur);
-+	}
-+
-+	if (ps_pread(iter->pdi_ph, cur, &fo, sizeof (PyFrameObject))
-+	    != PS_OK) {
-+		iter->pdi_current = 0;
-+		return (0);
-+	}
-+
-+	iter->pdi_current = (uintptr_t)fo.f_back;
-+
-+	return (cur);
-+}
-+
-+/*
-+ * Walk a list of Python PyThreadState objects.  The addr argument must be
-+ * the address of a valid PyInterpreterState object.
-+ */
-+pydb_iter_t *
-+pydb_thread_iter_init(pydb_agent_t *py, uintptr_t addr)
-+{
-+	pydb_iter_t *itr;
-+	PyInterpreterState is;
-+
-+	if (ps_pread(py->pdb_ph, (uintptr_t)addr, &is,
-+	    sizeof (PyInterpreterState)) != PS_OK) {
-+		return (NULL);
-+	}
-+
-+	itr = malloc(sizeof (pydb_iter_t));
-+	if (itr == NULL) {
-+		return (NULL);
-+	}
-+
-+	itr->pdi_ph = py->pdb_ph;
-+	itr->pdi_current = (uintptr_t)is.tstate_head;
-+	itr->pdi_nextf = pydb_thread_iter_next;
-+
-+	return (itr);
-+}
-+
-+static uintptr_t
-+pydb_thread_iter_next(pydb_iter_t *iter)
-+{
-+	PyThreadState ts;
-+	uintptr_t cur;
-+
-+	cur = iter->pdi_current;
-+
-+	if (cur == 0) {
-+		return (cur);
-+	}
-+
-+	if (ps_pread(iter->pdi_ph, cur, &ts, sizeof (PyThreadState)) != PS_OK) {
-+		iter->pdi_current = 0;
-+		return (0);
-+	}
-+
-+	iter->pdi_current = (uintptr_t)ts.next;
-+
-+	return (cur);
-+}
-+
-+
-+uintptr_t
-+pydb_iter_next(pydb_iter_t *iter)
-+{
-+	return (iter->pdi_nextf(iter));
-+}
-+
-+void
-+pydb_iter_fini(pydb_iter_t *iter)
-+{
-+	if (iter == NULL) {
-+		return;
-+	}
-+
-+	free(iter);
-+}
-diff --git Python-2.6.4/py_db/libpython26_db.h Python-2.6.4/py_db/libpython26_db.h
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/py_db/libpython26_db.h
-@@ -0,0 +1,74 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+/*
-+ * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+#ifndef	_LIBPYTHON26_DB_H
-+#define	_LIBPYTHON26_DB_H
-+
-+#include <proc_service.h>
-+
-+#ifdef	__cplusplus
-+extern "C" {
-+#endif
-+
-+/* Agent is opaque to library's consumers.  */
-+typedef struct pydb_agent pydb_agent_t;
-+
-+/*
-+ * Library's debug version is 1.  Changes to interface should increase this
-+ * number.
-+ */
-+#define	PYDB_VERSION	1
-+
-+/* Agent creation/destruction routines */
-+extern	pydb_agent_t	*pydb_agent_create(struct ps_prochandle *P, int vers);
-+extern	void		pydb_agent_destroy(pydb_agent_t *py);
-+
-+/* Used by callers that know they are looking at a PyFrameObject */
-+extern	int	pydb_get_frameinfo(pydb_agent_t *py, uintptr_t frame_addr,
-+    char *fbuf, size_t bufsz, int verbose);
-+
-+/*
-+ * Used by callers that don't know if they're looking at PyFrameObject.
-+ * Checks PC for traceable functions.
-+ */
-+extern	int	pydb_pc_frameinfo(pydb_agent_t *py, uintptr_t pc,
-+    uintptr_t frame_addr, char *fbuf, size_t bufsz);
-+
-+/* Iterator functions */
-+typedef struct pydb_iter pydb_iter_t;
-+
-+extern	pydb_iter_t	*pydb_frame_iter_init(pydb_agent_t *py, uintptr_t addr);
-+extern	pydb_iter_t	*pydb_interp_iter_init(pydb_agent_t *py,
-+    uintptr_t addr);
-+extern	pydb_iter_t	*pydb_thread_iter_init(pydb_agent_t *py,
-+    uintptr_t addr);
-+extern	void		pydb_iter_fini(pydb_iter_t *iter);
-+extern	uintptr_t	pydb_iter_next(pydb_iter_t *iter);
-+
-+#ifdef	__cplusplus
-+}
-+#endif
-+
-+#endif	/* _LIBPYTHON26_DB_H */
-diff --git Python-2.6.4/py_db/libpython26_db_32.h Python-2.6.4/py_db/libpython26_db_32.h
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/py_db/libpython26_db_32.h
-@@ -0,0 +1,122 @@
-+/*
-+ * CDDL HEADER START
-+ *
-+ * The contents of this file are subject to the terms of the
-+ * Common Development and Distribution License (the "License").
-+ * You may not use this file except in compliance with the License.
-+ *
-+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+ * or http://www.opensolaris.org/os/licensing.
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ * When distributing Covered Code, include this CDDL HEADER in each
-+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+ * If applicable, add the following below this CDDL HEADER, with the
-+ * fields enclosed by brackets "[]" replaced with your own identifying
-+ * information: Portions Copyright [yyyy] [name of copyright owner]
-+ *
-+ * CDDL HEADER END
-+ */
-+/*
-+ * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
-+ * Use is subject to license terms.
-+ */
-+
-+#ifndef	_LIBPYTHON26_DB_32_H
-+#define	_LIBPYTHON26_DB_32_H
-+
-+#ifdef	__cplusplus
-+extern "C" {
-+#endif
-+
-+#include <sys/types.h>
-+
-+/*
-+ * Define 32-bit Python data structures for use by the 64-bit debugger.  This
-+ * is so that a 64-bit debugger may properly examine a 32-bit process.
-+ *
-+ * In many cases, the debug library is only concerned with a few fields in the
-+ * Python structure.  In that case, the other ancillary fields are elided.
-+ */
-+
-+typedef uint32_t uintptr32_t;
-+typedef int32_t Py_ssize32_t;
-+
-+typedef struct _is32 {
-+	uintptr32_t	next;
-+	uintptr32_t	tstate_head;
-+} PyInterpreterState32;
-+
-+typedef struct _ts32 {
-+	uintptr32_t	next;
-+	uintptr32_t	interp;
-+	uintptr32_t	frame;
-+} PyThreadState32;
-+
-+#define	PyObject_HEAD32			\
-+	Py_ssize32_t	ob_refcnt;	\
-+	uintptr32_t	ob_type;
-+
-+#define	PyObject_VAR_HEAD32		\
-+	PyObject_HEAD32			\
-+	Py_ssize32_t	ob_size;
-+
-+typedef struct {
-+	PyObject_HEAD32
-+} PyObject32;
-+
-+typedef struct {
-+	PyObject_VAR_HEAD32
-+} PyVarObject32;
-+
-+typedef struct {
-+	PyObject_VAR_HEAD32
-+	int32_t		ob_shash;
-+	int		ob_sstate;
-+	char		ob_sval[1];
-+} PyStringObject32;
-+
-+#define	Py_SIZE32(ob)			(((PyVarObject32*)(ob))->ob_size)
-+#define	PyString_GET_SIZE32(op)		Py_SIZE32(op)
-+#define	PyString_AS_STRING32(op)	(((PyStringObject32 *)(op))->ob_sval)
-+
-+typedef struct {
-+	PyObject_VAR_HEAD32
-+	uintptr32_t	f_back;
-+	uintptr32_t	f_code;
-+	uintptr32_t	f_builtins;
-+	uintptr32_t	f_globals;
-+	uintptr32_t	f_locals;
-+	uintptr32_t	f_valuestack;
-+	uintptr32_t	f_stacktop;
-+	uintptr32_t	f_trace;
-+	uintptr32_t	f_exc_typpe, f_exc_value, f_exc_traceback;
-+	uintptr32_t	f_tstate;
-+	int		f_lasti;
-+	int		f_lineno;
-+} PyFrameObject32;
-+
-+typedef struct {
-+	PyObject_HEAD32
-+	int		co_argcount;
-+	int		co_nlocals;
-+	int		co_stacksize;
-+	int		co_flags;
-+	uintptr32_t	co_code;
-+	uintptr32_t	co_consts;
-+	uintptr32_t	co_names;
-+	uintptr32_t	co_varnames;
-+	uintptr32_t	co_freevars;
-+	uintptr32_t	co_cellvars;
-+	uintptr32_t	co_filename;
-+	uintptr32_t	co_name;
-+	int		co_firstlineno;
-+	uintptr32_t	co_lnotab;
-+} PyCodeObject32;
-+
-+#ifdef	__cplusplus
-+}
-+#endif
-+
-+#endif	/* _LIBPYTHON26_DB_32_H */
-diff --git Python-2.6.4/py_db/mapfile-vers Python-2.6.4/py_db/mapfile-vers
-new file mode 100644
---- /dev/null
-+++ Python-2.6.4/py_db/mapfile-vers
-@@ -0,0 +1,40 @@
-+#
-+# CDDL HEADER START
-+#
-+# The contents of this file are subject to the terms of the
-+# Common Development and Distribution License (the "License").
-+# You may not use this file except in compliance with the License.
-+#
-+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+# or http://www.opensolaris.org/os/licensing.
-+# See the License for the specific language governing permissions
-+# and limitations under the License.
-+#
-+# When distributing Covered Code, include this CDDL HEADER in each
-+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+# If applicable, add the following below this CDDL HEADER, with the
-+# fields enclosed by brackets "[]" replaced with your own identifying
-+# information: Portions Copyright [yyyy] [name of copyright owner]
-+#
-+# CDDL HEADER END
-+#
-+
-+#
-+# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
-+# Use is subject to license terms.
-+#
-+
-+SUNWprivate_1.1 {
-+    global:
-+	pydb_agent_create;
-+	pydb_agent_destroy;
-+	pydb_frame_iter_init;
-+	pydb_get_frameinfo;
-+	pydb_pc_frameinfo;
-+	pydb_interp_iter_init;
-+	pydb_thread_iter_init;
-+	pydb_iter_fini;
-+	pydb_iter_next;
-+    local:
-+	*;
-+};
--- a/components/python/python26/patches/Python26-23-none-on-connect.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
---- Python-2.6.4/Lib/asyncore.py	Wed Apr 15 16:00:41 2009
-+++ Python-2.6.4/Lib/new.asyncore.py	Thu Aug  4 09:55:22 2011
-@@ -348,12 +348,15 @@
-         # XXX can return either an address pair or None
-         try:
-             conn, addr = self.socket.accept()
--            return conn, addr
--        except socket.error, why:
--            if why.args[0] == EWOULDBLOCK:
--                pass
-+        except TypeError:
-+            return None
-+        except socket.error as why:
-+            if why.args[0] in (EWOULDBLOCK, ECONNABORTED):
-+                return None
-             else:
-                 raise
-+        else:
-+            return conn, addr
- 
-     def send(self, data):
-         try:
---- Python-2.6.4/Doc/library/asyncore.rst	Wed Apr 15 16:00:41 2009
-+++ Python-2.6.4/Doc/library/new.asyncore.rst	Thu Aug  4 10:05:40 2011
-@@ -211,10 +211,13 @@
-    .. method:: accept()
- 
-       Accept a connection.  The socket must be bound to an address and listening
--      for connections.  The return value is a pair ``(conn, address)`` where
--      *conn* is a *new* socket object usable to send and receive data on the
--      connection, and *address* is the address bound to the socket on the other
--      end of the connection.
-+      for connections.  The return value can be either ``None`` or a pair
-+      ``(conn, address)`` where *conn* is a *new* socket object usable to send
-+      and receive data on the connection, and *address* is the address bound to
-+      the socket on the other end of the connection.
-+      When ``None`` is returned it means the connection didn't take place, in
-+      which case the server should just ignore this event and keep listening
-+      for further incoming connections.
- 
- 
-    .. method:: close()
-@@ -223,6 +229,12 @@
-       flushed).  Sockets are automatically closed when they are
-       garbage-collected.
- 
-+.. class:: dispatcher_with_send()
-+
-+   A :class:`dispatcher` subclass which adds simple buffered output capability,
-+   useful for simple clients. For more sophisticated usage use
-+   :class:`asynchat.async_chat`.
-+
- .. class:: file_dispatcher()
- 
-    A file_dispatcher takes a file descriptor or file object along with an
-@@ -239,7 +250,7 @@
-    socket for use by the :class:`file_dispatcher` class.  Availability: UNIX.
- 
- 
--.. _asyncore-example:
-+.. _asyncore-example-1:
- 
- asyncore Example basic HTTP client
- ----------------------------------
-@@ -249,7 +260,7 @@
- 
-    import asyncore, socket
- 
--   class http_client(asyncore.dispatcher):
-+   class HTTPClient(asyncore.dispatcher):
- 
-        def __init__(self, host, path):
-            asyncore.dispatcher.__init__(self)
-@@ -273,6 +284,45 @@
-            sent = self.send(self.buffer)
-            self.buffer = self.buffer[sent:]
- 
--   c = http_client('www.python.org', '/')
- 
-+   client = HTTPClient('www.python.org', '/')
-    asyncore.loop()
-+
-+.. _asyncore-example-2:
-+
-+asyncore Example basic echo server
-+----------------------------------
-+
-+Here is abasic echo server that uses the :class:`dispatcher` class to accept
-+connections and dispatches the incoming connections to a handler::
-+
-+    import asyncore
-+    import socket
-+
-+    class EchoHandler(asyncore.dispatcher_with_send):
-+
-+        def handle_read(self):
-+            data = self.recv(8192)
-+            self.send(data)
-+
-+    class EchoServer(asyncore.dispatcher):
-+
-+        def __init__(self, host, port):
-+            asyncore.dispatcher.__init__(self)
-+            self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
-+            self.set_reuse_addr()
-+            self.bind((host, port))
-+            self.listen(5)
-+
-+        def handle_accept(self):
-+            pair = self.accept()
-+            if pair is None:
-+                pass
-+            else:
-+                sock, addr = pair
-+                print 'Incoming connection from %s' % repr(addr)
-+                handler = EchoHandler(sock)
-+
-+    server = EchoServer('localhost', 8080)
-+    asyncore.loop()
-+
--- a/components/python/python26/patches/Python26-24-makedev.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
---- Python-2.6.8/configure.in.orig	2012-05-14 06:24:15.149791072 -0700
-+++ Python-2.6.8/configure.in	2012-05-14 06:27:52.383479003 -0700
-@@ -1416,36 +1416,9 @@
- ])
- AC_MSG_RESULT($was_it_defined)
- 
--# Check whether using makedev requires defining _OSF_SOURCE
--AC_MSG_CHECKING(for makedev)
--AC_TRY_LINK([
--#if defined(MAJOR_IN_MKDEV)
--#include <sys/mkdev.h>
--#elif defined(MAJOR_IN_SYSMACROS)
--#include <sys/sysmacros.h>
--#else
--#include <sys/types.h>
--#endif ],
--	    [ makedev(0, 0) ],
--	    ac_cv_has_makedev=yes,
--	    ac_cv_has_makedev=no)
--if test "$ac_cv_has_makedev" = "no"; then
--    # we didn't link, try if _OSF_SOURCE will allow us to link
--    AC_TRY_LINK([
--#define _OSF_SOURCE 1
--#include <sys/types.h>
--    ],
--    [ makedev(0, 0) ],
--    ac_cv_has_makedev=yes,
--    ac_cv_has_makedev=no)
--    if test "$ac_cv_has_makedev" = "yes"; then
--        AC_DEFINE(_OSF_SOURCE, 1, [Define _OSF_SOURCE to get the makedev macro.])
--    fi
--fi
--AC_MSG_RESULT($ac_cv_has_makedev)
--if test "$ac_cv_has_makedev" = "yes"; then
--    AC_DEFINE(HAVE_MAKEDEV, 1, [Define this if you have the makedev macro.])
--fi
-+# Solaris has makedev, and posixmodule already has all the right #include
-+# statements.
-+AC_DEFINE(HAVE_MAKEDEV, 1, [Define this if you have the makedev macro.])
- 
- # Enabling LFS on Solaris (2.6 to 9) with gcc 2.95 triggers a bug in
- # the system headers: If _XOPEN_SOURCE and _LARGEFILE_SOURCE are
--- a/components/python/python26/patches/Python26-25-closerange.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
---- Python-2.6.8/Modules/posixmodule.c.orig	2012-05-14 06:31:28.561995103 -0700
-+++ Python-2.6.8/Modules/posixmodule.c	2012-05-14 06:34:39.031503970 -0700
-@@ -6378,15 +6378,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++)
--        close(i);
-+
-+    lohi[0] = fd_from;
-+    lohi[1] = fd_to;
-+    fdwalk(close_func, lohi);
-+
-     Py_END_ALLOW_THREADS
-     Py_RETURN_NONE;
- }
--- a/components/python/python26/patches/Python26-25-studio-profile.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-This changes Python's standard profile-guided build target to work with
-Studio instead of gcc.  The unfortunate repetition of options seen below
-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	2012-05-14 06:37:59.575335093 -0700
-+++ Python-2.6.4/Makefile.pre.in	2012-05-14 06:41:08.439443308 -0700
-@@ -361,27 +361,36 @@
- profile-opt:
- 	@echo "Building with support for profile generation:"
- 	$(MAKE) clean
-+	$(MAKE) profile-removal
- 	$(MAKE) build_all_generate_profile
- 	@echo "Running benchmark to generate profile data:"
--	$(MAKE) profile-removal
- 	$(MAKE) run_profile_task
- 	@echo "Rebuilding with profile guided optimizations:"
- 	$(MAKE) clean
- 	$(MAKE) build_all_use_profile
- 
- build_all_generate_profile:
--	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
-+	$(MAKE) all CC="$(CC) -xprofile=collect:$(XPROFILE_DIR)" \
-+	    CFLAGS="$(CFLAGS) -xprofile=collect:$(XPROFILE_DIR)" \
-+	    LDFLAGS="$(LDFLAGS) -xprofile=collect:$(XPROFILE_DIR)" \
-+	    BLDSHARED="$(BLDSHARED) -xprofile=collect:$(XPROFILE_DIR)"
- 
- run_profile_task:
--	./$(BUILDPYTHON) $(PROFILE_TASK)
-+	LD_LIBRARY_PATH=. ./$(BUILDPYTHON) $(PROFILE_TASK)
- 
- build_all_use_profile:
--	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
-+	$(MAKE) all CC="$(CC) -xprofile=use:$(XPROFILE_DIR)" \
-+	    CFLAGS="$(CFLAGS) -xprofile=use:$(XPROFILE_DIR)" \
-+	    LDFLAGS="$(LDFLAGS) -xprofile=use:$(XPROFILE_DIR)" \
-+	    BLDSHARED="$(BLDSHARED) -xprofile=use:$(XPROFILE_DIR)"
- 
- coverage:
- 	@echo "Building with support for coverage checking:"
- 	$(MAKE) clean
--	$(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
-+	$(MAKE) all CC="$(CC) -xprofile=tcov" \
-+	    CFLAGS="$(CFLAGS) -xO1 -xprofile=tcov" \
-+	    LDFLAGS="$(LDFLAGS) -xprofile=tcov" \
-+	    BLDSHARED="$(BLDSHARED) -xprofile=tcov"
- 
- 
- # Build the interpreter
-@@ -396,10 +405,7 @@
- 
- # Build the shared modules
- sharedmods: $(BUILDPYTHON)
--	@case $$MAKEFLAGS in \
--	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
--	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' 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
-@@ -1166,6 +1172,7 @@
- clean: pycremoval
- 	find . -name '*.[oa]' -exec rm -f {} ';'
- 	find . -name '*.s[ol]' -exec rm -f {} ';'
-+	find . -name '*.s[ol].*' -exec rm -f {} ';'
- 	find $(srcdir)/build -name 'fficonfig.h' -exec rm -f {} ';' || true
- 	find $(srcdir)/build -name 'fficonfig.py' -exec rm -f {} ';' || true
- 	find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
-@@ -1173,6 +1180,7 @@
- 
- profile-removal:
- 	find . -name '*.gc??' -exec rm -f {} ';'
-+	find . -name '.profile' -exec rm -rf {} ';'
- 
- clobber: clean profile-removal
- 	-rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
--- a/components/python/python26/patches/Python26-26-pybench.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-This updates pybench for Python 2.6 with the fixes found in Python 2.7's
-version.
---- Python-2.6.4/Tools/pybench/pybench.py.orig	Wed Nov  2 17:09:28 2011
-+++ Python-2.6.4/Tools/pybench/pybench.py	Sat Jun 11 08:46:28 2011
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2.6
-+#!/usr/local/bin/python -O
- 
- """ A Python Benchmark Suite
- 
-@@ -230,7 +230,7 @@
-                 raise ValueError('at least one calibration run is required')
-             self.calibration_runs = calibration_runs
-         if timer is not None:
--            timer = timer
-+            self.timer = timer
- 
-         # Init variables
-         self.times = []
-@@ -278,7 +278,7 @@
-             for i in calibration_loops:
-                 pass
-             t = timer() - t
--            prep_times.append(t)
-+            prep_times.append(t / CALIBRATION_LOOPS)
-         min_prep_time = min(prep_times)
-         if _debug:
-             print
-@@ -689,7 +689,7 @@
-                 other_total_avg_time = other_total_avg_time + other_avg_time
-                 if (benchmarks_compatible and
-                     test.compatible(other)):
--                    # Both benchmark and tests are comparible
-+                    # Both benchmark and tests are comparable
-                     min_diff = ((min_time * self.warp) /
-                                 (other_min_time * other.warp) - 1.0)
-                     avg_diff = ((avg_time * self.warp) /
-@@ -703,7 +703,7 @@
-                     else:
-                         avg_diff = '%+5.1f%%' % (avg_diff * PERCENT)
-                 else:
--                    # Benchmark or tests are not comparible
-+                    # Benchmark or tests are not comparable
-                     min_diff, avg_diff = 'n/a', 'n/a'
-                     tests_compatible = 0
-             print '%30s: %5.0fms %5.0fms %7s %5.0fms %5.0fms %7s' % \
--- a/components/python/python26/patches/Python26-27-get_wch.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
---- Python-2.6.8/Modules/_cursesmodule.c.orig	2012-09-18 08:01:45.938603187 -0700
-+++ Python-2.6.8/Modules/_cursesmodule.c	2012-09-18 08:05:15.216646894 -0700
-@@ -856,6 +856,37 @@
- }
- 
- static PyObject *
-+PyCursesWindow_Get_WCh(PyCursesWindowObject *self, PyObject *args)
-+{
-+    int x, y;
-+    int ct;
-+    wint_t rtn;
-+
-+    switch (PyTuple_Size(args)) {
-+    case 0:
-+        Py_BEGIN_ALLOW_THREADS
-+        ct = wget_wch(self->win,&rtn);
-+        Py_END_ALLOW_THREADS
-+        break;
-+    case 2:
-+        if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x))
-+            return NULL;
-+        Py_BEGIN_ALLOW_THREADS
-+        ct = mvwget_wch(self->win,y,x,&rtn);
-+        Py_END_ALLOW_THREADS
-+        break;
-+    default:
-+        PyErr_SetString(PyExc_TypeError, "get_wch requires 0 or 2 arguments");
-+        return NULL;
-+    }
-+    if (ct == ERR) {
-+        PyErr_SetString(PyCursesError, "get_wch failed");
-+        return NULL;
-+    }
-+    return PyInt_FromLong((long)rtn);
-+}
-+
-+static PyObject *
- PyCursesWindow_GetKey(PyCursesWindowObject *self, PyObject *args)
- {
-     int x, y;
-@@ -1563,6 +1594,7 @@
-             {"getbegyx",        (PyCFunction)PyCursesWindow_getbegyx, METH_NOARGS},
-             {"getbkgd",         (PyCFunction)PyCursesWindow_GetBkgd, METH_NOARGS},
-             {"getch",           (PyCFunction)PyCursesWindow_GetCh, METH_VARARGS},
-+            {"get_wch",         (PyCFunction)PyCursesWindow_Get_WCh, METH_VARARGS},
-             {"getkey",          (PyCFunction)PyCursesWindow_GetKey, METH_VARARGS},
-             {"getmaxyx",        (PyCFunction)PyCursesWindow_getmaxyx, METH_NOARGS},
-             {"getparyx",        (PyCFunction)PyCursesWindow_getparyx, METH_NOARGS},
--- a/components/python/python26/patches/Python26-28-CVE-2013-4238.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-# CVE-2013-4238
-# http://bugs.python.org/issue18709
-#
-diff -r 936621d33c38 Lib/test/keycert.pem
---- a/Lib/test/keycert.pem	Wed Feb 20 18:19:55 2013 -0500
-+++ b/Lib/test/keycert.pem	Fri Aug 16 02:32:42 2013 +0200
-@@ -1,32 +1,31 @@
-------BEGIN RSA PRIVATE KEY-----
--MIICXwIBAAKBgQC8ddrhm+LutBvjYcQlnH21PPIseJ1JVG2HMmN2CmZk2YukO+9L
--opdJhTvbGfEj0DQs1IE8M+kTUyOmuKfVrFMKwtVeCJphrAnhoz7TYOuLBSqt7lVH
--fhi/VwovESJlaBOp+WMnfhcduPEYHYx/6cnVapIkZnLt30zu2um+DzA9jQIDAQAB
--AoGBAK0FZpaKj6WnJZN0RqhhK+ggtBWwBnc0U/ozgKz2j1s3fsShYeiGtW6CK5nU
--D1dZ5wzhbGThI7LiOXDvRucc9n7vUgi0alqPQ/PFodPxAN/eEYkmXQ7W2k7zwsDA
--IUK0KUhktQbLu8qF/m8qM86ba9y9/9YkXuQbZ3COl5ahTZrhAkEA301P08RKv3KM
--oXnGU2UHTuJ1MAD2hOrPxjD4/wxA/39EWG9bZczbJyggB4RHu0I3NOSFjAm3HQm0
--ANOu5QK9owJBANgOeLfNNcF4pp+UikRFqxk5hULqRAWzVxVrWe85FlPm0VVmHbb/
--loif7mqjU8o1jTd/LM7RD9f2usZyE2psaw8CQQCNLhkpX3KO5kKJmS9N7JMZSc4j
--oog58yeYO8BBqKKzpug0LXuQultYv2K4veaIO04iL9VLe5z9S/Q1jaCHBBuXAkEA
--z8gjGoi1AOp6PBBLZNsncCvcV/0aC+1se4HxTNo2+duKSDnbq+ljqOM+E7odU+Nq
--ewvIWOG//e8fssd0mq3HywJBAJ8l/c8GVmrpFTx8r/nZ2Pyyjt3dH1widooDXYSV
--q6Gbf41Llo5sYAtmxdndTLASuHKecacTgZVhy0FryZpLKrU=
-------END RSA PRIVATE KEY-----
-+-----BEGIN PRIVATE KEY-----
-+MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANtb0+YrKuxevGpm
-+LrjaUhZSgz6zFAmuGFmKmUbdjmfv9zSmmdsQIksK++jK0Be9LeZy20j6ahOfuVa0
-+ufEmPoP7Fy4hXegKZR9cCWcIe/A6H2xWF1IIJLRTLaU8ol/I7T+um5HD5AwAwNPP
-+USNU0Eegmvp+xxWu3NX2m1Veot85AgMBAAECgYA3ZdZ673X0oexFlq7AAmrutkHt
-+CL7LvwrpOiaBjhyTxTeSNWzvtQBkIU8DOI0bIazA4UreAFffwtvEuPmonDb3F+Iq
-+SMAu42XcGyVZEl+gHlTPU9XRX7nTOXVt+MlRRRxL6t9GkGfUAXI3XxJDXW3c0vBK
-+UL9xqD8cORXOfE06rQJBAP8mEX1ERkR64Ptsoe4281vjTlNfIbs7NMPkUnrn9N/Y
-+BLhjNIfQ3HFZG8BTMLfX7kCS9D593DW5tV4Z9BP/c6cCQQDcFzCcVArNh2JSywOQ
-+ZfTfRbJg/Z5Lt9Fkngv1meeGNPgIMLN8Sg679pAOOWmzdMO3V706rNPzSVMME7E5
-+oPIfAkEA8pDddarP5tCvTTgUpmTFbakm0KoTZm2+FzHcnA4jRh+XNTjTOv98Y6Ik
-+eO5d1ZnKXseWvkZncQgxfdnMqqpj5wJAcNq/RVne1DbYlwWchT2Si65MYmmJ8t+F
-+0mcsULqjOnEMwf5e+ptq5LzwbyrHZYq5FNk7ocufPv/ZQrcSSC+cFwJBAKvOJByS
-+x56qyGeZLOQlWS2JS3KJo59XuLFGqcbgN9Om9xFa41Yb4N9NvplFivsvZdw3m1Q/
-+SPIXQuT8RMPDVNQ=
-+-----END PRIVATE KEY-----
- -----BEGIN CERTIFICATE-----
--MIICpzCCAhCgAwIBAgIJAP+qStv1cIGNMA0GCSqGSIb3DQEBBQUAMIGJMQswCQYD
--VQQGEwJVUzERMA8GA1UECBMIRGVsYXdhcmUxEzARBgNVBAcTCldpbG1pbmd0b24x
--IzAhBgNVBAoTGlB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uMQwwCgYDVQQLEwNT
--U0wxHzAdBgNVBAMTFnNvbWVtYWNoaW5lLnB5dGhvbi5vcmcwHhcNMDcwODI3MTY1
--NDUwWhcNMTMwMjE2MTY1NDUwWjCBiTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCERl
--bGF3YXJlMRMwEQYDVQQHEwpXaWxtaW5ndG9uMSMwIQYDVQQKExpQeXRob24gU29m
--dHdhcmUgRm91bmRhdGlvbjEMMAoGA1UECxMDU1NMMR8wHQYDVQQDExZzb21lbWFj
--aGluZS5weXRob24ub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ddrh
--m+LutBvjYcQlnH21PPIseJ1JVG2HMmN2CmZk2YukO+9LopdJhTvbGfEj0DQs1IE8
--M+kTUyOmuKfVrFMKwtVeCJphrAnhoz7TYOuLBSqt7lVHfhi/VwovESJlaBOp+WMn
--fhcduPEYHYx/6cnVapIkZnLt30zu2um+DzA9jQIDAQABoxUwEzARBglghkgBhvhC
--AQEEBAMCBkAwDQYJKoZIhvcNAQEFBQADgYEAF4Q5BVqmCOLv1n8je/Jw9K669VXb
--08hyGzQhkemEBYQd6fzQ9A/1ZzHkJKb1P6yreOLSEh4KcxYPyrLRC1ll8nr5OlCx
--CMhKkTnR6qBsdNV0XtdU2+N25hqW+Ma4ZeqsN/iiJVCGNOZGnvQuvCAGWF8+J/f/
--iHkC6gGdBJhogs4=
-+MIICVDCCAb2gAwIBAgIJANfHOBkZr8JOMA0GCSqGSIb3DQEBBQUAMF8xCzAJBgNV
-+BAYTAlhZMRcwFQYDVQQHEw5DYXN0bGUgQW50aHJheDEjMCEGA1UEChMaUHl0aG9u
-+IFNvZnR3YXJlIEZvdW5kYXRpb24xEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0xMDEw
-+MDgyMzAxNTZaFw0yMDEwMDUyMzAxNTZaMF8xCzAJBgNVBAYTAlhZMRcwFQYDVQQH
-+Ew5DYXN0bGUgQW50aHJheDEjMCEGA1UEChMaUHl0aG9uIFNvZnR3YXJlIEZvdW5k
-+YXRpb24xEjAQBgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
-+gYkCgYEA21vT5isq7F68amYuuNpSFlKDPrMUCa4YWYqZRt2OZ+/3NKaZ2xAiSwr7
-+6MrQF70t5nLbSPpqE5+5VrS58SY+g/sXLiFd6AplH1wJZwh78DofbFYXUggktFMt
-+pTyiX8jtP66bkcPkDADA089RI1TQR6Ca+n7HFa7c1fabVV6i3zkCAwEAAaMYMBYw
-+FAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEBBQUAA4GBAHPctQBEQ4wd
-+BJ6+JcpIraopLn8BGhbjNWj40mmRqWB/NAWF6M5ne7KpGAu7tLeG4hb1zLaldK8G
-+lxy2GPSRF6LFS48dpEj2HbMv2nvv6xxalDMJ9+DicWgAKTQ6bcX2j3GUkCR0g/T1
-+CRlNBAAlvhKzO7Clpf9l0YKBEfraJByX
- -----END CERTIFICATE-----
-diff -r 936621d33c38 Lib/test/nullbytecert.pem
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/Lib/test/nullbytecert.pem	Fri Aug 16 02:32:42 2013 +0200
-@@ -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 936621d33c38 Lib/test/test_ssl.py
---- a/Lib/test/test_ssl.py	Wed Feb 20 18:19:55 2013 -0500
-+++ b/Lib/test/test_ssl.py	Fri Aug 16 02:32:42 2013 +0200
-@@ -31,6 +31,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()))
-@@ -88,6 +89,27 @@
-         if test_support.verbose:
-             sys.stdout.write("\n" + pprint.pformat(p) + "\n")
- 
-+    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()
-@@ -1210,15 +1232,18 @@
-     if skip_expected:
-         raise test_support.TestSkipped("No SSL support")
- 
--    global CERTFILE, SVN_PYTHON_ORG_ROOT_CERT
-+    global CERTFILE, SVN_PYTHON_ORG_ROOT_CERT, NULLBYTECERT
-     CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir,
-                             "keycert.pem")
-     SVN_PYTHON_ORG_ROOT_CERT = os.path.join(
-         os.path.dirname(__file__) or os.curdir,
-         "https_svn_python_org_root.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)):
-+        not os.path.exists(SVN_PYTHON_ORG_ROOT_CERT) or
-+        not os.path.exists(NULLBYTECERT)):
-         raise test_support.TestFailed("Can't read certificate files!")
- 
-     tests = [BasicTests]
-diff -r 936621d33c38 Modules/_ssl.c
---- a/Modules/_ssl.c	Wed Feb 20 18:19:55 2013 -0500
-+++ b/Modules/_ssl.c	Fri Aug 16 02:32:42 2013 +0200
-@@ -302,8 +302,10 @@
-         self->ctx = SSL_CTX_new(TLSv1_method()); /* Set up context */
-     else if (proto_version == PY_SSL_VERSION_SSL3)
-         self->ctx = SSL_CTX_new(SSLv3_method()); /* Set up context */
-+#ifndef OPENSSL_NO_SSL2
-     else if (proto_version == PY_SSL_VERSION_SSL2)
-         self->ctx = SSL_CTX_new(SSLv2_method()); /* Set up context */
-+#endif
-     else if (proto_version == PY_SSL_VERSION_SSL23)
-         self->ctx = SSL_CTX_new(SSLv23_method()); /* Set up context */
-     PySSL_END_ALLOW_THREADS
-@@ -718,8 +720,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 */
- 
-@@ -741,11 +748,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);
-@@ -771,6 +828,7 @@
-                     goto fail;
-                 }
-                 PyTuple_SET_ITEM(t, 1, v);
-+		break;
-             }
- 
-             /* and add that rendering to the list */
--- a/components/python/python26/patches/Python26-29-recvfrom_into.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-# Fix adapted from upstream: http://bugs.python.org/issue20246
-
---- Python-2.6.8/Modules/socketmodule.c	2014-02-12 15:21:37.045342837 -0800
-+++ Python-2.6.8/Modules/socketmodule.c	2014-02-12 15:23:04.666145417 -0800
-@@ -2635,6 +2635,13 @@
-         recvlen = buflen;
-     }
- 
-+    /* Check if the buffer is large enough */
-+    if (buflen < recvlen) {
-+        PyErr_SetString(PyExc_ValueError,
-+                        "buffer too small for requested bytes");
-+        return NULL;
-+    }
-+
-     readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);
-     if (readlen < 0) {
-         /* Return an error */
--- a/components/python/python26/patches/Python26-36-buffer-overflow.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-This patch comes from upstream: http://bugs.python.org/issue21831
-
---- a/Objects/bufferobject.c
-+++ b/Objects/bufferobject.c
-@@ -88,7 +88,7 @@ get_buf(PyBufferObject *self, void **ptr
-             *size = count;
-         else
-             *size = self->b_size;
--        if (offset + *size > count)
-+        if (*size > count - offset)
-             *size = count - offset;
-     }
-     return 1;
--- a/components/python/python26/patches/Python26-38-disable-sslv3.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-This patch comes from in-house, and will not be passed upstream, since
-Python 2.6 has been abandoned in favor of later versions.
-
---- Python-2.6.8/Modules/_ssl.c.~2~	2014-12-16 00:06:40.398956147 -0800
-+++ Python-2.6.8/Modules/_ssl.c	2015-01-08 12:43:53.326916627 -0800
-@@ -269,6 +269,7 @@
-     char *errstr = NULL;
-     int ret;
-     int verification_mode;
-+    long options;
- 
-     self = PyObject_New(PySSLObject, &PySSL_Type); /* Create new object */
-     if (self == NULL)
-@@ -359,8 +360,12 @@
-     }
- 
-     /* ssl compatibility */
--    SSL_CTX_set_options(self->ctx,
--                        SSL_OP_ALL & ~SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS);
-+    options = SSL_OP_ALL & ~SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS;
-+    if (proto_version != PY_SSL_VERSION_SSL2)
-+        options |= SSL_OP_NO_SSLv2;
-+    if (proto_version != PY_SSL_VERSION_SSL3)
-+        options |= SSL_OP_NO_SSLv3;
-+    SSL_CTX_set_options(self->ctx, options);
- 
-     verification_mode = SSL_VERIFY_NONE;
-     if (certreq == PY_SSL_CERT_OPTIONAL)
--- a/components/python/python26/patches/Python26-39-smtplib_readline.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-This patch comes from upstream: http://bugs.python.org/issue16042
-
---- Python-2.6.8/Lib/smtplib.py
-+++ Python-2.6.8/Lib/smtplib.py
-@@ -57,6 +57,7 @@ from sys import stderr
- SMTP_PORT = 25
- SMTP_SSL_PORT = 465
- CRLF="\r\n"
-+_MAXLINE = 8192 # more than 8 times larger than RFC 821, 4.5.3
- 
- OLDSTYLE_AUTH = re.compile(r"auth=(.*)", re.I)
- 
-@@ -170,10 +171,14 @@ else:
-         def __init__(self, sslobj):
-             self.sslobj = sslobj
- 
--        def readline(self):
-+        def readline(self, size=-1):
-+            if size < 0:
-+                size = None
-             str = ""
-             chr = None
-             while chr != "\n":
-+                if size is not None and len(str) >= size:
-+                    break
-                 chr = self.sslobj.read(1)
-                 if not chr: break
-                 str += chr
-@@ -334,11 +339,13 @@ class SMTP:
-         if self.file is None:
-             self.file = self.sock.makefile('rb')
-         while 1:
--            line = self.file.readline()
-+            line = self.file.readline(_MAXLINE + 1)
-             if line == '':
-                 self.close()
-                 raise SMTPServerDisconnected("Connection unexpectedly closed")
--            if self.debuglevel > 0: print>>stderr, 'reply:', repr(line)
-+            if self.debuglevel > 0: print >>stderr, 'reply:', repr(line)
-+            if len(line) > _MAXLINE:
-+                raise SMTPResponseException(500, "Line too long.")
-             resp.append(line[4:].strip())
-             code=line[:3]
-             # Check that the error code is syntactically correct.
-
---- Python-2.6.8/Lib/test/test_smtplib.py
-+++ Python-2.6.8/Lib/test/test_smtplib.py
-@@ -273,6 +273,32 @@ class BadHELOServerTests(TestCase):
-                             HOST, self.port, 'localhost', 3)
- 
- 
-+class TooLongLineTests(TestCase):
-+    respdata = '250 OK' + ('.' * smtplib._MAXLINE * 2) + '\n'
-+
-+    def setUp(self):
-+        self.old_stdout = sys.stdout
-+        self.output = StringIO.StringIO()
-+        sys.stdout = self.output
-+
-+        self.evt = threading.Event()
-+        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-+        self.sock.settimeout(15)
-+        self.port = test_support.bind_port(self.sock)
-+        servargs = (self.evt, self.respdata, self.sock)
-+        threading.Thread(target=server, args=servargs).start()
-+        self.evt.wait()
-+        self.evt.clear()
-+
-+    def tearDown(self):
-+        self.evt.wait()
-+        sys.stdout = self.old_stdout
-+
-+    def testLineTooLong(self):
-+        self.assertRaises(smtplib.SMTPResponseException, smtplib.SMTP,
-+                          HOST, self.port, 'localhost', 3)
-+
-+
- sim_users = {'[email protected]':'John A',
-              '[email protected]':'Sally B',
-              '[email protected]':'Ruth C',
-@@ -482,7 +508,8 @@ class SMTPSimTests(TestCase):
- def test_main(verbose=None):
-     test_support.run_unittest(GeneralTests, DebuggingServerTests,
-                               NonConnectingTests,
--                              BadHELOServerTests, SMTPSimTests)
-+                              BadHELOServerTests, SMTPSimTests,
-+                              TooLongLineTests)
- 
- if __name__ == '__main__':
-     test_main()
-
--- a/components/python/python26/patches/Python26-40-obsolete-man-page.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
---- Python-2.6.8/Misc/python.man.orig	2012-04-10 08:32:09 -0700
-+++ Python-2.6.8/Misc/python.man	2015-06-10 13:31:25 -0700
-@@ -108,6 +108,11 @@
- viewed by running the 
- .B pydoc
- program.  
-+.SH CAVEAT
-+Python 2.6 support from python.org ended in October 2013.  Therefore this
-+version of Python is now Obsolete, and will be removed from a future
-+release of Solaris.  Please migrate any consumers to use Python version
-+2.7 or 3.4 instead.
- .SH COMMAND LINE OPTIONS
- .TP
- .B \-B
--- a/components/python/python26/python-26-tests.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,829 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/runtime/python-26/tests@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Tests for the Python interpreter, libraries and utilities"
-set name=com.oracle.info.description value="test cases for Python 2.6"
-set name=com.oracle.info.tpno value=$(TPNO)
-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/2009/043
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/bin
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/ctypes
-dir  path=usr/lib/python2.6/ctypes/test
-file path=usr/lib/python2.6/ctypes/test/__init__.py
-file path=usr/lib/python2.6/ctypes/test/runtests.py
-file path=usr/lib/python2.6/ctypes/test/test_anon.py
-file path=usr/lib/python2.6/ctypes/test/test_array_in_pointer.py
-file path=usr/lib/python2.6/ctypes/test/test_arrays.py
-file path=usr/lib/python2.6/ctypes/test/test_as_parameter.py
-file path=usr/lib/python2.6/ctypes/test/test_bitfields.py
-file path=usr/lib/python2.6/ctypes/test/test_buffers.py
-file path=usr/lib/python2.6/ctypes/test/test_byteswap.py
-file path=usr/lib/python2.6/ctypes/test/test_callbacks.py
-file path=usr/lib/python2.6/ctypes/test/test_cast.py
-file path=usr/lib/python2.6/ctypes/test/test_cfuncs.py
-file path=usr/lib/python2.6/ctypes/test/test_checkretval.py
-file path=usr/lib/python2.6/ctypes/test/test_delattr.py
-file path=usr/lib/python2.6/ctypes/test/test_errcheck.py
-file path=usr/lib/python2.6/ctypes/test/test_errno.py
-file path=usr/lib/python2.6/ctypes/test/test_find.py
-file path=usr/lib/python2.6/ctypes/test/test_frombuffer.py
-file path=usr/lib/python2.6/ctypes/test/test_funcptr.py
-file path=usr/lib/python2.6/ctypes/test/test_functions.py
-file path=usr/lib/python2.6/ctypes/test/test_incomplete.py
-file path=usr/lib/python2.6/ctypes/test/test_init.py
-file path=usr/lib/python2.6/ctypes/test/test_integers.py
-file path=usr/lib/python2.6/ctypes/test/test_internals.py
-file path=usr/lib/python2.6/ctypes/test/test_keeprefs.py
-file path=usr/lib/python2.6/ctypes/test/test_libc.py
-file path=usr/lib/python2.6/ctypes/test/test_loading.py
-file path=usr/lib/python2.6/ctypes/test/test_macholib.py
-file path=usr/lib/python2.6/ctypes/test/test_memfunctions.py
-file path=usr/lib/python2.6/ctypes/test/test_numbers.py
-file path=usr/lib/python2.6/ctypes/test/test_objects.py
-file path=usr/lib/python2.6/ctypes/test/test_parameters.py
-file path=usr/lib/python2.6/ctypes/test/test_pep3118.py
-file path=usr/lib/python2.6/ctypes/test/test_pickling.py
-file path=usr/lib/python2.6/ctypes/test/test_pointers.py
-file path=usr/lib/python2.6/ctypes/test/test_prototypes.py
-file path=usr/lib/python2.6/ctypes/test/test_python_api.py
-file path=usr/lib/python2.6/ctypes/test/test_random_things.py
-file path=usr/lib/python2.6/ctypes/test/test_refcounts.py
-file path=usr/lib/python2.6/ctypes/test/test_repr.py
-file path=usr/lib/python2.6/ctypes/test/test_returnfuncptrs.py
-file path=usr/lib/python2.6/ctypes/test/test_simplesubclasses.py
-file path=usr/lib/python2.6/ctypes/test/test_sizes.py
-file path=usr/lib/python2.6/ctypes/test/test_slicing.py
-file path=usr/lib/python2.6/ctypes/test/test_stringptr.py
-file path=usr/lib/python2.6/ctypes/test/test_strings.py
-file path=usr/lib/python2.6/ctypes/test/test_struct_fields.py
-file path=usr/lib/python2.6/ctypes/test/test_structures.py
-file path=usr/lib/python2.6/ctypes/test/test_unaligned_structures.py
-file path=usr/lib/python2.6/ctypes/test/test_unicode.py
-file path=usr/lib/python2.6/ctypes/test/test_values.py
-file path=usr/lib/python2.6/ctypes/test/test_varsize_struct.py
-file path=usr/lib/python2.6/ctypes/test/test_win32.py
-dir  path=usr/lib/python2.6/distutils
-dir  path=usr/lib/python2.6/distutils/tests
-file path=usr/lib/python2.6/distutils/tests/__init__.py
-file path=usr/lib/python2.6/distutils/tests/setuptools_build_ext.py
-file path=usr/lib/python2.6/distutils/tests/setuptools_extension.py
-file path=usr/lib/python2.6/distutils/tests/support.py
-file path=usr/lib/python2.6/distutils/tests/test_bdist_wininst.py
-file path=usr/lib/python2.6/distutils/tests/test_build_ext.py
-file path=usr/lib/python2.6/distutils/tests/test_build_py.py
-file path=usr/lib/python2.6/distutils/tests/test_build_scripts.py
-file path=usr/lib/python2.6/distutils/tests/test_config.py
-file path=usr/lib/python2.6/distutils/tests/test_core.py
-file path=usr/lib/python2.6/distutils/tests/test_dist.py
-file path=usr/lib/python2.6/distutils/tests/test_filelist.py
-file path=usr/lib/python2.6/distutils/tests/test_install.py
-file path=usr/lib/python2.6/distutils/tests/test_install_scripts.py
-file path=usr/lib/python2.6/distutils/tests/test_msvc9compiler.py
-file path=usr/lib/python2.6/distutils/tests/test_register.py
-file path=usr/lib/python2.6/distutils/tests/test_sdist.py
-file path=usr/lib/python2.6/distutils/tests/test_sysconfig.py
-file path=usr/lib/python2.6/distutils/tests/test_upload.py
-file path=usr/lib/python2.6/distutils/tests/test_versionpredicate.py
-dir  path=usr/lib/python2.6/email
-dir  path=usr/lib/python2.6/email/test
-file path=usr/lib/python2.6/email/test/__init__.py
-dir  path=usr/lib/python2.6/email/test/data
-file path=usr/lib/python2.6/email/test/data/PyBanner048.gif
-file path=usr/lib/python2.6/email/test/data/audiotest.au
-file path=usr/lib/python2.6/email/test/data/msg_01.txt
-file path=usr/lib/python2.6/email/test/data/msg_02.txt
-file path=usr/lib/python2.6/email/test/data/msg_03.txt
-file path=usr/lib/python2.6/email/test/data/msg_04.txt
-file path=usr/lib/python2.6/email/test/data/msg_05.txt
-file path=usr/lib/python2.6/email/test/data/msg_06.txt
-file path=usr/lib/python2.6/email/test/data/msg_07.txt
-file path=usr/lib/python2.6/email/test/data/msg_08.txt
-file path=usr/lib/python2.6/email/test/data/msg_09.txt
-file path=usr/lib/python2.6/email/test/data/msg_10.txt
-file path=usr/lib/python2.6/email/test/data/msg_11.txt
-file path=usr/lib/python2.6/email/test/data/msg_12.txt
-file path=usr/lib/python2.6/email/test/data/msg_12a.txt
-file path=usr/lib/python2.6/email/test/data/msg_13.txt
-file path=usr/lib/python2.6/email/test/data/msg_14.txt
-file path=usr/lib/python2.6/email/test/data/msg_15.txt
-file path=usr/lib/python2.6/email/test/data/msg_16.txt
-file path=usr/lib/python2.6/email/test/data/msg_17.txt
-file path=usr/lib/python2.6/email/test/data/msg_18.txt
-file path=usr/lib/python2.6/email/test/data/msg_19.txt
-file path=usr/lib/python2.6/email/test/data/msg_20.txt
-file path=usr/lib/python2.6/email/test/data/msg_21.txt
-file path=usr/lib/python2.6/email/test/data/msg_22.txt
-file path=usr/lib/python2.6/email/test/data/msg_23.txt
-file path=usr/lib/python2.6/email/test/data/msg_24.txt
-file path=usr/lib/python2.6/email/test/data/msg_25.txt
-file path=usr/lib/python2.6/email/test/data/msg_26.txt
-file path=usr/lib/python2.6/email/test/data/msg_27.txt
-file path=usr/lib/python2.6/email/test/data/msg_28.txt
-file path=usr/lib/python2.6/email/test/data/msg_29.txt
-file path=usr/lib/python2.6/email/test/data/msg_30.txt
-file path=usr/lib/python2.6/email/test/data/msg_31.txt
-file path=usr/lib/python2.6/email/test/data/msg_32.txt
-file path=usr/lib/python2.6/email/test/data/msg_33.txt
-file path=usr/lib/python2.6/email/test/data/msg_34.txt
-file path=usr/lib/python2.6/email/test/data/msg_35.txt
-file path=usr/lib/python2.6/email/test/data/msg_36.txt
-file path=usr/lib/python2.6/email/test/data/msg_37.txt
-file path=usr/lib/python2.6/email/test/data/msg_38.txt
-file path=usr/lib/python2.6/email/test/data/msg_39.txt
-file path=usr/lib/python2.6/email/test/data/msg_40.txt
-file path=usr/lib/python2.6/email/test/data/msg_41.txt
-file path=usr/lib/python2.6/email/test/data/msg_42.txt
-file path=usr/lib/python2.6/email/test/data/msg_43.txt
-file path=usr/lib/python2.6/email/test/data/msg_44.txt
-file path=usr/lib/python2.6/email/test/test_email.py
-file path=usr/lib/python2.6/email/test/test_email_codecs.py
-file path=usr/lib/python2.6/email/test/test_email_codecs_renamed.py
-file path=usr/lib/python2.6/email/test/test_email_renamed.py
-file path=usr/lib/python2.6/email/test/test_email_torture.py
-dir  path=usr/lib/python2.6/idlelib
-file path=usr/lib/python2.6/idlelib/testcode.py
-dir  path=usr/lib/python2.6/json
-dir  path=usr/lib/python2.6/json/tests
-file path=usr/lib/python2.6/json/tests/__init__.py
-file path=usr/lib/python2.6/json/tests/test_decode.py
-file path=usr/lib/python2.6/json/tests/test_default.py
-file path=usr/lib/python2.6/json/tests/test_dump.py
-file path=usr/lib/python2.6/json/tests/test_encode_basestring_ascii.py
-file path=usr/lib/python2.6/json/tests/test_fail.py
-file path=usr/lib/python2.6/json/tests/test_float.py
-file path=usr/lib/python2.6/json/tests/test_indent.py
-file path=usr/lib/python2.6/json/tests/test_pass1.py
-file path=usr/lib/python2.6/json/tests/test_pass2.py
-file path=usr/lib/python2.6/json/tests/test_pass3.py
-file path=usr/lib/python2.6/json/tests/test_recursion.py
-file path=usr/lib/python2.6/json/tests/test_scanstring.py
-file path=usr/lib/python2.6/json/tests/test_separators.py
-file path=usr/lib/python2.6/json/tests/test_speedups.py
-file path=usr/lib/python2.6/json/tests/test_unicode.py
-dir  path=usr/lib/python2.6/lib-dynload
-dir  path=usr/lib/python2.6/lib-dynload/64
-file path=usr/lib/python2.6/lib-dynload/64/_ctypes_test.so
-file path=usr/lib/python2.6/lib-dynload/64/_testcapi.so
-file path=usr/lib/python2.6/lib-dynload/_ctypes_test.so
-file path=usr/lib/python2.6/lib-dynload/_testcapi.so
-dir  path=usr/lib/python2.6/lib2to3
-dir  path=usr/lib/python2.6/lib2to3/tests
-file path=usr/lib/python2.6/lib2to3/tests/__init__.py
-file path=usr/lib/python2.6/lib2to3/tests/pytree_idempotency.py \
-    pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/lib2to3/tests/support.py
-file path=usr/lib/python2.6/lib2to3/tests/test_all_fixers.py \
-    pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/lib2to3/tests/test_fixers.py \
-    pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/lib2to3/tests/test_parser.py \
-    pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/lib2to3/tests/test_pytree.py \
-    pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/lib2to3/tests/test_refactor.py
-file path=usr/lib/python2.6/lib2to3/tests/test_util.py \
-    pkg.depend.bypass-generate=.*
-dir  path=usr/lib/python2.6/sqlite3
-dir  path=usr/lib/python2.6/sqlite3/test
-file path=usr/lib/python2.6/sqlite3/test/__init__.py
-file path=usr/lib/python2.6/sqlite3/test/dbapi.py
-file path=usr/lib/python2.6/sqlite3/test/dump.py
-file path=usr/lib/python2.6/sqlite3/test/factory.py
-file path=usr/lib/python2.6/sqlite3/test/hooks.py
-file path=usr/lib/python2.6/sqlite3/test/py25tests.py
-file path=usr/lib/python2.6/sqlite3/test/regression.py
-file path=usr/lib/python2.6/sqlite3/test/transactions.py
-file path=usr/lib/python2.6/sqlite3/test/types.py
-file path=usr/lib/python2.6/sqlite3/test/userfunctions.py
-dir  path=usr/lib/python2.6/test
-file path=usr/lib/python2.6/test/185test.db
-file path=usr/lib/python2.6/test/README
-file path=usr/lib/python2.6/test/Sine-1000Hz-300ms.aif
-file path=usr/lib/python2.6/test/__init__.py
-file path=usr/lib/python2.6/test/audiotest.au
-file path=usr/lib/python2.6/test/autotest.py
-file path=usr/lib/python2.6/test/bad_coding.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/bad_coding2.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/badcert.pem
-file path=usr/lib/python2.6/test/badkey.pem
-file path=usr/lib/python2.6/test/badsyntax_future3.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/badsyntax_future4.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/badsyntax_future5.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/badsyntax_future6.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/badsyntax_future7.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/badsyntax_future8.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/badsyntax_future9.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/badsyntax_nocaret.py pkg.tmp.autopyc=false
-file path=usr/lib/python2.6/test/buffer_tests.py
-file path=usr/lib/python2.6/test/cfgparser.1
-file path=usr/lib/python2.6/test/check_soundcard.vbs
-file path=usr/lib/python2.6/test/cjkencodings_test.py
-file path=usr/lib/python2.6/test/cmath_testcases.txt
-file path=usr/lib/python2.6/test/curses_tests.py
-dir  path=usr/lib/python2.6/test/decimaltestdata
-file path=usr/lib/python2.6/test/decimaltestdata/abs.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/add.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/and.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/base.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/clamp.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/class.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/compare.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/comparetotal.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/comparetotmag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/copy.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/copyabs.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/copynegate.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/copysign.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddAbs.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddAdd.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddAnd.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddBase.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCanonical.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddClass.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCompare.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCompareSig.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCompareTotal.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCompareTotalMag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCopy.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCopyAbs.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCopyNegate.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddCopySign.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddDivide.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddDivideInt.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddEncode.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddFMA.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddInvert.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddLogB.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddMax.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddMaxMag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddMin.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddMinMag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddMinus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddMultiply.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddNextMinus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddNextPlus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddNextToward.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddOr.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddPlus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddQuantize.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddReduce.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddRemainder.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddRemainderNear.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddRotate.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddSameQuantum.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddScaleB.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddShift.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddSubtract.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddToIntegral.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ddXor.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/decDouble.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/decQuad.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/decSingle.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/divide.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/divideint.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqAbs.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqAdd.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqAnd.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqBase.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCanonical.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqClass.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCompare.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCompareSig.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCompareTotal.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCompareTotalMag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCopy.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCopyAbs.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCopyNegate.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqCopySign.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqDivide.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqDivideInt.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqEncode.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqFMA.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqInvert.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqLogB.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqMax.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqMaxMag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqMin.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqMinMag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqMinus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqMultiply.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqNextMinus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqNextPlus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqNextToward.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqOr.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqPlus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqQuantize.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqReduce.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqRemainder.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqRemainderNear.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqRotate.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqSameQuantum.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqScaleB.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqShift.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqSubtract.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqToIntegral.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dqXor.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dsBase.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/dsEncode.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/exp.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/extra.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/fma.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/inexact.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/invert.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/ln.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/log10.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/logb.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/max.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/maxmag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/min.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/minmag.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/minus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/multiply.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/nextminus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/nextplus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/nexttoward.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/or.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/plus.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/power.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/powersqrt.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/quantize.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/randomBound32.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/randoms.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/reduce.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/remainder.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/remainderNear.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/rescale.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/rotate.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/rounding.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/samequantum.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/scaleb.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/shift.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/squareroot.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/subtract.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/testall.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/tointegral.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/tointegralx.decTest
-file path=usr/lib/python2.6/test/decimaltestdata/xor.decTest
-file path=usr/lib/python2.6/test/dlpitest.py
-file path=usr/lib/python2.6/test/doctest_aliases.py
-file path=usr/lib/python2.6/test/double_const.py
-file path=usr/lib/python2.6/test/empty.vbs
-file path=usr/lib/python2.6/test/exception_hierarchy.txt
-file path=usr/lib/python2.6/test/floating_points.txt
-file path=usr/lib/python2.6/test/fork_wait.py
-file path=usr/lib/python2.6/test/greyrgb.uue
-file path=usr/lib/python2.6/test/https_svn_python_org_root.pem
-file path=usr/lib/python2.6/test/ieee754.txt
-file path=usr/lib/python2.6/test/infinite_reload.py
-file path=usr/lib/python2.6/test/inspect_fodder.py
-file path=usr/lib/python2.6/test/inspect_fodder2.py
-file path=usr/lib/python2.6/test/keycert.pem
-file path=usr/lib/python2.6/test/list_tests.py
-file path=usr/lib/python2.6/test/mapping_tests.py
-file path=usr/lib/python2.6/test/nullbytecert.pem
-file path=usr/lib/python2.6/test/nullcert.pem
-file path=usr/lib/python2.6/test/outstanding_bugs.py
-file path=usr/lib/python2.6/test/pickletester.py
-file path=usr/lib/python2.6/test/privrbactest.py
-file path=usr/lib/python2.6/test/profilee.py
-file path=usr/lib/python2.6/test/pyclbr_input.py
-file path=usr/lib/python2.6/test/pydoc_mod.py
-file path=usr/lib/python2.6/test/pydocfodder.py
-file path=usr/lib/python2.6/test/pystone.py
-file path=usr/lib/python2.6/test/randv2_32.pck
-file path=usr/lib/python2.6/test/randv2_64.pck
-file path=usr/lib/python2.6/test/randv3.pck
-file path=usr/lib/python2.6/test/re_tests.py
-file path=usr/lib/python2.6/test/regex_tests.py
-file path=usr/lib/python2.6/test/regrtest.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/test/relimport.py
-file path=usr/lib/python2.6/test/reperf.py
-file path=usr/lib/python2.6/test/sample_doctest.py
-file path=usr/lib/python2.6/test/seq_tests.py
-file path=usr/lib/python2.6/test/sgml_input.html
-file path=usr/lib/python2.6/test/sortperf.py
-file path=usr/lib/python2.6/test/ssl_cert.pem
-file path=usr/lib/python2.6/test/ssl_key.pem
-file path=usr/lib/python2.6/test/string_tests.py
-file path=usr/lib/python2.6/test/svn_python_org_https_cert.pem
-file path=usr/lib/python2.6/test/test.xml
-file path=usr/lib/python2.6/test/test.xml.out
-file path=usr/lib/python2.6/test/test_MimeWriter.py
-file path=usr/lib/python2.6/test/test_SimpleHTTPServer.py
-file path=usr/lib/python2.6/test/test_StringIO.py
-file path=usr/lib/python2.6/test/test___all__.py
-file path=usr/lib/python2.6/test/test___future__.py
-file path=usr/lib/python2.6/test/test__locale.py
-file path=usr/lib/python2.6/test/test_abc.py
-file path=usr/lib/python2.6/test/test_abstract_numbers.py
-file path=usr/lib/python2.6/test/test_aepack.py
-file path=usr/lib/python2.6/test/test_aifc.py
-file path=usr/lib/python2.6/test/test_al.py
-file path=usr/lib/python2.6/test/test_anydbm.py
-file path=usr/lib/python2.6/test/test_applesingle.py
-file path=usr/lib/python2.6/test/test_array.py
-file path=usr/lib/python2.6/test/test_ast.py
-file path=usr/lib/python2.6/test/test_asynchat.py
-file path=usr/lib/python2.6/test/test_asyncore.py
-file path=usr/lib/python2.6/test/test_atexit.py
-file path=usr/lib/python2.6/test/test_audioop.py
-file path=usr/lib/python2.6/test/test_augassign.py
-file path=usr/lib/python2.6/test/test_base64.py
-file path=usr/lib/python2.6/test/test_bastion.py
-file path=usr/lib/python2.6/test/test_bigaddrspace.py
-file path=usr/lib/python2.6/test/test_bigmem.py
-file path=usr/lib/python2.6/test/test_binascii.py
-file path=usr/lib/python2.6/test/test_binhex.py
-file path=usr/lib/python2.6/test/test_binop.py
-file path=usr/lib/python2.6/test/test_bisect.py
-file path=usr/lib/python2.6/test/test_bool.py
-file path=usr/lib/python2.6/test/test_bsddb.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/test/test_bsddb185.py
-file path=usr/lib/python2.6/test/test_bsddb3.py
-file path=usr/lib/python2.6/test/test_buffer.py
-file path=usr/lib/python2.6/test/test_bufio.py
-file path=usr/lib/python2.6/test/test_builtin.py
-file path=usr/lib/python2.6/test/test_bytes.py
-file path=usr/lib/python2.6/test/test_bz2.py
-file path=usr/lib/python2.6/test/test_calendar.py
-file path=usr/lib/python2.6/test/test_call.py
-file path=usr/lib/python2.6/test/test_capi.py
-file path=usr/lib/python2.6/test/test_cd.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/test/test_cfgparser.py
-file path=usr/lib/python2.6/test/test_cgi.py
-file path=usr/lib/python2.6/test/test_charmapcodec.py
-file path=usr/lib/python2.6/test/test_cl.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/test/test_class.py
-file path=usr/lib/python2.6/test/test_cmath.py
-file path=usr/lib/python2.6/test/test_cmd.py
-file path=usr/lib/python2.6/test/test_cmd_line.py
-file path=usr/lib/python2.6/test/test_cmd_line_script.py
-file path=usr/lib/python2.6/test/test_code.py
-file path=usr/lib/python2.6/test/test_codeccallbacks.py
-file path=usr/lib/python2.6/test/test_codecencodings_cn.py
-file path=usr/lib/python2.6/test/test_codecencodings_hk.py
-file path=usr/lib/python2.6/test/test_codecencodings_jp.py
-file path=usr/lib/python2.6/test/test_codecencodings_kr.py
-file path=usr/lib/python2.6/test/test_codecencodings_tw.py
-file path=usr/lib/python2.6/test/test_codecmaps_cn.py
-file path=usr/lib/python2.6/test/test_codecmaps_hk.py
-file path=usr/lib/python2.6/test/test_codecmaps_jp.py
-file path=usr/lib/python2.6/test/test_codecmaps_kr.py
-file path=usr/lib/python2.6/test/test_codecmaps_tw.py
-file path=usr/lib/python2.6/test/test_codecs.py
-file path=usr/lib/python2.6/test/test_codeop.py
-file path=usr/lib/python2.6/test/test_coding.py
-file path=usr/lib/python2.6/test/test_coercion.py
-file path=usr/lib/python2.6/test/test_collections.py
-file path=usr/lib/python2.6/test/test_colorsys.py
-file path=usr/lib/python2.6/test/test_commands.py
-file path=usr/lib/python2.6/test/test_compare.py
-file path=usr/lib/python2.6/test/test_compile.py
-file path=usr/lib/python2.6/test/test_compiler.py
-file path=usr/lib/python2.6/test/test_complex.py
-file path=usr/lib/python2.6/test/test_complex_args.py
-file path=usr/lib/python2.6/test/test_contains.py
-file path=usr/lib/python2.6/test/test_contextlib.py
-file path=usr/lib/python2.6/test/test_cookie.py
-file path=usr/lib/python2.6/test/test_cookielib.py
-file path=usr/lib/python2.6/test/test_copy.py
-file path=usr/lib/python2.6/test/test_copy_reg.py
-file path=usr/lib/python2.6/test/test_cpickle.py
-file path=usr/lib/python2.6/test/test_cprofile.py
-file path=usr/lib/python2.6/test/test_crypt.py
-file path=usr/lib/python2.6/test/test_csv.py
-file path=usr/lib/python2.6/test/test_ctypes.py
-file path=usr/lib/python2.6/test/test_curses.py
-file path=usr/lib/python2.6/test/test_datetime.py
-file path=usr/lib/python2.6/test/test_dbm.py
-file path=usr/lib/python2.6/test/test_decimal.py
-file path=usr/lib/python2.6/test/test_decorators.py
-file path=usr/lib/python2.6/test/test_defaultdict.py
-file path=usr/lib/python2.6/test/test_deque.py
-file path=usr/lib/python2.6/test/test_descr.py
-file path=usr/lib/python2.6/test/test_descrtut.py
-file path=usr/lib/python2.6/test/test_dict.py
-file path=usr/lib/python2.6/test/test_difflib.py
-file path=usr/lib/python2.6/test/test_difflib_expect.html
-file path=usr/lib/python2.6/test/test_dircache.py
-file path=usr/lib/python2.6/test/test_dis.py
-file path=usr/lib/python2.6/test/test_distutils.py
-file path=usr/lib/python2.6/test/test_dl.py
-file path=usr/lib/python2.6/test/test_doctest.py
-file path=usr/lib/python2.6/test/test_doctest.txt
-file path=usr/lib/python2.6/test/test_doctest2.py
-file path=usr/lib/python2.6/test/test_doctest2.txt
-file path=usr/lib/python2.6/test/test_doctest3.txt
-file path=usr/lib/python2.6/test/test_doctest4.txt
-file path=usr/lib/python2.6/test/test_docxmlrpc.py
-file path=usr/lib/python2.6/test/test_dumbdbm.py
-file path=usr/lib/python2.6/test/test_dummy_thread.py
-file path=usr/lib/python2.6/test/test_dummy_threading.py
-file path=usr/lib/python2.6/test/test_email.py
-file path=usr/lib/python2.6/test/test_email_codecs.py
-file path=usr/lib/python2.6/test/test_email_renamed.py
-file path=usr/lib/python2.6/test/test_enumerate.py
-file path=usr/lib/python2.6/test/test_eof.py
-file path=usr/lib/python2.6/test/test_epoll.py
-file path=usr/lib/python2.6/test/test_errno.py
-file path=usr/lib/python2.6/test/test_exception_variations.py
-file path=usr/lib/python2.6/test/test_exceptions.py
-file path=usr/lib/python2.6/test/test_extcall.py
-file path=usr/lib/python2.6/test/test_fcntl.py
-file path=usr/lib/python2.6/test/test_file.py
-file path=usr/lib/python2.6/test/test_filecmp.py
-file path=usr/lib/python2.6/test/test_fileinput.py
-file path=usr/lib/python2.6/test/test_fileio.py
-file path=usr/lib/python2.6/test/test_float.py
-file path=usr/lib/python2.6/test/test_fnmatch.py
-file path=usr/lib/python2.6/test/test_fork1.py
-file path=usr/lib/python2.6/test/test_format.py
-file path=usr/lib/python2.6/test/test_fpformat.py
-file path=usr/lib/python2.6/test/test_fractions.py
-file path=usr/lib/python2.6/test/test_frozen.py
-file path=usr/lib/python2.6/test/test_ftplib.py
-file path=usr/lib/python2.6/test/test_funcattrs.py
-file path=usr/lib/python2.6/test/test_functools.py
-file path=usr/lib/python2.6/test/test_future.py
-file path=usr/lib/python2.6/test/test_future1.py
-file path=usr/lib/python2.6/test/test_future2.py
-file path=usr/lib/python2.6/test/test_future3.py
-file path=usr/lib/python2.6/test/test_future4.py
-file path=usr/lib/python2.6/test/test_future5.py
-file path=usr/lib/python2.6/test/test_future_builtins.py
-file path=usr/lib/python2.6/test/test_gc.py
-file path=usr/lib/python2.6/test/test_gdbm.py
-file path=usr/lib/python2.6/test/test_generators.py
-file path=usr/lib/python2.6/test/test_genericpath.py
-file path=usr/lib/python2.6/test/test_genexps.py
-file path=usr/lib/python2.6/test/test_getargs.py
-file path=usr/lib/python2.6/test/test_getargs2.py
-file path=usr/lib/python2.6/test/test_getopt.py
-file path=usr/lib/python2.6/test/test_gettext.py
-file path=usr/lib/python2.6/test/test_gl.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/test/test_glob.py
-file path=usr/lib/python2.6/test/test_global.py
-file path=usr/lib/python2.6/test/test_grammar.py
-file path=usr/lib/python2.6/test/test_grp.py
-file path=usr/lib/python2.6/test/test_gzip.py
-file path=usr/lib/python2.6/test/test_hash.py
-file path=usr/lib/python2.6/test/test_hashlib.py
-file path=usr/lib/python2.6/test/test_heapq.py
-file path=usr/lib/python2.6/test/test_hmac.py
-file path=usr/lib/python2.6/test/test_hotshot.py
-file path=usr/lib/python2.6/test/test_htmllib.py
-file path=usr/lib/python2.6/test/test_htmlparser.py
-file path=usr/lib/python2.6/test/test_httplib.py
-file path=usr/lib/python2.6/test/test_httpservers.py
-file path=usr/lib/python2.6/test/test_imageop.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/test/test_imaplib.py
-file path=usr/lib/python2.6/test/test_imgfile.py
-file path=usr/lib/python2.6/test/test_imp.py
-file path=usr/lib/python2.6/test/test_import.py
-file path=usr/lib/python2.6/test/test_importhooks.py
-file path=usr/lib/python2.6/test/test_index.py
-file path=usr/lib/python2.6/test/test_inspect.py
-file path=usr/lib/python2.6/test/test_int.py
-file path=usr/lib/python2.6/test/test_int_literal.py
-file path=usr/lib/python2.6/test/test_io.py
-file path=usr/lib/python2.6/test/test_ioctl.py
-file path=usr/lib/python2.6/test/test_isinstance.py
-file path=usr/lib/python2.6/test/test_iter.py
-file path=usr/lib/python2.6/test/test_iterlen.py
-file path=usr/lib/python2.6/test/test_itertools.py
-file path=usr/lib/python2.6/test/test_json.py
-file path=usr/lib/python2.6/test/test_kqueue.py
-file path=usr/lib/python2.6/test/test_largefile.py
-file path=usr/lib/python2.6/test/test_lib2to3.py
-file path=usr/lib/python2.6/test/test_linecache.py
-file path=usr/lib/python2.6/test/test_linuxaudiodev.py
-file path=usr/lib/python2.6/test/test_list.py
-file path=usr/lib/python2.6/test/test_locale.py
-file path=usr/lib/python2.6/test/test_logging.py
-file path=usr/lib/python2.6/test/test_long.py
-file path=usr/lib/python2.6/test/test_long_future.py
-file path=usr/lib/python2.6/test/test_longexp.py
-file path=usr/lib/python2.6/test/test_macos.py
-file path=usr/lib/python2.6/test/test_macostools.py
-file path=usr/lib/python2.6/test/test_macpath.py
-file path=usr/lib/python2.6/test/test_mailbox.py
-file path=usr/lib/python2.6/test/test_marshal.py
-file path=usr/lib/python2.6/test/test_math.py
-file path=usr/lib/python2.6/test/test_md5.py
-file path=usr/lib/python2.6/test/test_memoryio.py
-file path=usr/lib/python2.6/test/test_mhlib.py
-file path=usr/lib/python2.6/test/test_mimetools.py
-file path=usr/lib/python2.6/test/test_mimetypes.py
-file path=usr/lib/python2.6/test/test_minidom.py
-file path=usr/lib/python2.6/test/test_mmap.py
-file path=usr/lib/python2.6/test/test_module.py
-file path=usr/lib/python2.6/test/test_modulefinder.py
-file path=usr/lib/python2.6/test/test_multibytecodec.py
-file path=usr/lib/python2.6/test/test_multibytecodec_support.py
-file path=usr/lib/python2.6/test/test_multifile.py
-file path=usr/lib/python2.6/test/test_multiprocessing.py
-file path=usr/lib/python2.6/test/test_mutants.py
-file path=usr/lib/python2.6/test/test_mutex.py
-file path=usr/lib/python2.6/test/test_netrc.py
-file path=usr/lib/python2.6/test/test_new.py
-file path=usr/lib/python2.6/test/test_nis.py
-file path=usr/lib/python2.6/test/test_normalization.py
-file path=usr/lib/python2.6/test/test_ntpath.py
-file path=usr/lib/python2.6/test/test_old_mailbox.py
-file path=usr/lib/python2.6/test/test_opcodes.py
-file path=usr/lib/python2.6/test/test_openpty.py
-file path=usr/lib/python2.6/test/test_operator.py
-file path=usr/lib/python2.6/test/test_optparse.py
-file path=usr/lib/python2.6/test/test_os.py
-file path=usr/lib/python2.6/test/test_ossaudiodev.py
-file path=usr/lib/python2.6/test/test_parser.py
-file path=usr/lib/python2.6/test/test_peepholer.py
-file path=usr/lib/python2.6/test/test_pep247.py
-file path=usr/lib/python2.6/test/test_pep263.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/test/test_pep277.py
-file path=usr/lib/python2.6/test/test_pep292.py
-file path=usr/lib/python2.6/test/test_pep352.py
-file path=usr/lib/python2.6/test/test_pickle.py
-file path=usr/lib/python2.6/test/test_pickletools.py
-file path=usr/lib/python2.6/test/test_pipes.py
-file path=usr/lib/python2.6/test/test_pkg.py
-file path=usr/lib/python2.6/test/test_pkgimport.py
-file path=usr/lib/python2.6/test/test_pkgutil.py
-file path=usr/lib/python2.6/test/test_platform.py
-file path=usr/lib/python2.6/test/test_plistlib.py
-file path=usr/lib/python2.6/test/test_poll.py
-file path=usr/lib/python2.6/test/test_popen.py
-file path=usr/lib/python2.6/test/test_popen2.py
-file path=usr/lib/python2.6/test/test_poplib.py
-file path=usr/lib/python2.6/test/test_posix.py
-file path=usr/lib/python2.6/test/test_posixpath.py
-file path=usr/lib/python2.6/test/test_pow.py
-file path=usr/lib/python2.6/test/test_pprint.py
-file path=usr/lib/python2.6/test/test_print.py
-file path=usr/lib/python2.6/test/test_profile.py
-file path=usr/lib/python2.6/test/test_profilehooks.py
-file path=usr/lib/python2.6/test/test_property.py
-file path=usr/lib/python2.6/test/test_pstats.py
-file path=usr/lib/python2.6/test/test_pty.py
-file path=usr/lib/python2.6/test/test_pwd.py
-file path=usr/lib/python2.6/test/test_py3kwarn.py
-file path=usr/lib/python2.6/test/test_pyclbr.py
-file path=usr/lib/python2.6/test/test_pydoc.py
-file path=usr/lib/python2.6/test/test_pyexpat.py
-file path=usr/lib/python2.6/test/test_queue.py
-file path=usr/lib/python2.6/test/test_quopri.py
-file path=usr/lib/python2.6/test/test_random.py
-file path=usr/lib/python2.6/test/test_re.py
-file path=usr/lib/python2.6/test/test_repr.py
-file path=usr/lib/python2.6/test/test_resource.py
-file path=usr/lib/python2.6/test/test_rfc822.py
-file path=usr/lib/python2.6/test/test_richcmp.py
-file path=usr/lib/python2.6/test/test_robotparser.py
-file path=usr/lib/python2.6/test/test_runpy.py
-file path=usr/lib/python2.6/test/test_sax.py
-file path=usr/lib/python2.6/test/test_scope.py
-file path=usr/lib/python2.6/test/test_scriptpackages.py
-file path=usr/lib/python2.6/test/test_select.py
-file path=usr/lib/python2.6/test/test_set.py
-file path=usr/lib/python2.6/test/test_sets.py
-file path=usr/lib/python2.6/test/test_sgmllib.py
-file path=usr/lib/python2.6/test/test_sha.py
-file path=usr/lib/python2.6/test/test_shelve.py
-file path=usr/lib/python2.6/test/test_shlex.py
-file path=usr/lib/python2.6/test/test_shutil.py
-file path=usr/lib/python2.6/test/test_signal.py
-file path=usr/lib/python2.6/test/test_site.py
-file path=usr/lib/python2.6/test/test_slice.py
-file path=usr/lib/python2.6/test/test_smtplib.py
-file path=usr/lib/python2.6/test/test_smtpnet.py
-file path=usr/lib/python2.6/test/test_socket.py
-file path=usr/lib/python2.6/test/test_socketserver.py
-file path=usr/lib/python2.6/test/test_softspace.py
-file path=usr/lib/python2.6/test/test_sort.py
-file path=usr/lib/python2.6/test/test_sqlite.py
-file path=usr/lib/python2.6/test/test_ssl.py
-file path=usr/lib/python2.6/test/test_startfile.py
-file path=usr/lib/python2.6/test/test_str.py
-file path=usr/lib/python2.6/test/test_strftime.py
-file path=usr/lib/python2.6/test/test_string.py
-file path=usr/lib/python2.6/test/test_stringprep.py
-file path=usr/lib/python2.6/test/test_strop.py
-file path=usr/lib/python2.6/test/test_strptime.py
-file path=usr/lib/python2.6/test/test_struct.py
-file path=usr/lib/python2.6/test/test_structmembers.py
-file path=usr/lib/python2.6/test/test_structseq.py
-file path=usr/lib/python2.6/test/test_subprocess.py
-file path=usr/lib/python2.6/test/test_sunaudiodev.py
-file path=usr/lib/python2.6/test/test_sundry.py
-file path=usr/lib/python2.6/test/test_support.py
-file path=usr/lib/python2.6/test/test_symtable.py
-file path=usr/lib/python2.6/test/test_syntax.py
-file path=usr/lib/python2.6/test/test_sys.py
-file path=usr/lib/python2.6/test/test_tarfile.py
-file path=usr/lib/python2.6/test/test_tcl.py
-file path=usr/lib/python2.6/test/test_telnetlib.py
-file path=usr/lib/python2.6/test/test_tempfile.py
-file path=usr/lib/python2.6/test/test_textwrap.py
-file path=usr/lib/python2.6/test/test_thread.py
-file path=usr/lib/python2.6/test/test_threaded_import.py
-file path=usr/lib/python2.6/test/test_threadedtempfile.py
-file path=usr/lib/python2.6/test/test_threading.py
-file path=usr/lib/python2.6/test/test_threading_local.py
-file path=usr/lib/python2.6/test/test_threadsignals.py
-file path=usr/lib/python2.6/test/test_time.py
-file path=usr/lib/python2.6/test/test_timeout.py
-file path=usr/lib/python2.6/test/test_tokenize.py
-file path=usr/lib/python2.6/test/test_trace.py
-file path=usr/lib/python2.6/test/test_traceback.py
-file path=usr/lib/python2.6/test/test_transformer.py
-file path=usr/lib/python2.6/test/test_tuple.py
-file path=usr/lib/python2.6/test/test_typechecks.py
-file path=usr/lib/python2.6/test/test_types.py
-file path=usr/lib/python2.6/test/test_ucn.py
-file path=usr/lib/python2.6/test/test_unary.py
-file path=usr/lib/python2.6/test/test_undocumented_details.py
-file path=usr/lib/python2.6/test/test_unicode.py
-file path=usr/lib/python2.6/test/test_unicode_file.py
-file path=usr/lib/python2.6/test/test_unicodedata.py
-file path=usr/lib/python2.6/test/test_unittest.py
-file path=usr/lib/python2.6/test/test_univnewlines.py
-file path=usr/lib/python2.6/test/test_unpack.py
-file path=usr/lib/python2.6/test/test_urllib.py
-file path=usr/lib/python2.6/test/test_urllib2.py
-file path=usr/lib/python2.6/test/test_urllib2_localnet.py
-file path=usr/lib/python2.6/test/test_urllib2net.py
-file path=usr/lib/python2.6/test/test_urllibnet.py
-file path=usr/lib/python2.6/test/test_urlparse.py
-file path=usr/lib/python2.6/test/test_userdict.py
-file path=usr/lib/python2.6/test/test_userlist.py
-file path=usr/lib/python2.6/test/test_userstring.py
-file path=usr/lib/python2.6/test/test_uu.py
-file path=usr/lib/python2.6/test/test_uuid.py
-file path=usr/lib/python2.6/test/test_wait3.py
-file path=usr/lib/python2.6/test/test_wait4.py
-file path=usr/lib/python2.6/test/test_warnings.py
-file path=usr/lib/python2.6/test/test_wave.py
-file path=usr/lib/python2.6/test/test_weakref.py
-file path=usr/lib/python2.6/test/test_whichdb.py
-file path=usr/lib/python2.6/test/test_winreg.py
-file path=usr/lib/python2.6/test/test_winsound.py
-file path=usr/lib/python2.6/test/test_with.py
-file path=usr/lib/python2.6/test/test_wsgiref.py
-file path=usr/lib/python2.6/test/test_xdrlib.py
-file path=usr/lib/python2.6/test/test_xml_etree.py
-file path=usr/lib/python2.6/test/test_xml_etree_c.py
-file path=usr/lib/python2.6/test/test_xmllib.py
-file path=usr/lib/python2.6/test/test_xmlrpc.py
-file path=usr/lib/python2.6/test/test_xpickle.py
-file path=usr/lib/python2.6/test/test_xrange.py
-file path=usr/lib/python2.6/test/test_zipfile.py
-file path=usr/lib/python2.6/test/test_zipfile64.py
-file path=usr/lib/python2.6/test/test_zipimport.py
-file path=usr/lib/python2.6/test/test_zipimport_support.py
-file path=usr/lib/python2.6/test/test_zlib.py
-file path=usr/lib/python2.6/test/testall.py
-file path=usr/lib/python2.6/test/testcodec.py
-file path=usr/lib/python2.6/test/testimg.uue
-file path=usr/lib/python2.6/test/testimgr.uue
-file path=usr/lib/python2.6/test/testrgb.uue
-file path=usr/lib/python2.6/test/testtar.tar
-file path=usr/lib/python2.6/test/tf_inherit_check.py
-file path=usr/lib/python2.6/test/threaded_import_hangers.py
-file path=usr/lib/python2.6/test/time_hashlib.py
-file path=usr/lib/python2.6/test/tokenize_tests.txt
-file path=usr/lib/python2.6/test/ucredtest.py
-file path=usr/lib/python2.6/test/warning_tests.py
-file path=usr/lib/python2.6/test/wrongcert.pem
-file path=usr/lib/python2.6/test/xmltests.py
-file path=usr/lib/python2.6/test/zipdir.zip
-license python26.license license=PSFv2
--- a/components/python/python26/python-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1004 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-<transform file path=usr.*/man/.+ -> default mangler.man.stability obsolete>
-set name=pkg.fmri \
-    value=pkg:/runtime/python-26@$(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.6"
-set name=com.oracle.info.tpno value=$(TPNO)
-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/2009/043
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/bin
-dir  path=usr/bin/$(MACH32)
-
-# isapython2.6
-file usr/bin/python2.6 path=usr/bin/$(MACH32)/isapython2.6
-dir  path=usr/bin/$(MACH64)
-file usr/bin/$(MACH64)/python2.6 path=usr/bin/$(MACH64)/isapython2.6
-link path=usr/bin/$(MACH64)/python target=python2.6 mediator=python \
-    mediator-version=2.6
-link path=usr/bin/$(MACH64)/python-config target=python2.6-config \
-    mediator=python mediator-version=2.6
-link path=usr/bin/$(MACH64)/python2.6 target=isapython2.6
-file path=usr/bin/$(MACH64)/python2.6-config pkg.depend.bypass-generate=.*
-link path=usr/bin/2to3 target=2to3-2.6 mediator=python mediator-version=2.6
-file usr/bin/2to3 path=usr/bin/2to3-2.6
-link path=usr/bin/idle target=idle-2.6 mediator=python mediator-version=2.6
-file usr/bin/idle path=usr/bin/idle-2.6
-hardlink path=usr/bin/isapython2.6 target=../lib/isaexec
-link path=usr/bin/pydoc target=pydoc-2.6 mediator=python mediator-version=2.6
-file usr/bin/pydoc path=usr/bin/pydoc-2.6
-link path=usr/bin/python target=python2.6 mediator=python mediator-version=2.6
-link path=usr/bin/python-config target=python2.6-config mediator=python \
-    mediator-version=2.6
-
-# python2.6
-link path=usr/bin/python2.6 target=$(MACH32)/isapython2.6
-file path=usr/bin/python2.6-config
-dir  path=usr/include
-dir  path=usr/include/python2.6
-file path=usr/include/python2.6/Python-ast.h
-file path=usr/include/python2.6/Python.h
-file path=usr/include/python2.6/abstract.h
-file path=usr/include/python2.6/asdl.h
-file path=usr/include/python2.6/ast.h
-file path=usr/include/python2.6/bitset.h
-file path=usr/include/python2.6/boolobject.h
-file path=usr/include/python2.6/bufferobject.h
-file path=usr/include/python2.6/bytearrayobject.h
-file path=usr/include/python2.6/bytes_methods.h
-file path=usr/include/python2.6/bytesobject.h
-file path=usr/include/python2.6/cStringIO.h
-file path=usr/include/python2.6/cellobject.h
-file path=usr/include/python2.6/ceval.h
-file path=usr/include/python2.6/classobject.h
-file path=usr/include/python2.6/cobject.h
-file path=usr/include/python2.6/code.h
-file path=usr/include/python2.6/codecs.h
-file path=usr/include/python2.6/compile.h
-file path=usr/include/python2.6/complexobject.h
-file path=usr/include/python2.6/datetime.h
-file path=usr/include/python2.6/descrobject.h
-file path=usr/include/python2.6/dictobject.h
-file path=usr/include/python2.6/enumobject.h
-file path=usr/include/python2.6/errcode.h
-file path=usr/include/python2.6/eval.h
-file path=usr/include/python2.6/fileobject.h
-file path=usr/include/python2.6/floatobject.h
-file path=usr/include/python2.6/frameobject.h
-file path=usr/include/python2.6/funcobject.h
-file path=usr/include/python2.6/genobject.h
-file path=usr/include/python2.6/graminit.h
-file path=usr/include/python2.6/grammar.h
-file path=usr/include/python2.6/import.h
-file path=usr/include/python2.6/intobject.h
-file path=usr/include/python2.6/intrcheck.h
-file path=usr/include/python2.6/iterobject.h
-file path=usr/include/python2.6/listobject.h
-file path=usr/include/python2.6/longintrepr.h
-file path=usr/include/python2.6/longobject.h
-file path=usr/include/python2.6/marshal.h
-file path=usr/include/python2.6/metagrammar.h
-file path=usr/include/python2.6/methodobject.h
-file path=usr/include/python2.6/modsupport.h
-file path=usr/include/python2.6/moduleobject.h
-file path=usr/include/python2.6/node.h
-file path=usr/include/python2.6/object.h
-file path=usr/include/python2.6/objimpl.h
-file path=usr/include/python2.6/opcode.h
-file path=usr/include/python2.6/osdefs.h
-file path=usr/include/python2.6/parsetok.h
-file path=usr/include/python2.6/patchlevel.h
-file path=usr/include/python2.6/pgen.h
-file path=usr/include/python2.6/pgenheaders.h
-file path=usr/include/python2.6/py_curses.h
-file path=usr/include/python2.6/pyarena.h
-file path=usr/include/python2.6/pyconfig.h
-file path=usr/include/python2.6/pydebug.h
-file path=usr/include/python2.6/pyerrors.h
-file path=usr/include/python2.6/pyexpat.h
-file path=usr/include/python2.6/pyfpe.h
-file path=usr/include/python2.6/pygetopt.h
-file path=usr/include/python2.6/pymacconfig.h
-file path=usr/include/python2.6/pymactoolbox.h
-file path=usr/include/python2.6/pymath.h
-file path=usr/include/python2.6/pymem.h
-file path=usr/include/python2.6/pyport.h
-file path=usr/include/python2.6/pystate.h
-file path=usr/include/python2.6/pystrcmp.h
-file path=usr/include/python2.6/pystrtod.h
-file path=usr/include/python2.6/pythonrun.h
-file path=usr/include/python2.6/pythread.h
-file path=usr/include/python2.6/rangeobject.h
-file path=usr/include/python2.6/setobject.h
-file path=usr/include/python2.6/sliceobject.h
-file path=usr/include/python2.6/stringobject.h
-file path=usr/include/python2.6/structmember.h
-file path=usr/include/python2.6/structseq.h
-file path=usr/include/python2.6/symtable.h
-file path=usr/include/python2.6/sysmodule.h
-file path=usr/include/python2.6/timefuncs.h
-file path=usr/include/python2.6/token.h
-file path=usr/include/python2.6/traceback.h
-file path=usr/include/python2.6/tupleobject.h
-file path=usr/include/python2.6/ucnhash.h
-file path=usr/include/python2.6/unicodeobject.h
-file path=usr/include/python2.6/warnings.h
-file path=usr/include/python2.6/weakrefobject.h
-dir  path=usr/lib
-dir  path=usr/lib/$(MACH64)
-link path=usr/lib/$(MACH64)/libpython2.6.so target=libpython2.6.so.1.0
-file path=usr/lib/$(MACH64)/libpython2.6.so.1.0
-link path=usr/lib/$(MACH64)/libpython2.6_db.so target=libpython2.6_db.so.1.0
-file path=usr/lib/$(MACH64)/libpython2.6_db.so.1.0
-file $(MACH64)/llib-lpython26.ln path=usr/lib/$(MACH64)/llib-lpython2.6.ln
-link path=usr/lib/libpython2.6.so target=libpython2.6.so.1.0
-file path=usr/lib/libpython2.6.so.1.0
-link path=usr/lib/libpython2.6_db.so target=libpython2.6_db.so.1.0
-file path=usr/lib/libpython2.6_db.so.1.0
-file llib-lpython26 path=usr/lib/llib-lpython2.6
-file $(MACH32)/llib-lpython26.ln path=usr/lib/llib-lpython2.6.ln
-dir  path=usr/lib/python2.6
-file path=usr/lib/python2.6/BaseHTTPServer.py
-file path=usr/lib/python2.6/Bastion.py
-file path=usr/lib/python2.6/CGIHTTPServer.py
-file path=usr/lib/python2.6/ConfigParser.py
-file path=usr/lib/python2.6/Cookie.py pkg.depend.bypass-generate=.*doctest.*
-file path=usr/lib/python2.6/DocXMLRPCServer.py
-file path=usr/lib/python2.6/HTMLParser.py
-file path=usr/lib/python2.6/LICENSE.txt
-file path=usr/lib/python2.6/MimeWriter.py
-file path=usr/lib/python2.6/Queue.py
-file path=usr/lib/python2.6/SimpleHTTPServer.py
-file path=usr/lib/python2.6/SimpleXMLRPCServer.py
-file path=usr/lib/python2.6/SocketServer.py
-file path=usr/lib/python2.6/StringIO.py
-file path=usr/lib/python2.6/UserDict.py
-file path=usr/lib/python2.6/UserList.py
-file path=usr/lib/python2.6/UserString.py pkg.depend.bypass-generate=.*test.*
-file path=usr/lib/python2.6/_LWPCookieJar.py
-file path=usr/lib/python2.6/_MozillaCookieJar.py
-file path=usr/lib/python2.6/__future__.py
-file path=usr/lib/python2.6/__phello__.foo.py
-file path=usr/lib/python2.6/_abcoll.py
-file path=usr/lib/python2.6/_strptime.py
-file path=usr/lib/python2.6/_threading_local.py
-file path=usr/lib/python2.6/abc.py
-file path=usr/lib/python2.6/aifc.py
-file path=usr/lib/python2.6/anydbm.py
-file path=usr/lib/python2.6/ast.py
-file path=usr/lib/python2.6/asynchat.py
-file path=usr/lib/python2.6/asyncore.py
-file path=usr/lib/python2.6/atexit.py
-file path=usr/lib/python2.6/audiodev.py
-file path=usr/lib/python2.6/base64.py
-file path=usr/lib/python2.6/bdb.py
-file path=usr/lib/python2.6/binhex.py
-file path=usr/lib/python2.6/bisect.py
-file path=usr/lib/python2.6/cProfile.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/calendar.py
-file path=usr/lib/python2.6/cgi.py
-file path=usr/lib/python2.6/cgitb.py
-file path=usr/lib/python2.6/chunk.py
-file path=usr/lib/python2.6/cmd.py
-file path=usr/lib/python2.6/code.py
-file path=usr/lib/python2.6/codecs.py
-file path=usr/lib/python2.6/codeop.py
-file path=usr/lib/python2.6/collections.py
-file path=usr/lib/python2.6/colorsys.py
-file path=usr/lib/python2.6/commands.py
-file path=usr/lib/python2.6/compileall.py
-dir  path=usr/lib/python2.6/compiler
-file path=usr/lib/python2.6/compiler/__init__.py
-file path=usr/lib/python2.6/compiler/ast.py
-file path=usr/lib/python2.6/compiler/consts.py
-file path=usr/lib/python2.6/compiler/future.py
-file path=usr/lib/python2.6/compiler/misc.py
-file path=usr/lib/python2.6/compiler/pyassem.py
-file path=usr/lib/python2.6/compiler/pycodegen.py
-file path=usr/lib/python2.6/compiler/symbols.py
-file path=usr/lib/python2.6/compiler/syntax.py
-file path=usr/lib/python2.6/compiler/transformer.py
-file path=usr/lib/python2.6/compiler/visitor.py
-dir  path=usr/lib/python2.6/config
-file Makefile.config path=usr/lib/python2.6/config/Makefile
-file path=usr/lib/python2.6/config/Setup
-file path=usr/lib/python2.6/config/Setup.config
-file path=usr/lib/python2.6/config/Setup.local
-file path=usr/lib/python2.6/config/config.c
-file path=usr/lib/python2.6/config/config.c.in
-file path=usr/lib/python2.6/config/install-sh mode=0555
-file path=usr/lib/python2.6/config/makesetup mode=0555
-file path=usr/lib/python2.6/config/python.o
-file path=usr/lib/python2.6/contextlib.py
-file path=usr/lib/python2.6/cookielib.py
-file path=usr/lib/python2.6/copy.py
-file path=usr/lib/python2.6/copy_reg.py
-file path=usr/lib/python2.6/csv.py
-dir  path=usr/lib/python2.6/ctypes
-file path=usr/lib/python2.6/ctypes/__init__.py
-file path=usr/lib/python2.6/ctypes/_endian.py
-dir  path=usr/lib/python2.6/ctypes/macholib
-file path=usr/lib/python2.6/ctypes/macholib/README.ctypes
-file path=usr/lib/python2.6/ctypes/macholib/__init__.py
-file path=usr/lib/python2.6/ctypes/macholib/dyld.py
-file path=usr/lib/python2.6/ctypes/macholib/dylib.py
-file path=usr/lib/python2.6/ctypes/macholib/fetch_macholib mode=0555
-file path=usr/lib/python2.6/ctypes/macholib/fetch_macholib.bat
-file path=usr/lib/python2.6/ctypes/macholib/framework.py
-file path=usr/lib/python2.6/ctypes/util.py
-file path=usr/lib/python2.6/ctypes/wintypes.py
-dir  path=usr/lib/python2.6/curses
-file path=usr/lib/python2.6/curses/__init__.py
-file path=usr/lib/python2.6/curses/ascii.py
-file path=usr/lib/python2.6/curses/has_key.py
-file path=usr/lib/python2.6/curses/panel.py
-file path=usr/lib/python2.6/curses/textpad.py
-file path=usr/lib/python2.6/curses/wrapper.py
-file path=usr/lib/python2.6/dbhash.py
-file path=usr/lib/python2.6/decimal.py
-file path=usr/lib/python2.6/difflib.py pkg.depend.bypass-generate=.*doctest.*
-file path=usr/lib/python2.6/dircache.py
-file path=usr/lib/python2.6/dis.py
-dir  path=usr/lib/python2.6/distutils
-file path=usr/lib/python2.6/distutils/README
-file path=usr/lib/python2.6/distutils/__init__.py
-file path=usr/lib/python2.6/distutils/archive_util.py
-file path=usr/lib/python2.6/distutils/bcppcompiler.py
-file path=usr/lib/python2.6/distutils/ccompiler.py
-file path=usr/lib/python2.6/distutils/cmd.py
-dir  path=usr/lib/python2.6/distutils/command
-file path=usr/lib/python2.6/distutils/command/__init__.py
-file path=usr/lib/python2.6/distutils/command/bdist.py
-file path=usr/lib/python2.6/distutils/command/bdist_dumb.py
-file path=usr/lib/python2.6/distutils/command/bdist_msi.py
-file path=usr/lib/python2.6/distutils/command/bdist_rpm.py
-file path=usr/lib/python2.6/distutils/command/bdist_wininst.py
-file path=usr/lib/python2.6/distutils/command/build.py
-file path=usr/lib/python2.6/distutils/command/build_clib.py
-file path=usr/lib/python2.6/distutils/command/build_ext.py
-file path=usr/lib/python2.6/distutils/command/build_py.py
-file path=usr/lib/python2.6/distutils/command/build_scripts.py
-file path=usr/lib/python2.6/distutils/command/clean.py
-file path=usr/lib/python2.6/distutils/command/command_template
-file path=usr/lib/python2.6/distutils/command/config.py
-file path=usr/lib/python2.6/distutils/command/install.py
-file path=usr/lib/python2.6/distutils/command/install_data.py
-file path=usr/lib/python2.6/distutils/command/install_egg_info.py
-file path=usr/lib/python2.6/distutils/command/install_headers.py
-file path=usr/lib/python2.6/distutils/command/install_lib.py
-file path=usr/lib/python2.6/distutils/command/install_scripts.py
-file path=usr/lib/python2.6/distutils/command/register.py
-file path=usr/lib/python2.6/distutils/command/sdist.py
-file path=usr/lib/python2.6/distutils/command/upload.py
-file path=usr/lib/python2.6/distutils/command/wininst-6.0.exe
-file path=usr/lib/python2.6/distutils/command/wininst-7.1.exe
-file path=usr/lib/python2.6/distutils/command/wininst-8.0.exe
-file path=usr/lib/python2.6/distutils/command/wininst-9.0-amd64.exe
-file path=usr/lib/python2.6/distutils/command/wininst-9.0.exe
-file path=usr/lib/python2.6/distutils/config.py
-file path=usr/lib/python2.6/distutils/core.py
-file path=usr/lib/python2.6/distutils/cygwinccompiler.py
-file path=usr/lib/python2.6/distutils/debug.py
-file path=usr/lib/python2.6/distutils/dep_util.py
-file path=usr/lib/python2.6/distutils/dir_util.py
-file path=usr/lib/python2.6/distutils/dist.py
-file path=usr/lib/python2.6/distutils/emxccompiler.py
-file path=usr/lib/python2.6/distutils/errors.py
-file path=usr/lib/python2.6/distutils/extension.py
-file path=usr/lib/python2.6/distutils/fancy_getopt.py
-file path=usr/lib/python2.6/distutils/file_util.py
-file path=usr/lib/python2.6/distutils/filelist.py
-file path=usr/lib/python2.6/distutils/log.py
-file path=usr/lib/python2.6/distutils/msvc9compiler.py
-file path=usr/lib/python2.6/distutils/msvccompiler.py
-file path=usr/lib/python2.6/distutils/mwerkscompiler.py
-file path=usr/lib/python2.6/distutils/spawn.py
-file path=usr/lib/python2.6/distutils/sysconfig.py
-file path=usr/lib/python2.6/distutils/text_file.py
-file path=usr/lib/python2.6/distutils/unixccompiler.py
-file path=usr/lib/python2.6/distutils/util.py
-file path=usr/lib/python2.6/distutils/version.py
-file path=usr/lib/python2.6/distutils/versionpredicate.py
-file path=usr/lib/python2.6/doctest.py
-file path=usr/lib/python2.6/dumbdbm.py
-file path=usr/lib/python2.6/dummy_thread.py
-file path=usr/lib/python2.6/dummy_threading.py
-dir  path=usr/lib/python2.6/email
-file path=usr/lib/python2.6/email/__init__.py
-file path=usr/lib/python2.6/email/_parseaddr.py
-file path=usr/lib/python2.6/email/base64mime.py
-file path=usr/lib/python2.6/email/charset.py
-file path=usr/lib/python2.6/email/encoders.py
-file path=usr/lib/python2.6/email/errors.py
-file path=usr/lib/python2.6/email/feedparser.py
-file path=usr/lib/python2.6/email/generator.py
-file path=usr/lib/python2.6/email/header.py
-file path=usr/lib/python2.6/email/iterators.py
-file path=usr/lib/python2.6/email/message.py
-dir  path=usr/lib/python2.6/email/mime
-file path=usr/lib/python2.6/email/mime/__init__.py
-file path=usr/lib/python2.6/email/mime/application.py
-file path=usr/lib/python2.6/email/mime/audio.py
-file path=usr/lib/python2.6/email/mime/base.py
-file path=usr/lib/python2.6/email/mime/image.py
-file path=usr/lib/python2.6/email/mime/message.py
-file path=usr/lib/python2.6/email/mime/multipart.py
-file path=usr/lib/python2.6/email/mime/nonmultipart.py
-file path=usr/lib/python2.6/email/mime/text.py
-file path=usr/lib/python2.6/email/parser.py
-file path=usr/lib/python2.6/email/quoprimime.py
-file path=usr/lib/python2.6/email/utils.py
-dir  path=usr/lib/python2.6/encodings
-file path=usr/lib/python2.6/encodings/__init__.py
-file path=usr/lib/python2.6/encodings/aliases.py
-file path=usr/lib/python2.6/encodings/ascii.py
-file path=usr/lib/python2.6/encodings/base64_codec.py
-file path=usr/lib/python2.6/encodings/big5.py
-file path=usr/lib/python2.6/encodings/big5hkscs.py
-file path=usr/lib/python2.6/encodings/bz2_codec.py
-file path=usr/lib/python2.6/encodings/charmap.py
-file path=usr/lib/python2.6/encodings/cp037.py
-file path=usr/lib/python2.6/encodings/cp1006.py
-file path=usr/lib/python2.6/encodings/cp1026.py
-file path=usr/lib/python2.6/encodings/cp1140.py
-file path=usr/lib/python2.6/encodings/cp1250.py
-file path=usr/lib/python2.6/encodings/cp1251.py
-file path=usr/lib/python2.6/encodings/cp1252.py
-file path=usr/lib/python2.6/encodings/cp1253.py
-file path=usr/lib/python2.6/encodings/cp1254.py
-file path=usr/lib/python2.6/encodings/cp1255.py
-file path=usr/lib/python2.6/encodings/cp1256.py
-file path=usr/lib/python2.6/encodings/cp1257.py
-file path=usr/lib/python2.6/encodings/cp1258.py
-file path=usr/lib/python2.6/encodings/cp424.py
-file path=usr/lib/python2.6/encodings/cp437.py
-file path=usr/lib/python2.6/encodings/cp500.py
-file path=usr/lib/python2.6/encodings/cp737.py
-file path=usr/lib/python2.6/encodings/cp775.py
-file path=usr/lib/python2.6/encodings/cp850.py
-file path=usr/lib/python2.6/encodings/cp852.py
-file path=usr/lib/python2.6/encodings/cp855.py
-file path=usr/lib/python2.6/encodings/cp856.py
-file path=usr/lib/python2.6/encodings/cp857.py
-file path=usr/lib/python2.6/encodings/cp860.py
-file path=usr/lib/python2.6/encodings/cp861.py
-file path=usr/lib/python2.6/encodings/cp862.py
-file path=usr/lib/python2.6/encodings/cp863.py
-file path=usr/lib/python2.6/encodings/cp864.py
-file path=usr/lib/python2.6/encodings/cp865.py
-file path=usr/lib/python2.6/encodings/cp866.py
-file path=usr/lib/python2.6/encodings/cp869.py
-file path=usr/lib/python2.6/encodings/cp874.py
-file path=usr/lib/python2.6/encodings/cp875.py
-file path=usr/lib/python2.6/encodings/cp932.py
-file path=usr/lib/python2.6/encodings/cp949.py
-file path=usr/lib/python2.6/encodings/cp950.py
-file path=usr/lib/python2.6/encodings/euc_jis_2004.py
-file path=usr/lib/python2.6/encodings/euc_jisx0213.py
-file path=usr/lib/python2.6/encodings/euc_jp.py
-file path=usr/lib/python2.6/encodings/euc_kr.py
-file path=usr/lib/python2.6/encodings/gb18030.py
-file path=usr/lib/python2.6/encodings/gb2312.py
-file path=usr/lib/python2.6/encodings/gbk.py
-file path=usr/lib/python2.6/encodings/hex_codec.py
-file path=usr/lib/python2.6/encodings/hp_roman8.py
-file path=usr/lib/python2.6/encodings/hz.py
-file path=usr/lib/python2.6/encodings/idna.py
-file path=usr/lib/python2.6/encodings/iso2022_jp.py
-file path=usr/lib/python2.6/encodings/iso2022_jp_1.py
-file path=usr/lib/python2.6/encodings/iso2022_jp_2.py
-file path=usr/lib/python2.6/encodings/iso2022_jp_2004.py
-file path=usr/lib/python2.6/encodings/iso2022_jp_3.py
-file path=usr/lib/python2.6/encodings/iso2022_jp_ext.py
-file path=usr/lib/python2.6/encodings/iso2022_kr.py
-file path=usr/lib/python2.6/encodings/iso8859_1.py
-file path=usr/lib/python2.6/encodings/iso8859_10.py
-file path=usr/lib/python2.6/encodings/iso8859_11.py
-file path=usr/lib/python2.6/encodings/iso8859_13.py
-file path=usr/lib/python2.6/encodings/iso8859_14.py
-file path=usr/lib/python2.6/encodings/iso8859_15.py
-file path=usr/lib/python2.6/encodings/iso8859_16.py
-file path=usr/lib/python2.6/encodings/iso8859_2.py
-file path=usr/lib/python2.6/encodings/iso8859_3.py
-file path=usr/lib/python2.6/encodings/iso8859_4.py
-file path=usr/lib/python2.6/encodings/iso8859_5.py
-file path=usr/lib/python2.6/encodings/iso8859_6.py
-file path=usr/lib/python2.6/encodings/iso8859_7.py
-file path=usr/lib/python2.6/encodings/iso8859_8.py
-file path=usr/lib/python2.6/encodings/iso8859_9.py
-file path=usr/lib/python2.6/encodings/johab.py
-file path=usr/lib/python2.6/encodings/koi8_r.py
-file path=usr/lib/python2.6/encodings/koi8_u.py
-file path=usr/lib/python2.6/encodings/latin_1.py
-file path=usr/lib/python2.6/encodings/mac_arabic.py
-file path=usr/lib/python2.6/encodings/mac_centeuro.py
-file path=usr/lib/python2.6/encodings/mac_croatian.py
-file path=usr/lib/python2.6/encodings/mac_cyrillic.py
-file path=usr/lib/python2.6/encodings/mac_farsi.py
-file path=usr/lib/python2.6/encodings/mac_greek.py
-file path=usr/lib/python2.6/encodings/mac_iceland.py
-file path=usr/lib/python2.6/encodings/mac_latin2.py
-file path=usr/lib/python2.6/encodings/mac_roman.py
-file path=usr/lib/python2.6/encodings/mac_romanian.py
-file path=usr/lib/python2.6/encodings/mac_turkish.py
-file path=usr/lib/python2.6/encodings/mbcs.py
-file path=usr/lib/python2.6/encodings/palmos.py
-file path=usr/lib/python2.6/encodings/ptcp154.py
-file path=usr/lib/python2.6/encodings/punycode.py
-file path=usr/lib/python2.6/encodings/quopri_codec.py
-file path=usr/lib/python2.6/encodings/raw_unicode_escape.py
-file path=usr/lib/python2.6/encodings/rot_13.py
-file path=usr/lib/python2.6/encodings/shift_jis.py
-file path=usr/lib/python2.6/encodings/shift_jis_2004.py
-file path=usr/lib/python2.6/encodings/shift_jisx0213.py
-file path=usr/lib/python2.6/encodings/string_escape.py
-file path=usr/lib/python2.6/encodings/tis_620.py
-file path=usr/lib/python2.6/encodings/undefined.py
-file path=usr/lib/python2.6/encodings/unicode_escape.py
-file path=usr/lib/python2.6/encodings/unicode_internal.py
-file path=usr/lib/python2.6/encodings/utf_16.py
-file path=usr/lib/python2.6/encodings/utf_16_be.py
-file path=usr/lib/python2.6/encodings/utf_16_le.py
-file path=usr/lib/python2.6/encodings/utf_32.py
-file path=usr/lib/python2.6/encodings/utf_32_be.py
-file path=usr/lib/python2.6/encodings/utf_32_le.py
-file path=usr/lib/python2.6/encodings/utf_7.py
-file path=usr/lib/python2.6/encodings/utf_8.py
-file path=usr/lib/python2.6/encodings/utf_8_sig.py
-file path=usr/lib/python2.6/encodings/uu_codec.py
-file path=usr/lib/python2.6/encodings/zlib_codec.py
-file path=usr/lib/python2.6/filecmp.py
-file path=usr/lib/python2.6/fileinput.py
-file path=usr/lib/python2.6/fnmatch.py
-file path=usr/lib/python2.6/formatter.py
-file path=usr/lib/python2.6/fpformat.py
-file path=usr/lib/python2.6/fractions.py
-file path=usr/lib/python2.6/ftplib.py
-file path=usr/lib/python2.6/functools.py
-file path=usr/lib/python2.6/genericpath.py
-file path=usr/lib/python2.6/getopt.py
-file path=usr/lib/python2.6/getpass.py
-file path=usr/lib/python2.6/gettext.py
-file path=usr/lib/python2.6/glob.py
-file path=usr/lib/python2.6/gzip.py
-file path=usr/lib/python2.6/hashlib.py
-file path=usr/lib/python2.6/heapq.py
-file path=usr/lib/python2.6/hmac.py
-dir  path=usr/lib/python2.6/hotshot
-file path=usr/lib/python2.6/hotshot/__init__.py
-file path=usr/lib/python2.6/hotshot/log.py
-file path=usr/lib/python2.6/hotshot/stats.py
-file path=usr/lib/python2.6/hotshot/stones.py
-file path=usr/lib/python2.6/htmlentitydefs.py
-file path=usr/lib/python2.6/htmllib.py
-file path=usr/lib/python2.6/httplib.py
-dir  path=usr/lib/python2.6/idlelib
-file path=usr/lib/python2.6/idlelib/AutoComplete.py
-file path=usr/lib/python2.6/idlelib/AutoCompleteWindow.py
-file path=usr/lib/python2.6/idlelib/AutoExpand.py
-file path=usr/lib/python2.6/idlelib/Bindings.py
-file path=usr/lib/python2.6/idlelib/CREDITS.txt
-file path=usr/lib/python2.6/idlelib/CallTipWindow.py
-file path=usr/lib/python2.6/idlelib/CallTips.py
-file path=usr/lib/python2.6/idlelib/ChangeLog
-file path=usr/lib/python2.6/idlelib/ClassBrowser.py
-file path=usr/lib/python2.6/idlelib/CodeContext.py
-file path=usr/lib/python2.6/idlelib/ColorDelegator.py
-file path=usr/lib/python2.6/idlelib/Debugger.py
-file path=usr/lib/python2.6/idlelib/Delegator.py
-file path=usr/lib/python2.6/idlelib/EditorWindow.py
-file path=usr/lib/python2.6/idlelib/FileList.py
-file path=usr/lib/python2.6/idlelib/FormatParagraph.py
-file path=usr/lib/python2.6/idlelib/GrepDialog.py
-file path=usr/lib/python2.6/idlelib/HISTORY.txt
-file path=usr/lib/python2.6/idlelib/HyperParser.py
-file path=usr/lib/python2.6/idlelib/IOBinding.py
-dir  path=usr/lib/python2.6/idlelib/Icons
-file path=usr/lib/python2.6/idlelib/Icons/folder.gif
-file path=usr/lib/python2.6/idlelib/Icons/idle.icns
-file path=usr/lib/python2.6/idlelib/Icons/minusnode.gif
-file path=usr/lib/python2.6/idlelib/Icons/openfolder.gif
-file path=usr/lib/python2.6/idlelib/Icons/plusnode.gif
-file path=usr/lib/python2.6/idlelib/Icons/python.gif
-file path=usr/lib/python2.6/idlelib/Icons/tk.gif
-file path=usr/lib/python2.6/idlelib/IdleHistory.py
-file path=usr/lib/python2.6/idlelib/MultiCall.py
-file path=usr/lib/python2.6/idlelib/MultiStatusBar.py
-file path=usr/lib/python2.6/idlelib/NEWS.txt
-file path=usr/lib/python2.6/idlelib/ObjectBrowser.py
-file path=usr/lib/python2.6/idlelib/OutputWindow.py
-file path=usr/lib/python2.6/idlelib/ParenMatch.py
-file path=usr/lib/python2.6/idlelib/PathBrowser.py
-file path=usr/lib/python2.6/idlelib/Percolator.py
-file path=usr/lib/python2.6/idlelib/PyParse.py
-file path=usr/lib/python2.6/idlelib/PyShell.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/idlelib/README.txt
-file path=usr/lib/python2.6/idlelib/RemoteDebugger.py
-file path=usr/lib/python2.6/idlelib/RemoteObjectBrowser.py
-file path=usr/lib/python2.6/idlelib/ReplaceDialog.py
-file path=usr/lib/python2.6/idlelib/ScriptBinding.py
-file path=usr/lib/python2.6/idlelib/ScrolledList.py
-file path=usr/lib/python2.6/idlelib/SearchDialog.py
-file path=usr/lib/python2.6/idlelib/SearchDialogBase.py
-file path=usr/lib/python2.6/idlelib/SearchEngine.py
-file path=usr/lib/python2.6/idlelib/StackViewer.py
-file path=usr/lib/python2.6/idlelib/TODO.txt
-file path=usr/lib/python2.6/idlelib/ToolTip.py
-file path=usr/lib/python2.6/idlelib/TreeWidget.py
-file path=usr/lib/python2.6/idlelib/UndoDelegator.py
-file path=usr/lib/python2.6/idlelib/WidgetRedirector.py
-file path=usr/lib/python2.6/idlelib/WindowList.py
-file path=usr/lib/python2.6/idlelib/ZoomHeight.py
-file path=usr/lib/python2.6/idlelib/__init__.py
-file path=usr/lib/python2.6/idlelib/aboutDialog.py
-file path=usr/lib/python2.6/idlelib/config-extensions.def
-file path=usr/lib/python2.6/idlelib/config-highlight.def
-file path=usr/lib/python2.6/idlelib/config-keys.def
-file path=usr/lib/python2.6/idlelib/config-main.def
-file path=usr/lib/python2.6/idlelib/configDialog.py
-file path=usr/lib/python2.6/idlelib/configHandler.py
-file path=usr/lib/python2.6/idlelib/configHelpSourceEdit.py
-file path=usr/lib/python2.6/idlelib/configSectionNameDialog.py
-file path=usr/lib/python2.6/idlelib/dynOptionMenuWidget.py
-file path=usr/lib/python2.6/idlelib/extend.txt
-file path=usr/lib/python2.6/idlelib/help.txt
-file path=usr/lib/python2.6/idlelib/idle.bat mode=0555
-file path=usr/lib/python2.6/idlelib/idle.py
-file path=usr/lib/python2.6/idlelib/idle.pyw
-file path=usr/lib/python2.6/idlelib/idlever.py
-file path=usr/lib/python2.6/idlelib/keybindingDialog.py
-file path=usr/lib/python2.6/idlelib/macosxSupport.py
-file path=usr/lib/python2.6/idlelib/rpc.py
-file path=usr/lib/python2.6/idlelib/run.py
-file path=usr/lib/python2.6/idlelib/tabbedpages.py
-file path=usr/lib/python2.6/idlelib/textView.py
-file path=usr/lib/python2.6/ihooks.py
-file path=usr/lib/python2.6/imaplib.py
-file path=usr/lib/python2.6/imghdr.py
-file path=usr/lib/python2.6/imputil.py
-file path=usr/lib/python2.6/inspect.py
-file path=usr/lib/python2.6/io.py
-dir  path=usr/lib/python2.6/json
-file path=usr/lib/python2.6/json/__init__.py
-file path=usr/lib/python2.6/json/decoder.py
-file path=usr/lib/python2.6/json/encoder.py
-file path=usr/lib/python2.6/json/scanner.py
-file path=usr/lib/python2.6/json/tool.py
-file path=usr/lib/python2.6/keyword.py
-dir  path=usr/lib/python2.6/lib-dynload
-dir  path=usr/lib/python2.6/lib-dynload/64
-file path=usr/lib/python2.6/lib-dynload/64/_bisect.so
-file path=usr/lib/python2.6/lib-dynload/64/_bytesio.so
-file path=usr/lib/python2.6/lib-dynload/64/_codecs_cn.so
-file path=usr/lib/python2.6/lib-dynload/64/_codecs_hk.so
-file path=usr/lib/python2.6/lib-dynload/64/_codecs_iso2022.so
-file path=usr/lib/python2.6/lib-dynload/64/_codecs_jp.so
-file path=usr/lib/python2.6/lib-dynload/64/_codecs_kr.so
-file path=usr/lib/python2.6/lib-dynload/64/_codecs_tw.so
-file path=usr/lib/python2.6/lib-dynload/64/_collections.so
-file path=usr/lib/python2.6/lib-dynload/64/_csv.so
-file path=usr/lib/python2.6/lib-dynload/64/_ctypes.so
-file path=usr/lib/python2.6/lib-dynload/64/_curses.so
-file path=usr/lib/python2.6/lib-dynload/64/_curses_panel.so
-file path=usr/lib/python2.6/lib-dynload/64/_elementtree.so
-file path=usr/lib/python2.6/lib-dynload/64/_fileio.so
-file path=usr/lib/python2.6/lib-dynload/64/_functools.so
-file path=usr/lib/python2.6/lib-dynload/64/_hashlib.so
-file path=usr/lib/python2.6/lib-dynload/64/_heapq.so
-file path=usr/lib/python2.6/lib-dynload/64/_hotshot.so
-file path=usr/lib/python2.6/lib-dynload/64/_json.so
-file path=usr/lib/python2.6/lib-dynload/64/_locale.so
-file path=usr/lib/python2.6/lib-dynload/64/_lsprof.so
-file path=usr/lib/python2.6/lib-dynload/64/_multibytecodec.so
-file path=usr/lib/python2.6/lib-dynload/64/_multiprocessing.so
-file path=usr/lib/python2.6/lib-dynload/64/_random.so
-file path=usr/lib/python2.6/lib-dynload/64/_socket.so
-file path=usr/lib/python2.6/lib-dynload/64/_sqlite3.so
-file path=usr/lib/python2.6/lib-dynload/64/_ssl.so
-file path=usr/lib/python2.6/lib-dynload/64/_struct.so
-file path=usr/lib/python2.6/lib-dynload/64/_weakref.so
-file path=usr/lib/python2.6/lib-dynload/64/array.so
-file path=usr/lib/python2.6/lib-dynload/64/audioop.so
-file path=usr/lib/python2.6/lib-dynload/64/binascii.so
-file path=usr/lib/python2.6/lib-dynload/64/bz2.so
-file path=usr/lib/python2.6/lib-dynload/64/cPickle.so
-file path=usr/lib/python2.6/lib-dynload/64/cStringIO.so
-file path=usr/lib/python2.6/lib-dynload/64/cmath.so
-file path=usr/lib/python2.6/lib-dynload/64/crypt.so
-file path=usr/lib/python2.6/lib-dynload/64/datetime.so
-file path=usr/lib/python2.6/lib-dynload/64/dbm.so
-file path=usr/lib/python2.6/lib-dynload/64/dlpi.so
-file path=usr/lib/python2.6/lib-dynload/64/fcntl.so
-file path=usr/lib/python2.6/lib-dynload/64/future_builtins.so
-file path=usr/lib/python2.6/lib-dynload/64/gdbm.so
-file path=usr/lib/python2.6/lib-dynload/64/grp.so
-file path=usr/lib/python2.6/lib-dynload/64/itertools.so
-file path=usr/lib/python2.6/lib-dynload/64/math.so
-file path=usr/lib/python2.6/lib-dynload/64/mmap.so
-file path=usr/lib/python2.6/lib-dynload/64/nis.so
-file path=usr/lib/python2.6/lib-dynload/64/operator.so
-file path=usr/lib/python2.6/lib-dynload/64/parser.so
-file path=usr/lib/python2.6/lib-dynload/64/privileges.so
-file path=usr/lib/python2.6/lib-dynload/64/pyexpat.so
-file path=usr/lib/python2.6/lib-dynload/64/rbac.so
-file path=usr/lib/python2.6/lib-dynload/64/readline.so
-file path=usr/lib/python2.6/lib-dynload/64/resource.so
-file path=usr/lib/python2.6/lib-dynload/64/select.so
-file path=usr/lib/python2.6/lib-dynload/64/spwd.so
-file path=usr/lib/python2.6/lib-dynload/64/strop.so
-file path=usr/lib/python2.6/lib-dynload/64/sunaudiodev.so
-file path=usr/lib/python2.6/lib-dynload/64/syslog.so
-file path=usr/lib/python2.6/lib-dynload/64/termios.so
-file path=usr/lib/python2.6/lib-dynload/64/time.so
-file path=usr/lib/python2.6/lib-dynload/64/ucred.so
-file path=usr/lib/python2.6/lib-dynload/64/unicodedata.so
-file path=usr/lib/python2.6/lib-dynload/64/zlib.so
-file path=usr/lib/python2.6/lib-dynload/Python-$(COMPONENT_VERSION)-py2.6.egg-info
-file path=usr/lib/python2.6/lib-dynload/_bisect.so
-file path=usr/lib/python2.6/lib-dynload/_bytesio.so
-file path=usr/lib/python2.6/lib-dynload/_codecs_cn.so
-file path=usr/lib/python2.6/lib-dynload/_codecs_hk.so
-file path=usr/lib/python2.6/lib-dynload/_codecs_iso2022.so
-file path=usr/lib/python2.6/lib-dynload/_codecs_jp.so
-file path=usr/lib/python2.6/lib-dynload/_codecs_kr.so
-file path=usr/lib/python2.6/lib-dynload/_codecs_tw.so
-file path=usr/lib/python2.6/lib-dynload/_collections.so
-file path=usr/lib/python2.6/lib-dynload/_csv.so
-file path=usr/lib/python2.6/lib-dynload/_ctypes.so
-file path=usr/lib/python2.6/lib-dynload/_curses.so
-file path=usr/lib/python2.6/lib-dynload/_curses_panel.so
-file path=usr/lib/python2.6/lib-dynload/_elementtree.so
-file path=usr/lib/python2.6/lib-dynload/_fileio.so
-file path=usr/lib/python2.6/lib-dynload/_functools.so
-file path=usr/lib/python2.6/lib-dynload/_hashlib.so
-file path=usr/lib/python2.6/lib-dynload/_heapq.so
-file path=usr/lib/python2.6/lib-dynload/_hotshot.so
-file path=usr/lib/python2.6/lib-dynload/_json.so
-file path=usr/lib/python2.6/lib-dynload/_locale.so
-file path=usr/lib/python2.6/lib-dynload/_lsprof.so
-file path=usr/lib/python2.6/lib-dynload/_multibytecodec.so
-file path=usr/lib/python2.6/lib-dynload/_multiprocessing.so
-file path=usr/lib/python2.6/lib-dynload/_random.so
-file path=usr/lib/python2.6/lib-dynload/_socket.so
-file path=usr/lib/python2.6/lib-dynload/_sqlite3.so
-file path=usr/lib/python2.6/lib-dynload/_ssl.so
-file path=usr/lib/python2.6/lib-dynload/_struct.so
-file path=usr/lib/python2.6/lib-dynload/_weakref.so
-file path=usr/lib/python2.6/lib-dynload/array.so
-file path=usr/lib/python2.6/lib-dynload/audioop.so
-file path=usr/lib/python2.6/lib-dynload/binascii.so
-file path=usr/lib/python2.6/lib-dynload/bz2.so
-file path=usr/lib/python2.6/lib-dynload/cPickle.so
-file path=usr/lib/python2.6/lib-dynload/cStringIO.so
-file path=usr/lib/python2.6/lib-dynload/cmath.so
-file path=usr/lib/python2.6/lib-dynload/crypt.so
-file path=usr/lib/python2.6/lib-dynload/datetime.so
-file path=usr/lib/python2.6/lib-dynload/dbm.so
-file path=usr/lib/python2.6/lib-dynload/dl.so
-file path=usr/lib/python2.6/lib-dynload/dlpi.so
-file path=usr/lib/python2.6/lib-dynload/fcntl.so
-file path=usr/lib/python2.6/lib-dynload/future_builtins.so
-file path=usr/lib/python2.6/lib-dynload/gdbm.so
-file path=usr/lib/python2.6/lib-dynload/grp.so
-file path=usr/lib/python2.6/lib-dynload/imageop.so
-file path=usr/lib/python2.6/lib-dynload/itertools.so
-file path=usr/lib/python2.6/lib-dynload/math.so
-file path=usr/lib/python2.6/lib-dynload/mmap.so
-file path=usr/lib/python2.6/lib-dynload/nis.so
-file path=usr/lib/python2.6/lib-dynload/operator.so
-file path=usr/lib/python2.6/lib-dynload/parser.so
-file path=usr/lib/python2.6/lib-dynload/privileges.so
-file path=usr/lib/python2.6/lib-dynload/pyexpat.so
-file path=usr/lib/python2.6/lib-dynload/rbac.so
-file path=usr/lib/python2.6/lib-dynload/readline.so
-file path=usr/lib/python2.6/lib-dynload/resource.so
-file path=usr/lib/python2.6/lib-dynload/select.so
-file path=usr/lib/python2.6/lib-dynload/spwd.so
-file path=usr/lib/python2.6/lib-dynload/strop.so
-file path=usr/lib/python2.6/lib-dynload/sunaudiodev.so
-file path=usr/lib/python2.6/lib-dynload/syslog.so
-file path=usr/lib/python2.6/lib-dynload/termios.so
-file path=usr/lib/python2.6/lib-dynload/time.so
-file path=usr/lib/python2.6/lib-dynload/ucred.so
-file path=usr/lib/python2.6/lib-dynload/unicodedata.so
-file path=usr/lib/python2.6/lib-dynload/zlib.so
-dir  path=usr/lib/python2.6/lib-old
-dir  path=usr/lib/python2.6/lib2to3
-file path=usr/lib/python2.6/lib2to3/Grammar$(COMPONENT_VERSION).final.0.pickle
-file path=usr/lib/python2.6/lib2to3/Grammar.txt
-file path=usr/lib/python2.6/lib2to3/PatternGrammar$(COMPONENT_VERSION).final.0.pickle
-file path=usr/lib/python2.6/lib2to3/PatternGrammar.txt
-file path=usr/lib/python2.6/lib2to3/__init__.py
-file path=usr/lib/python2.6/lib2to3/fixer_base.py
-file path=usr/lib/python2.6/lib2to3/fixer_util.py
-dir  path=usr/lib/python2.6/lib2to3/fixes
-file path=usr/lib/python2.6/lib2to3/fixes/__init__.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_apply.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_basestring.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_buffer.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_callable.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_dict.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_except.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_exec.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_execfile.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_exitfunc.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_filter.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_funcattrs.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_future.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_getcwdu.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_has_key.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_idioms.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_import.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_imports.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_imports2.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_input.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_intern.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_isinstance.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_itertools.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_itertools_imports.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_long.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_map.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_metaclass.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_methodattrs.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_ne.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_next.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_nonzero.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_numliterals.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_operator.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_paren.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_print.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_raise.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_raw_input.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_reduce.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_renames.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_repr.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_set_literal.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_standarderror.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_sys_exc.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_throw.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_tuple_params.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_types.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_unicode.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_urllib.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_ws_comma.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_xrange.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_xreadlines.py
-file path=usr/lib/python2.6/lib2to3/fixes/fix_zip.py
-file path=usr/lib/python2.6/lib2to3/main.py
-file path=usr/lib/python2.6/lib2to3/patcomp.py
-dir  path=usr/lib/python2.6/lib2to3/pgen2
-file path=usr/lib/python2.6/lib2to3/pgen2/__init__.py
-file path=usr/lib/python2.6/lib2to3/pgen2/conv.py
-file path=usr/lib/python2.6/lib2to3/pgen2/driver.py
-file path=usr/lib/python2.6/lib2to3/pgen2/grammar.py
-file path=usr/lib/python2.6/lib2to3/pgen2/literals.py
-file path=usr/lib/python2.6/lib2to3/pgen2/parse.py
-file path=usr/lib/python2.6/lib2to3/pgen2/pgen.py
-file path=usr/lib/python2.6/lib2to3/pgen2/token.py
-file path=usr/lib/python2.6/lib2to3/pgen2/tokenize.py
-file path=usr/lib/python2.6/lib2to3/pygram.py
-file path=usr/lib/python2.6/lib2to3/pytree.py
-file path=usr/lib/python2.6/lib2to3/refactor.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/linecache.py
-file path=usr/lib/python2.6/locale.py
-dir  path=usr/lib/python2.6/logging
-file path=usr/lib/python2.6/logging/__init__.py
-file path=usr/lib/python2.6/logging/config.py
-file path=usr/lib/python2.6/logging/handlers.py
-file path=usr/lib/python2.6/macpath.py
-file path=usr/lib/python2.6/macurl2path.py
-file path=usr/lib/python2.6/mailbox.py
-file path=usr/lib/python2.6/mailcap.py
-file path=usr/lib/python2.6/markupbase.py
-file path=usr/lib/python2.6/md5.py
-file path=usr/lib/python2.6/mhlib.py
-file path=usr/lib/python2.6/mimetools.py
-file path=usr/lib/python2.6/mimetypes.py
-file path=usr/lib/python2.6/mimify.py
-file path=usr/lib/python2.6/modulefinder.py
-file path=usr/lib/python2.6/multifile.py
-dir  path=usr/lib/python2.6/multiprocessing
-file path=usr/lib/python2.6/multiprocessing/__init__.py
-file path=usr/lib/python2.6/multiprocessing/connection.py
-dir  path=usr/lib/python2.6/multiprocessing/dummy
-file path=usr/lib/python2.6/multiprocessing/dummy/__init__.py
-file path=usr/lib/python2.6/multiprocessing/dummy/connection.py
-file path=usr/lib/python2.6/multiprocessing/forking.py
-file path=usr/lib/python2.6/multiprocessing/heap.py
-file path=usr/lib/python2.6/multiprocessing/managers.py
-file path=usr/lib/python2.6/multiprocessing/pool.py
-file path=usr/lib/python2.6/multiprocessing/process.py
-file path=usr/lib/python2.6/multiprocessing/queues.py
-file path=usr/lib/python2.6/multiprocessing/reduction.py
-file path=usr/lib/python2.6/multiprocessing/sharedctypes.py
-file path=usr/lib/python2.6/multiprocessing/synchronize.py
-file path=usr/lib/python2.6/multiprocessing/util.py
-file path=usr/lib/python2.6/mutex.py
-file path=usr/lib/python2.6/netrc.py
-file path=usr/lib/python2.6/new.py
-file path=usr/lib/python2.6/nntplib.py
-file path=usr/lib/python2.6/ntpath.py
-file path=usr/lib/python2.6/nturl2path.py
-file path=usr/lib/python2.6/numbers.py
-file path=usr/lib/python2.6/opcode.py
-file path=usr/lib/python2.6/optparse.py
-file path=usr/lib/python2.6/os.py
-file path=usr/lib/python2.6/os2emxpath.py
-file path=usr/lib/python2.6/pdb.doc
-file path=usr/lib/python2.6/pdb.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/pickle.py
-file path=usr/lib/python2.6/pickletools.py
-file path=usr/lib/python2.6/pipes.py
-file path=usr/lib/python2.6/pkgutil.py
-dir  path=usr/lib/python2.6/plat-sunos5
-file path=usr/lib/python2.6/plat-sunos5/CDIO.py
-file path=usr/lib/python2.6/plat-sunos5/DLFCN.py
-file path=usr/lib/python2.6/plat-sunos5/IN.py
-file path=usr/lib/python2.6/plat-sunos5/STROPTS.py
-file path=usr/lib/python2.6/plat-sunos5/SUNAUDIODEV.py
-file path=usr/lib/python2.6/plat-sunos5/TYPES.py
-file path=usr/lib/python2.6/plat-sunos5/regen mode=0555
-file path=usr/lib/python2.6/platform.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/plistlib.py
-file path=usr/lib/python2.6/popen2.py
-file path=usr/lib/python2.6/poplib.py
-file path=usr/lib/python2.6/posixfile.py
-file path=usr/lib/python2.6/posixpath.py
-file path=usr/lib/python2.6/pprint.py
-file path=usr/lib/python2.6/profile.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/pstats.py
-file path=usr/lib/python2.6/pty.py
-link path=usr/lib/python2.6/pyCC target=pycc
-file path=usr/lib/python2.6/py_compile.py
-file path=usr/lib/python2.6/pycc mode=0555
-file path=usr/lib/python2.6/pyclbr.py
-file path=usr/lib/python2.6/pydoc.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/pydoc_topics.py
-file path=usr/lib/python2.6/quopri.py
-file path=usr/lib/python2.6/random.py
-file path=usr/lib/python2.6/re.py
-file path=usr/lib/python2.6/repr.py
-file path=usr/lib/python2.6/rexec.py
-file path=usr/lib/python2.6/rfc822.py
-file path=usr/lib/python2.6/rlcompleter.py
-file path=usr/lib/python2.6/robotparser.py
-file path=usr/lib/python2.6/runpy.py
-file path=usr/lib/python2.6/sched.py
-file path=usr/lib/python2.6/sets.py
-file path=usr/lib/python2.6/sgmllib.py
-file path=usr/lib/python2.6/sha.py
-file path=usr/lib/python2.6/shelve.py
-file path=usr/lib/python2.6/shlex.py
-file path=usr/lib/python2.6/shutil.py
-dir  path=usr/lib/python2.6/site-packages
-file path=usr/lib/python2.6/site-packages/README
-file path=usr/lib/python2.6/site-packages/vendor-packages.pth
-file path=usr/lib/python2.6/site.py
-file path=usr/lib/python2.6/smtpd.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/smtplib.py
-file path=usr/lib/python2.6/sndhdr.py
-file path=usr/lib/python2.6/socket.py
-dir  path=usr/lib/python2.6/sqlite3
-file path=usr/lib/python2.6/sqlite3/__init__.py
-file path=usr/lib/python2.6/sqlite3/dbapi2.py
-file path=usr/lib/python2.6/sqlite3/dump.py
-file path=usr/lib/python2.6/sre.py
-file path=usr/lib/python2.6/sre_compile.py
-file path=usr/lib/python2.6/sre_constants.py
-file path=usr/lib/python2.6/sre_parse.py
-file path=usr/lib/python2.6/ssl.py
-file path=usr/lib/python2.6/stat.py
-file path=usr/lib/python2.6/statvfs.py
-file path=usr/lib/python2.6/string.py
-file path=usr/lib/python2.6/stringold.py
-file path=usr/lib/python2.6/stringprep.py
-file path=usr/lib/python2.6/struct.py
-file path=usr/lib/python2.6/subprocess.py
-file path=usr/lib/python2.6/sunau.py
-file path=usr/lib/python2.6/sunaudio.py
-file path=usr/lib/python2.6/symbol.py
-file path=usr/lib/python2.6/symtable.py
-file path=usr/lib/python2.6/tabnanny.py
-file path=usr/lib/python2.6/tarfile.py
-file path=usr/lib/python2.6/telnetlib.py
-file path=usr/lib/python2.6/tempfile.py
-file path=usr/lib/python2.6/textwrap.py
-file path=usr/lib/python2.6/this.py
-file path=usr/lib/python2.6/threading.py
-file path=usr/lib/python2.6/timeit.py
-file path=usr/lib/python2.6/toaiff.py
-file path=usr/lib/python2.6/token.py
-file path=usr/lib/python2.6/tokenize.py
-file path=usr/lib/python2.6/trace.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/traceback.py
-file path=usr/lib/python2.6/tty.py
-file path=usr/lib/python2.6/types.py
-file path=usr/lib/python2.6/unittest.py
-file path=usr/lib/python2.6/urllib.py
-file path=usr/lib/python2.6/urllib2.py
-file path=usr/lib/python2.6/urlparse.py
-file path=usr/lib/python2.6/user.py
-file path=usr/lib/python2.6/uu.py
-file path=usr/lib/python2.6/uuid.py
-dir  path=usr/lib/python2.6/vendor-packages
-file path=usr/lib/python2.6/warnings.py
-file path=usr/lib/python2.6/wave.py
-file path=usr/lib/python2.6/weakref.py
-file path=usr/lib/python2.6/webbrowser.py pkg.depend.bypass-generate=.*
-file path=usr/lib/python2.6/whichdb.py
-dir  path=usr/lib/python2.6/wsgiref
-file path=usr/lib/python2.6/wsgiref.egg-info
-file path=usr/lib/python2.6/wsgiref/__init__.py
-file path=usr/lib/python2.6/wsgiref/handlers.py
-file path=usr/lib/python2.6/wsgiref/headers.py
-file path=usr/lib/python2.6/wsgiref/simple_server.py
-file path=usr/lib/python2.6/wsgiref/util.py
-file path=usr/lib/python2.6/wsgiref/validate.py
-file path=usr/lib/python2.6/xdrlib.py
-dir  path=usr/lib/python2.6/xml
-file path=usr/lib/python2.6/xml/__init__.py
-dir  path=usr/lib/python2.6/xml/dom
-file path=usr/lib/python2.6/xml/dom/NodeFilter.py
-file path=usr/lib/python2.6/xml/dom/__init__.py
-file path=usr/lib/python2.6/xml/dom/domreg.py
-file path=usr/lib/python2.6/xml/dom/expatbuilder.py
-file path=usr/lib/python2.6/xml/dom/minicompat.py
-file path=usr/lib/python2.6/xml/dom/minidom.py
-file path=usr/lib/python2.6/xml/dom/pulldom.py
-file path=usr/lib/python2.6/xml/dom/xmlbuilder.py
-dir  path=usr/lib/python2.6/xml/etree
-file path=usr/lib/python2.6/xml/etree/ElementInclude.py
-file path=usr/lib/python2.6/xml/etree/ElementPath.py
-file path=usr/lib/python2.6/xml/etree/ElementTree.py
-file path=usr/lib/python2.6/xml/etree/__init__.py
-file path=usr/lib/python2.6/xml/etree/cElementTree.py
-dir  path=usr/lib/python2.6/xml/parsers
-file path=usr/lib/python2.6/xml/parsers/__init__.py
-file path=usr/lib/python2.6/xml/parsers/expat.py
-dir  path=usr/lib/python2.6/xml/sax
-file path=usr/lib/python2.6/xml/sax/__init__.py
-file path=usr/lib/python2.6/xml/sax/_exceptions.py
-file path=usr/lib/python2.6/xml/sax/expatreader.py
-file path=usr/lib/python2.6/xml/sax/handler.py
-file path=usr/lib/python2.6/xml/sax/saxutils.py
-file path=usr/lib/python2.6/xml/sax/xmlreader.py
-file path=usr/lib/python2.6/xmllib.py
-file path=usr/lib/python2.6/xmlrpclib.py
-file path=usr/lib/python2.6/zipfile.py
-dir  path=usr/share
-dir  path=usr/share/man
-dir  path=usr/share/man/man1
-link path=usr/share/man/man1/python.1 target=python2.6.1 mediator=python \
-    mediator-version=2.6
-file usr/share/man/man1/python.1 path=usr/share/man/man1/python2.6.1
-license python26.license license=PSFv2
-
-# This optionally brings in the python tk support if tk is installed
-depend type=conditional fmri=library/python/tkinter-26 predicate=runtime/tk-8
--- a/components/python/python26/python26.license	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,437 +0,0 @@
-Terms and conditions for accessing or otherwise using Python
-============================================================
-
-
-.. centered:: PSF LICENSE AGREEMENT FOR PYTHON |release|
-
-#. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and
-   the Individual or Organization ("Licensee") accessing and otherwise using Python
-   |release| software in source or binary form and its associated documentation.
-
-#. Subject to the terms and conditions of this License Agreement, PSF hereby
-   grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
-   analyze, test, perform and/or display publicly, prepare derivative works,
-   distribute, and otherwise use Python |release| alone or in any derivative
-   version, provided, however, that PSF's License Agreement and PSF's notice of
-   copyright, i.e., "Copyright © 2001-2010 Python Software Foundation; All Rights
-   Reserved" are retained in Python |release| alone or in any derivative version
-   prepared by Licensee.
-
-#. In the event Licensee prepares a derivative work that is based on or
-   incorporates Python |release| or any part thereof, and wants to make the
-   derivative work available to others as provided herein, then Licensee hereby
-   agrees to include in any such work a brief summary of the changes made to Python
-   |release|.
-
-#. PSF is making Python |release| available to Licensee on an "AS IS" basis.
-   PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.  BY WAY OF
-   EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR
-   WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
-   USE OF PYTHON |release| WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
-
-#. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON |release|
-   FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF
-   MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON |release|, OR ANY DERIVATIVE
-   THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-#. This License Agreement will automatically terminate upon a material breach of
-   its terms and conditions.
-
-#. Nothing in this License Agreement shall be deemed to create any relationship
-   of agency, partnership, or joint venture between PSF and Licensee.  This License
-   Agreement does not grant permission to use PSF trademarks or trade name in a
-   trademark sense to endorse or promote products or services of Licensee, or any
-   third party.
-
-#. By copying, installing or otherwise using Python |release|, Licensee agrees
-   to be bound by the terms and conditions of this License Agreement.
-
-
-Licenses and Acknowledgements for Incorporated Software
-=======================================================
-
-This section is an incomplete, but growing list of licenses and acknowledgements
-for third-party software incorporated in the Python distribution.
-
-
-Mersenne Twister
-----------------
-
-The :mod:`_random` module includes code based on a download from
-http://www.math.keio.ac.jp/ matumoto/MT2002/emt19937ar.html. The following are
-the verbatim comments from the original code::
-
-   A C-program for MT19937, with initialization improved 2002/1/26.
-   Coded by Takuji Nishimura and Makoto Matsumoto.
-
-   Before using, initialize the state by using init_genrand(seed)
-   or init_by_array(init_key, key_length).
-
-   Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-
-    1. Redistributions of source code must retain the above copyright
-       notice, this list of conditions and the following disclaimer.
-
-    2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
-
-    3. The names of its contributors may not be used to endorse or promote
-       products derived from this software without specific prior written
-       permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-   Any feedback is very welcome.
-   http://www.math.keio.ac.jp/matumoto/emt.html
-   email: [email protected]
-
-
-Sockets
--------
-
-The :mod:`socket` module uses the functions, :func:`getaddrinfo`, and
-:func:`getnameinfo`, which are coded in separate source files from the WIDE
-Project, http://www.wide.ad.jp/. ::
-
-   Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   1. Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-   2. Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-   3. Neither the name of the project nor the names of its contributors
-      may be used to endorse or promote products derived from this software
-      without specific prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
-   GAI_ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
-   FOR GAI_ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-   HOWEVER CAUSED AND ON GAI_ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN GAI_ANY WAY
-   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   SUCH DAMAGE.
-
-
-Floating point exception control
---------------------------------
-
-The source for the :mod:`fpectl` module includes the following notice::
-
-     ---------------------------------------------------------------------
-    /                       Copyright (c) 1996.                           \
-   |          The Regents of the University of California.                 |
-   |                        All rights reserved.                           |
-   |                                                                       |
-   |   Permission to use, copy, modify, and distribute this software for   |
-   |   any purpose without fee is hereby granted, provided that this en-   |
-   |   tire notice is included in all copies of any software which is or   |
-   |   includes  a  copy  or  modification  of  this software and in all   |
-   |   copies of the supporting documentation for such software.           |
-   |                                                                       |
-   |   This  work was produced at the University of California, Lawrence   |
-   |   Livermore National Laboratory under  contract  no.  W-7405-ENG-48   |
-   |   between  the  U.S.  Department  of  Energy and The Regents of the   |
-   |   University of California for the operation of UC LLNL.              |
-   |                                                                       |
-   |                              DISCLAIMER                               |
-   |                                                                       |
-   |   This  software was prepared as an account of work sponsored by an   |
-   |   agency of the United States Government. Neither the United States   |
-   |   Government  nor the University of California nor any of their em-   |
-   |   ployees, makes any warranty, express or implied, or  assumes  any   |
-   |   liability  or  responsibility  for the accuracy, completeness, or   |
-   |   usefulness of any information,  apparatus,  product,  or  process   |
-   |   disclosed,   or  represents  that  its  use  would  not  infringe   |
-   |   privately-owned rights. Reference herein to any specific  commer-   |
-   |   cial  products,  process,  or  service  by trade name, trademark,   |
-   |   manufacturer, or otherwise, does not  necessarily  constitute  or   |
-   |   imply  its endorsement, recommendation, or favoring by the United   |
-   |   States Government or the University of California. The views  and   |
-   |   opinions  of authors expressed herein do not necessarily state or   |
-   |   reflect those of the United States Government or  the  University   |
-   |   of  California,  and shall not be used for advertising or product   |
-    \  endorsement purposes.                                              /
-     ---------------------------------------------------------------------
-
-
-MD5 message digest algorithm
-----------------------------
-
-The source code for the :mod:`md5` module contains the following notice::
-
-     Copyright (C) 1999, 2002 Aladdin Enterprises.  All rights reserved.
-
-     This software is provided 'as-is', without any express or implied
-     warranty.  In no event will the authors be held liable for any damages
-     arising from the use of this software.
-
-     Permission is granted to anyone to use this software for any purpose,
-     including commercial applications, and to alter it and redistribute it
-     freely, subject to the following restrictions:
-
-     1. The origin of this software must not be misrepresented; you must not
-        claim that you wrote the original software. If you use this software
-        in a product, an acknowledgment in the product documentation would be
-        appreciated but is not required.
-     2. Altered source versions must be plainly marked as such, and must not be
-        misrepresented as being the original software.
-     3. This notice may not be removed or altered from any source distribution.
-
-     L. Peter Deutsch
-     [email protected]
-
-     Independent implementation of MD5 (RFC 1321).
-
-     This code implements the MD5 Algorithm defined in RFC 1321, whose
-     text is available at
-           http://www.ietf.org/rfc/rfc1321.txt
-     The code is derived from the text of the RFC, including the test suite
-     (section A.5) but excluding the rest of Appendix A.  It does not include
-     any code or documentation that is identified in the RFC as being
-     copyrighted.
-
-     The original and principal author of md5.h is L. Peter Deutsch
-     <[email protected]>.  Other authors are noted in the change history
-     that follows (in reverse chronological order):
-
-     2002-04-13 lpd Removed support for non-ANSI compilers; removed
-           references to Ghostscript; clarified derivation from RFC 1321;
-           now handles byte order either statically or dynamically.
-     1999-11-04 lpd Edited comments slightly for automatic TOC extraction.
-     1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5);
-           added conditionalization for C++ compilation from Martin
-           Purschke <[email protected]>.
-     1999-05-03 lpd Original version.
-
-
-Asynchronous socket services
-----------------------------
-
-The :mod:`asynchat` and :mod:`asyncore` modules contain the following notice::
-
-   Copyright 1996 by Sam Rushing
-
-                           All Rights Reserved
-
-   Permission to use, copy, modify, and distribute this software and
-   its documentation for any purpose and without fee is hereby
-   granted, provided that the above copyright notice appear in all
-   copies and that both that copyright notice and this permission
-   notice appear in supporting documentation, and that the name of Sam
-   Rushing not be used in advertising or publicity pertaining to
-   distribution of the software without specific, written prior
-   permission.
-
-   SAM RUSHING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-   INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
-   NO EVENT SHALL SAM RUSHING BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
-   OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-
-Cookie management
------------------
-
-The :mod:`Cookie` module contains the following notice::
-
-   Copyright 2000 by Timothy O'Malley <[email protected]>
-
-                  All Rights Reserved
-
-   Permission to use, copy, modify, and distribute this software
-   and its documentation for any purpose and without fee is hereby
-   granted, provided that the above copyright notice appear in all
-   copies and that both that copyright notice and this permission
-   notice appear in supporting documentation, and that the name of
-   Timothy O'Malley  not be used in advertising or publicity
-   pertaining to distribution of the software without specific, written
-   prior permission.
-
-   Timothy O'Malley DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-   SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-   AND FITNESS, IN NO EVENT SHALL Timothy O'Malley BE LIABLE FOR
-   ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-   WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-   ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-   PERFORMANCE OF THIS SOFTWARE.
-
-
-Execution tracing
------------------
-
-The :mod:`trace` module contains the following notice::
-
-   portions copyright 2001, Autonomous Zones Industries, Inc., all rights...
-   err...  reserved and offered to the public under the terms of the
-   Python 2.2 license.
-   Author: Zooko O'Whielacronx
-   http://zooko.com/
-   mailto:[email protected]
-
-   Copyright 2000, Mojam Media, Inc., all rights reserved.
-   Author: Skip Montanaro
-
-   Copyright 1999, Bioreason, Inc., all rights reserved.
-   Author: Andrew Dalke
-
-   Copyright 1995-1997, Automatrix, Inc., all rights reserved.
-   Author: Skip Montanaro
-
-   Copyright 1991-1995, Stichting Mathematisch Centrum, all rights reserved.
-
-
-   Permission to use, copy, modify, and distribute this Python software and
-   its associated documentation for any purpose without fee is hereby
-   granted, provided that the above copyright notice appears in all copies,
-   and that both that copyright notice and this permission notice appear in
-   supporting documentation, and that the name of neither Automatrix,
-   Bioreason or Mojam Media be used in advertising or publicity pertaining to
-   distribution of the software without specific, written prior permission.
-
-
-UUencode and UUdecode functions
--------------------------------
-
-The :mod:`uu` module contains the following notice::
-
-   Copyright 1994 by Lance Ellinghouse
-   Cathedral City, California Republic, United States of America.
-                          All Rights Reserved
-   Permission to use, copy, modify, and distribute this software and its
-   documentation for any purpose and without fee is hereby granted,
-   provided that the above copyright notice appear in all copies and that
-   both that copyright notice and this permission notice appear in
-   supporting documentation, and that the name of Lance Ellinghouse
-   not be used in advertising or publicity pertaining to distribution
-   of the software without specific, written prior permission.
-   LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO
-   THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-   FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE CENTRUM BE LIABLE
-   FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-   OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-   Modified by Jack Jansen, CWI, July 1995:
-   - Use binascii module to do the actual line-by-line conversion
-     between ascii and binary. This results in a 1000-fold speedup. The C
-     version is still 5 times faster, though.
-   - Arguments more compliant with Python standard
-
-
-XML Remote Procedure Calls
---------------------------
-
-The :mod:`xmlrpclib` module contains the following notice::
-
-       The XML-RPC client interface is
-
-   Copyright (c) 1999-2002 by Secret Labs AB
-   Copyright (c) 1999-2002 by Fredrik Lundh
-
-   By obtaining, using, and/or copying this software and/or its
-   associated documentation, you agree that you have read, understood,
-   and will comply with the following terms and conditions:
-
-   Permission to use, copy, modify, and distribute this software and
-   its associated documentation for any purpose and without fee is
-   hereby granted, provided that the above copyright notice appears in
-   all copies, and that both that copyright notice and this permission
-   notice appear in supporting documentation, and that the name of
-   Secret Labs AB or the author not be used in advertising or publicity
-   pertaining to distribution of the software without specific, written
-   prior permission.
-
-   SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
-   TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT-
-   ABILITY AND FITNESS.  IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR
-   BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
-   DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-   WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-   ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-   OF THIS SOFTWARE.
-
-
-test_epoll
-----------
-
-The :mod:`test_epoll` contains the following notice::
-
-  Copyright (c) 2001-2006 Twisted Matrix Laboratories.
-
-  Permission is hereby granted, free of charge, to any person obtaining
-  a copy of this software and associated documentation files (the
-  "Software"), to deal in the Software without restriction, including
-  without limitation the rights to use, copy, modify, merge, publish,
-  distribute, sublicense, and/or sell copies of the Software, and to
-  permit persons to whom the Software is furnished to do so, subject to
-  the following conditions:
-
-  The above copyright notice and this permission notice shall be
-  included in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Select kqueue
--------------
-
-The :mod:`select` and contains the following notice for the kqueue interface::
-
-  Copyright (c) 2000 Doug White, 2006 James Knight, 2007 Christian Heimes
-  All rights reserved.
-
-  Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions
-  are met:
-  1. Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-  2. Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-
-  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-  SUCH DAMAGE.
--- a/components/python/python26/tkinter-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
-set name=pkg.fmri \
-    value=pkg:/library/python/tkinter-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python bindings to tcl/tk"
-set name=com.oracle.info.description value="Python 2.6 bindings for Tcl/Tk"
-set name=com.oracle.info.tpno value=$(TPNO)
-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/2009/043
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/lib-dynload
-dir  path=usr/lib/python2.6/lib-dynload/64
-file path=usr/lib/python2.6/lib-dynload/64/_tkinter.so
-file path=usr/lib/python2.6/lib-dynload/_tkinter.so
-dir  path=usr/lib/python2.6/lib-tk
-file path=usr/lib/python2.6/lib-tk/Canvas.py
-file path=usr/lib/python2.6/lib-tk/Dialog.py
-file path=usr/lib/python2.6/lib-tk/FileDialog.py
-file path=usr/lib/python2.6/lib-tk/FixTk.py
-file path=usr/lib/python2.6/lib-tk/ScrolledText.py
-file path=usr/lib/python2.6/lib-tk/SimpleDialog.py
-file path=usr/lib/python2.6/lib-tk/Tix.py
-file path=usr/lib/python2.6/lib-tk/Tkconstants.py
-file path=usr/lib/python2.6/lib-tk/Tkdnd.py
-file path=usr/lib/python2.6/lib-tk/Tkinter.py
-file path=usr/lib/python2.6/lib-tk/tkColorChooser.py
-file path=usr/lib/python2.6/lib-tk/tkCommonDialog.py
-file path=usr/lib/python2.6/lib-tk/tkFileDialog.py
-file path=usr/lib/python2.6/lib-tk/tkFont.py
-file path=usr/lib/python2.6/lib-tk/tkMessageBox.py
-file path=usr/lib/python2.6/lib-tk/tkSimpleDialog.py
-file path=usr/lib/python2.6/lib-tk/turtle.py
-license python26.license license=PSFv2
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
--- a/components/python/python27/python-27.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/python27/python-27.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -1048,6 +1048,3 @@
 
 # This optionally brings in the python tk support if tk is installed
 depend type=conditional fmri=library/python/tkinter-27 predicate=runtime/tk-8
-
-# If 2.6 is installed, bump it up to the current version to avoid conflicts.
-depend type=optional fmri=runtime/[email protected],$(BUILD_VERSION)
--- a/components/python/pytz/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pytz/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pytz-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pytz-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/pytz
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pywbem/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pywbem/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -37,7 +37,7 @@
 TPNO=			9053
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/pywbem/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pywbem/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,1 +1,2 @@
 library/python-2/[email protected],5.11-0.175.3.0.0.18.0 library/python/pywbem
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyyaml/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyyaml/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -44,7 +44,6 @@
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 COMPONENT_TEST_DIR =		$(SOURCE_DIR)
-COMPONENT_TEST_ARGS.2.6 =	./tests/lib/test_all.py
 COMPONENT_TEST_ARGS.2.7 =	./tests/lib/test_all.py
 COMPONENT_TEST_ARGS.3.4 =	./tests/lib3/test_all.py
 COMPONENT_TEST_ARGS =		$(COMPONENT_TEST_ARGS.$(PYTHON_VERSION))
--- a/components/python/pyyaml/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyyaml/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,1 +1,2 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.18.0 library/python/pyyaml
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/pyyaml/pyyaml-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/pyyaml/pyyaml-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -59,10 +59,6 @@
 #
 license LICENSE license=MIT
 
-# force the rename with an optional dependency on the old name
-$(PYTHON_2.6_ONLY)depend type=optional \
-    fmri=library/python-2/pyyaml-$(PYV)@3.9,5.11-0.175.3.0.0.18.0
-
 # force a dependency on the Python runtime
 depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
     pkg.debug.depend.path=usr/bin
--- a/components/python/quantumclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/quantumclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -37,7 +37,7 @@
 TPNO=			15410
 
 # Depends on neutronclient which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/quantumclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/repoze.lru/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/repoze.lru/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/repoze.lru-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/repoze.lru-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/repoze.lru
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/requests/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/requests/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -50,6 +50,3 @@
 
 # Tests require access to AWS services & the Internet
 test:		$(NO_TESTS)
-
-
-REQUIRED_PACKAGES += library/python/argparse-26
--- a/components/python/requests/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/requests/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/requests-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/requests-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/requests
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/retrying/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/rfc3986/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/rfc3986/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			20390
 
 # UnicodeDecodeError issues; not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/rfc3986/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/routes/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/routes/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/routes-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/routes-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/routes
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/saharaclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/saharaclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25757
 
 # Depends on keystoneclient which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/saharaclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/scp/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/semantic-version/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/setuptools-git/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/setuptools-git/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/setuptools-git-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/setuptools-git-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/setuptools-git
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/setuptools/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/setuptools/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/setuptools-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/setuptools-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/setuptools
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/simplegeneric/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/simplejson/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/simplejson/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/simplejson-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/simplejson-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/simplejson
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/simplejson/simplejson-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/simplejson/simplejson-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -44,7 +44,6 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/simplejson-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/simplejson/64/_speedups.so
 file path=usr/lib/python$(PYVER)/vendor-packages/simplejson/__init__.py
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/simplejson/_speedups.so
 $(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/simplejson/_speedups.so
 file path=usr/lib/python$(PYVER)/vendor-packages/simplejson/compat.py
 file path=usr/lib/python$(PYVER)/vendor-packages/simplejson/decoder.py
--- a/components/python/singledispatch/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/singledispatch/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			22463
 
 # singledispatch is superfluous in Python 3.4
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/singledispatch/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/six/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/six/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/six-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/six-27
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/six
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/sqlalchemy-migrate/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/sqlalchemy-migrate/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			25760
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -61,11 +61,7 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/decorator-26
 REQUIRED_PACKAGES += library/python/decorator-27
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
-REQUIRED_PACKAGES += library/python/six-26
 REQUIRED_PACKAGES += library/python/six-27
-REQUIRED_PACKAGES += library/python/sqlalchemy-26
 REQUIRED_PACKAGES += library/python/sqlalchemy-27
--- a/components/python/sqlalchemy-migrate/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/sqlalchemy-migrate/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/sqlalchemy-migrate-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/sqlalchemy-migrate-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/sqlalchemy-migrate
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/sqlalchemy/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/sqlalchemy/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/sqlalchemy-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/sqlalchemy-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/sqlalchemy
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/sqlparse/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/stevedore/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/stevedore/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/stevedore-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/stevedore-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/stevedore
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/suds/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/suds/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Import/syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/suds/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/suds/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/suds-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/suds-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/suds
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/swiftclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/swiftclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -37,7 +37,7 @@
 TPNO=			25758
 
 # depends on keystoneclient which is not Python 3 ready
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/swiftclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/taskflow/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/taskflow/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25762
 
 # Depends on networkx which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/taskflow/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/tempita/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/tempita/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/tempita-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/tempita-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/tempita
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/testresources/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/testscenarios/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/testtools/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/testtools/testtools-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/testtools/testtools-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -46,7 +46,6 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/testtools-$(COMPONENT_VERSION)-py$(PYVER).egg-info/requires.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/testtools-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/testtools/__init__.py
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/testtools/_compat2x.py
 $(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/testtools/_compat2x.py
 $(PYTHON_3.4_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/testtools/_compat3x.py
 file path=usr/lib/python$(PYVER)/vendor-packages/testtools/_spinner.py
--- a/components/python/tox/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/tox/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -64,6 +64,5 @@
 
 test:		$(TEST_NO_ARCH)
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/tox/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/tox/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/tox-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/tox-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/tox
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/traceback2/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/trollius/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/trollius/trollius-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/trollius/trollius-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -42,7 +42,6 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/trollius-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
 file path=usr/lib/python$(PYVER)/vendor-packages/trollius-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/trollius-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/trollius-$(COMPONENT_VERSION)-py$(PYVER).egg-info/requires.txt
 $(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/trollius-$(COMPONENT_VERSION)-py$(PYVER).egg-info/requires.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/trollius-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/trollius/__init__.py
--- a/components/python/troveclient/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/troveclient/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			25759
 
 # Depends on keystoneclient which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/troveclient/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/twisted-web2/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/twisted-web2/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			9693
 
 # Depends on twisted, which is not Python 3 ready.
-PYTHON_VERSIONS = 2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/twisted-web2/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/twisted-web2/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-twisted-web2-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-twisted-web2-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-twisted-web2
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/twisted/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/twisted/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			9692
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/twisted/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/twisted/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-twisted-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-twisted-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-twisted
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/unittest2/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-include ../../../make-rules/shared-macros.mk
-
-COMPONENT_NAME=		unittest2
-COMPONENT_VERSION=	0.5.1
-COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
-COMPONENT_ARCHIVE_HASH=	\
-    sha256:aa5de8cdf654d843379c97bd1ee240e86356d3355a97b147a6f3f4d149247a71
-COMPONENT_ARCHIVE_URL=	$(call pypi_url)
-COMPONENT_PROJECT_URL=	http://pypi.python.org/pypi/unittest2
-COMPONENT_BUGDB=	python-mod/unittest2
-
-TPNO=			14503
-
-# The unittest2 module was integrated into Python 2.7, so we should
-# only deliver a 2.6 module.
-PYTHON_VERSIONS = 2.6
-
-include $(WS_MAKE_RULES)/prep.mk
-include $(WS_MAKE_RULES)/setup.py.mk
-include $(WS_MAKE_RULES)/ips.mk
-
-ASLR_MODE = $(ASLR_NOT_APPLICABLE)
-
-COMPONENT_TEST_ARGS=	setup.py test
-COMPONENT_TEST_DIR=	$(SOURCE_DIR)
-
-# common targets
-build:		$(BUILD_NO_ARCH)
-
-install:	$(INSTALL_NO_ARCH)
-
-test:		$(TEST_NO_ARCH)
-
-
-REQUIRED_PACKAGES += library/python/setuptools-26
--- a/components/python/unittest2/history	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/unittest2-26
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/unittest2
--- a/components/python/unittest2/license.txt	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-Copyright (C) 2010 Michael Foord
-E-mail: fuzzyman AT voidspace DOT org DOT uk
-
-This software is licensed under the terms of the BSD license.
-http://www.voidspace.org.uk/python/license.shtml
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions are met:
-
-    Redistributions of source code must retain the above copyright notice, this 
-    list of conditions and the following disclaimer.
-
-    Redistributions in binary form must reproduce the above copyright notice, 
-    this list of conditions and the following disclaimer in the documentation 
-    and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
---------------------------------------------------------------------------
-
-Copyright (c) 1999-2003 Steve Purcell
-Copyright (c) 2003-2010 Python Software Foundation
-This module is free software, and you may redistribute it and/or modify
-it under the same terms as Python itself, so long as this copyright message
-and disclaimer are retained in their original form.
-
-IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
-SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
-THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
-
-THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
-AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
-SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
---------------------------------------------------------------------------
-
-             PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
-
-1. This LICENSE AGREEMENT is between the Python Software Foundation
-   ("PSF"), and the Individual or Organization ("Licensee") accessing and
-   otherwise using this software ("Python") in source or binary form and
-   its associated documentation.
-
-2. Subject to the terms and conditions of this License Agreement, PSF
-   hereby grants Licensee a nonexclusive, royalty-free, world-wide
-   license to reproduce, analyze, test, perform and/or display publicly,
-   prepare derivative works, distribute, and otherwise use Python
-   alone or in any derivative version, provided, however, that PSF's
-   License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
-   2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights
-   Reserved" are retained in Python alone or in any derivative version
-   prepared by Licensee.
-
-3. In the event Licensee prepares a derivative work that is based on
-   or incorporates Python or any part thereof, and wants to make
-   the derivative work available to others as provided herein, then
-   Licensee hereby agrees to include in any such work a brief summary of
-   the changes made to Python.
-
-4. PSF is making Python available to Licensee on an "AS IS"
-   basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-   IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
-   DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-   FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
-   INFRINGE ANY THIRD PARTY RIGHTS.
-
-5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
-   FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
-   A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
-   OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-6. This License Agreement will automatically terminate upon a material
-   breach of its terms and conditions.
-
-7. Nothing in this License Agreement shall be deemed to create any
-   relationship of agency, partnership, or joint venture between PSF and
-   Licensee. This License Agreement does not grant permission to use PSF
-   trademarks or trade name in a trademark sense to endorse or promote
-   products or services of Licensee, or any third party.
-
-8. By copying, installing or otherwise using Python, Licensee
-   agrees to be bound by the terms and conditions of this License
-   Agreement.
--- a/components/python/unittest2/unittest2-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/unittest2-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python unit testing framework"
-set name=pkg.description \
-    value="Many new features were added to unittest in Python 2.7, including test discovery. unittest2 allows you to use these features with earlier versions of Python."
-set name=com.oracle.info.description \
-    value="the unittest2 Python unit testing framework"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream value="Michael Foord <[email protected]>"
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2013/337
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-#
-file path=usr/bin/unit2
-file path=usr/lib/python2.6/vendor-packages/unittest2-$(COMPONENT_VERSION)-py2.6.egg-info/PKG-INFO
-file path=usr/lib/python2.6/vendor-packages/unittest2-$(COMPONENT_VERSION)-py2.6.egg-info/SOURCES.txt
-file path=usr/lib/python2.6/vendor-packages/unittest2-$(COMPONENT_VERSION)-py2.6.egg-info/dependency_links.txt
-file path=usr/lib/python2.6/vendor-packages/unittest2-$(COMPONENT_VERSION)-py2.6.egg-info/entry_points.txt
-file path=usr/lib/python2.6/vendor-packages/unittest2-$(COMPONENT_VERSION)-py2.6.egg-info/top_level.txt
-file path=usr/lib/python2.6/vendor-packages/unittest2/__init__.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/__main__.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/case.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/collector.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/compatibility.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/loader.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/main.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/result.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/runner.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/signals.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/suite.py
-file path=usr/lib/python2.6/vendor-packages/unittest2/util.py
-license license.txt license="BSD, PSF"
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
-
-# force a dependency on the unittest2 package
-depend type=require \
-    fmri=library/python/unittest2@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/unittest2/unittest2.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/unittest2@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python unit testing framework"
-set name=pkg.description \
-    value="Many new features were added to unittest in Python 2.7, including test discovery. unittest2 allows you to use these features with earlier versions of Python."
-set name=com.oracle.info.description \
-    value="the unittest2 Python unit testing framework"
-set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream value="Michael Foord <[email protected]>"
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2012/XXX
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-depend type=conditional \
-    fmri=library/python/unittest2-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.11-0.175.3.0.0.16.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/urllib3/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/virtualenv/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/virtualenv/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -50,6 +50,5 @@
 # Virtualenv has tests, but only in the source repo; not in the tarballs.
 test:		$(NO_TESTS)
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/virtualenv/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/virtualenv/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/virtualenv-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/virtualenv-27
 library/python-2/[email protected],5.11-0.175.3.0.0.24.0 library/python/virtualenv
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/waitress/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/waitress/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -55,6 +55,5 @@
 test:		$(TEST_NO_ARCH)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/waitress/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/waitress/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/waitress-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/waitress-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/waitress
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/warlock/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/warlock/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/warlock-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/warlock-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/warlock
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/webob/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/webob/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/webob-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/webob-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/webob
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/websockify/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/websockify/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -54,6 +54,5 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
--- a/components/python/websockify/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/websockify/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/websockify-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/websockify-27
 library/python-2/[email protected],5.11-0.175.2.0.0.41.0 library/python/websockify
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/websockify/websockify-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/websockify/websockify-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -74,7 +74,6 @@
 
 # force a group dependency on the optional python-extra; pkgdepend work is
 # needed to flush this out.
-$(PYTHON_2.6_ONLY)depend type=group fmri=library/python-2/python-extra-$(PYV)
 $(PYTHON_2.7_ONLY)depend type=group fmri=library/python/python-extra-$(PYV)
 
 # force the rename with an optional dependency on the old name
--- a/components/python/webtest/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/webtest/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -35,7 +35,7 @@
 TPNO=			14503
 
 # Depends on paste.deploy, which depends on paste, which is not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -56,16 +56,9 @@
 test:		$(NO_TESTS)
 
 
-REQUIRED_PACKAGES += library/python/beautifulsoup4-26
 REQUIRED_PACKAGES += library/python/beautifulsoup4-27
-REQUIRED_PACKAGES += library/python/lxml-26
 REQUIRED_PACKAGES += library/python/lxml-27
-REQUIRED_PACKAGES += library/python/ordereddict-26
-REQUIRED_PACKAGES += library/python/paste.deploy-26
 REQUIRED_PACKAGES += library/python/paste.deploy-27
-REQUIRED_PACKAGES += library/python/six-26
 REQUIRED_PACKAGES += library/python/six-27
-REQUIRED_PACKAGES += library/python/waitress-26
 REQUIRED_PACKAGES += library/python/waitress-27
-REQUIRED_PACKAGES += library/python/webob-26
 REQUIRED_PACKAGES += library/python/webob-27
--- a/components/python/webtest/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/webtest/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/webtest-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/webtest-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/webtest
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/webtest/webtest-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/webtest/webtest-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -70,9 +70,6 @@
 # force a dependency on lxml; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/lxml-$(PYV)
 
-# force a dependency on ordereddict; pkgdepend work is needed to flush this out.
-$(PYTHON_2.6_ONLY)depend type=require fmri=library/python/ordereddict-26
-
 # force a dependency on paste.deploy; pkgdepend work is needed to flush this
 # out.
 depend type=require fmri=library/python/paste.deploy-$(PYV)
--- a/components/python/wsme/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/wsme/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -39,7 +39,7 @@
 
 # wsme requires ipaddr, which is not Python3.x compatible thus only building
 # Python 2.x
-PYTHON_VERSIONS=	2.6 2.7
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/wsme/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/xattr/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/xattr/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -71,7 +71,6 @@
 test:		$(TEST_32_and_64)
 
 
-REQUIRED_PACKAGES += library/python/setuptools-26
 REQUIRED_PACKAGES += library/python/setuptools-27
 REQUIRED_PACKAGES += library/python/setuptools-34
 REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/xattr/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/python/xattr/xattr-PYVER.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/xattr/xattr-PYVER.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -46,11 +46,9 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/xattr-$(COMPONENT_VERSION)-py$(PYVER).egg-info/not-zip-safe
 file path=usr/lib/python$(PYVER)/vendor-packages/xattr-$(COMPONENT_VERSION)-py$(PYVER).egg-info/requires.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/xattr-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/xattr/64/_cffi__x65092e53xe621c3cb.so
 $(PYTHON_3.4_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/xattr/64/_cffi__x7a875355xe621c3cb.so
 $(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/xattr/64/_cffi__x93e1032axe621c3cb.so
 file path=usr/lib/python$(PYVER)/vendor-packages/xattr/__init__.py
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/xattr/_cffi__x65092e53xe621c3cb.so
 $(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/xattr/_cffi__x93e1032axe621c3cb.so
 file path=usr/lib/python$(PYVER)/vendor-packages/xattr/lib.py
 # The bypass for zlib is temporary until pkgdepend learns about PEP 3149,
--- a/components/python/zope-interface/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/zope-interface/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -38,7 +38,7 @@
 TPNO=			7911
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
--- a/components/python/zope-interface/history	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/python/zope-interface/history	Mon Mar 27 15:35:14 2017 -0700
@@ -1,3 +1,4 @@
-library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-zope-interface-26
+library/python-2/[email protected],5.11-0.175.3.20.0.1.0
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-zope-interface-27
 library/python-2/[email protected],5.11-0.175.3.0.0.16.0 library/python/python-zope-interface
+library/python/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/rdiff-backup/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/rdiff-backup/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -37,7 +37,7 @@
 TPNO=			9055
 
 # Syntax issues: not Python 3 ready.
-PYTHON_VERSIONS=	2.7 2.6
+PYTHON_VERSIONS=	$(PYTHON2_VERSIONS)
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/ips.mk
@@ -53,6 +53,5 @@
 
 
 REQUIRED_PACKAGES += library/librsync
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/rdiff-backup/history	Mon Mar 27 15:35:14 2017 -0700
@@ -0,0 +1,1 @@
+backup/[email protected],5.11-0.175.3.20.0.1.0
--- a/components/rdiff-backup/rdiff-backup-26.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/backup/rdiff-backup-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Local/remote mirror and incremental backup utility"
-set name=com.oracle.info.description \
-    value="Python 2.6 bindings for rdiff-backup"
-set name=com.oracle.info.tpno value=$(TPNO)
-set name=info.classification \
-    value="org.opensolaris.category.2008:Applications/System Utilities"
-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/272
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr
-dir  path=usr/bin
-link path=usr/bin/rdiff-backup target=rdiff-backup-2.6 mediator=python \
-    mediator-version=2.6
-file build/$(MACH32)-2.6/scripts-2.6/rdiff-backup \
-    path=usr/bin/rdiff-backup-2.6 pkg.depend.bypass-generate=.*msvcrt.*
-link path=usr/bin/rdiff-backup-statistics target=rdiff-backup-statistics-2.6 \
-    mediator=python mediator-version=2.6
-file build/$(MACH32)-2.6/scripts-2.6/rdiff-backup-statistics \
-    path=usr/bin/rdiff-backup-statistics-2.6
-dir  path=usr/lib
-dir  path=usr/lib/python2.6
-dir  path=usr/lib/python2.6/vendor-packages
-dir  path=usr/lib/python2.6/vendor-packages/rdiff_backup
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup-$(COMPONENT_VERSION)-py2.6.egg-info
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/C.so
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/FilenameMapping.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/Globals.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/Hardlink.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/Main.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/Rdiff.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/Security.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/SetConnections.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/TempFile.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/Time.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/__init__.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/_librsync.so
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/backup.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/compare.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/connection.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/eas_acls.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/fs_abilities.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/hash.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/increment.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/iterfile.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/lazy.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/librsync.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/log.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/longname.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/manage.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/metadata.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/regress.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/restore.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/robust.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/rorpiter.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/rpath.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/selection.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/static.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/statistics.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/user_group.py
-file path=usr/lib/python2.6/vendor-packages/rdiff_backup/win_acls.py
-license rdiff-backup.copyright license=GPLv2
-
-# force a dependency on the Python 2.6 runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python2.6 \
-    pkg.debug.depend.path=usr/bin
-
-# force a dependency on the rdiff-backup package
-depend type=require \
-    fmri=backup/rdiff-backup@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/rdiff-backup/rdiff-backup.p5m	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/rdiff-backup/rdiff-backup.p5m	Mon Mar 27 15:35:14 2017 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
@@ -46,8 +46,5 @@
 file rdiff-backup.1 path=usr/share/man/man1/rdiff-backup.1
 license rdiff-backup.copyright license=GPLv2
 depend type=conditional \
-    fmri=backup/rdiff-backup-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26
-depend type=conditional \
     fmri=backup/rdiff-backup-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
--- a/components/subversion/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/subversion/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -46,7 +46,6 @@
 PYMODS = client core delta fs ra repos wc
 PLMODS= Fs Core Wc Client Repos Ra Delta
 JAVA_ROOT = $(JAVA_HOME)
-PYTHON_VERSION = 2.7
 
 # because we can't seem to get -norunpath to the java bindings build any
 # other way.
--- a/components/texinfo/Makefile	Wed Mar 22 09:27:09 2017 -0700
+++ b/components/texinfo/Makefile	Mon Mar 27 15:35:14 2017 -0700
@@ -61,7 +61,6 @@
 
 REQUIRED_PACKAGES += library/ncurses
 REQUIRED_PACKAGES += runtime/perl-512
-REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
 REQUIRED_PACKAGES += shell/bash
 REQUIRED_PACKAGES += shell/ksh93
--- a/make-rules/ips.mk	Wed Mar 22 09:27:09 2017 -0700
+++ b/make-rules/ips.mk	Mon Mar 27 15:35:14 2017 -0700
@@ -119,7 +119,6 @@
     $(eval PKG_MACROS += $(macro)=$$($(macro))) \
 )
 
-PKG_MACROS +=		PYTHON_2.6_ONLY=\#
 PKG_MACROS +=		PYTHON_2.7_ONLY=\#
 PKG_MACROS +=		PYTHON_3.4_ONLY=\#
 
--- a/make-rules/setup.py.mk	Wed Mar 22 09:27:09 2017 -0700
+++ b/make-rules/setup.py.mk	Mon Mar 27 15:35:14 2017 -0700
@@ -23,19 +23,16 @@
 # Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
-$(BUILD_DIR)/%-2.6/.built:		PYTHON_VERSION=2.6
 $(BUILD_DIR)/%-2.7/.built:		PYTHON_VERSION=2.7
 $(BUILD_DIR)/%-3.4/.built:		PYTHON_VERSION=3.4
 $(BUILD_DIR)/$(MACH32)-%/.built:	BITS=32
 $(BUILD_DIR)/$(MACH64)-%/.built:	BITS=64
 
-$(BUILD_DIR)/%-2.6/.installed:		PYTHON_VERSION=2.6
 $(BUILD_DIR)/%-2.7/.installed:		PYTHON_VERSION=2.7
 $(BUILD_DIR)/%-3.4/.installed:		PYTHON_VERSION=3.4
 $(BUILD_DIR)/$(MACH32)-%/.installed:	BITS=32
 $(BUILD_DIR)/$(MACH64)-%/.installed:	BITS=64
 
-$(BUILD_DIR)/%-2.6/.tested:		PYTHON_VERSION=2.6
 $(BUILD_DIR)/%-2.7/.tested:		PYTHON_VERSION=2.7
 $(BUILD_DIR)/%-3.4/.tested:		PYTHON_VERSION=3.4
 $(BUILD_DIR)/$(MACH32)-%/.tested:	BITS=32
@@ -70,16 +67,10 @@
 COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
 COMPONENT_TEST_ENV += $(PYTHON_ENV)
 
-# If we are building Python 2.7 or 3.4 support, build them and install them
-# before Python 2.6, so 2.6 is installed last and is the canonical version.
-# When we change the default, the new default should go last.
-ifneq ($(findstring 2.7,$(PYTHON_VERSIONS)),)
-$(BUILD_DIR)/%-2.6/.built:     $(BUILD_DIR)/%-2.7/.built
-$(BUILD_DIR)/%-2.6/.installed: $(BUILD_DIR)/%-2.7/.installed
-endif
+# Build the canonical version (currently 2.7) last.
 ifneq ($(findstring 3.4,$(PYTHON_VERSIONS)),)
-$(BUILD_DIR)/%-2.6/.built:     $(BUILD_DIR)/%-3.4/.built
-$(BUILD_DIR)/%-2.6/.installed: $(BUILD_DIR)/%-3.4/.installed
+$(BUILD_DIR)/%-2.7/.built:     $(BUILD_DIR)/%-3.4/.built
+$(BUILD_DIR)/%-2.7/.installed: $(BUILD_DIR)/%-3.4/.installed
 endif
 
 # Create a distutils config file specific to the combination of build
@@ -153,9 +144,6 @@
 pypi_url_single = $(shell echo $(COMPONENT_NAME) | cut -c1)/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
 pypi_url = $(PYPI_BASE)/$(if $(COMPONENT_NAME_$(1)),$(pypi_url_multi),$(pypi_url_single))
 
-ifneq ($(findstring 2.6, $(PYTHON_VERSIONS)),)
-REQUIRED_PACKAGES += runtime/python-26
-endif
 ifneq ($(findstring 2.7, $(PYTHON_VERSIONS)),)
 REQUIRED_PACKAGES += runtime/python-27
 endif
--- a/make-rules/shared-macros.mk	Wed Mar 22 09:27:09 2017 -0700
+++ b/make-rules/shared-macros.mk	Mon Mar 27 15:35:14 2017 -0700
@@ -105,7 +105,7 @@
 
 # The default version should go last.
 PYTHON_VERSION =	2.7
-PYTHON2_VERSIONS =	2.6 2.7
+PYTHON2_VERSIONS =	2.7
 PYTHON3_VERSIONS =	3.4
 PYTHON_VERSIONS =	$(PYTHON3_VERSIONS) $(PYTHON2_VERSIONS)
 
@@ -324,10 +324,6 @@
 # both the ruby version and the ruby library version are needed. 
 RUBY_VERSIONS = $(RUBY_LIB_VERSION)
 
-PYTHON.2.6.VENDOR_PACKAGES.32 = /usr/lib/python2.6/vendor-packages
-PYTHON.2.6.VENDOR_PACKAGES.64 = /usr/lib/python2.6/vendor-packages/64
-PYTHON.2.6.VENDOR_PACKAGES = $(PYTHON.2.6.VENDOR_PACKAGES.$(BITS))
-
 PYTHON.2.7.VENDOR_PACKAGES.32 = /usr/lib/python2.7/vendor-packages
 PYTHON.2.7.VENDOR_PACKAGES.64 = /usr/lib/python2.7/vendor-packages/64
 PYTHON.2.7.VENDOR_PACKAGES = $(PYTHON.2.7.VENDOR_PACKAGES.$(BITS))
@@ -343,10 +339,6 @@
 USRBIN.64 =	/usr/bin/$(MACH64)
 USRBIN =	$(USRBIN.$(BITS))
 
-PYTHON.2.6.32 =	$(USRBIN.32)/python2.6
-PYTHON.2.6.64 =	$(USRBIN.64)/python2.6
-PYTHON.2.6 =	$(USRBIN)/python2.6
-
 PYTHON.2.7.32 =	$(USRBIN.32)/python2.7
 PYTHON.2.7.64 =	$(USRBIN.64)/python2.7
 PYTHON.2.7 =	$(USRBIN)/python2.7
@@ -445,6 +437,7 @@
 SYMLINK =	/bin/ln -s
 ENV =		/usr/bin/env
 GNU_ENV =	/usr/gnu/bin/env
+FIND =		/usr/bin/find
 INSTALL =	/usr/bin/ginstall
 GNU_GREP =	/usr/gnu/bin/grep
 CHMOD =		/usr/bin/chmod