16808434 Many components probably don't need a PATH line in their Makefiles
authordavid.comay@oracle.com
Fri, 09 May 2014 20:59:20 -0700
changeset 1890 5a4ef66c42bf
parent 1889 7251578a5ce7
child 1891 f58fcc59b356
16808434 Many components probably don't need a PATH line in their Makefiles 17395397 components/python/decorator/Makefile missing COMPONENT_BUGDB 17952703 transform should be added to drop irrelevant Python dependencies 17975940 mako could have dependency for markupsafe 18293987 /usr/bin/alembic should be shipped 18293992 boto's demo scripts aren't delivered executable 18294001 coverage Python package doesn't deliver 64-bit object 18294049 imaging Python package has some issues 18294059 various Python modules needs work-around for broken 2.7 RUNPATH issue 18377642 py.test has a requirement on py 18539154 Improvements can be made to many Python module dependencies 18539214 Some Python modules can have their tests enabled (Phase 1)
components/openstack/cinder/resolve.deps
components/openstack/glance/glance.p5m
components/openstack/glance/resolve.deps
components/openstack/neutron/neutron.p5m
components/openstack/neutron/resolve.deps
components/openstack/nova/resolve.deps
components/python/alembic/Makefile
components/python/alembic/alembic-PYVER.p5m
components/python/alembic/resolve.deps
components/python/beautifulsoup4/beautifulsoup4-PYVER.p5m
components/python/beautifulsoup4/resolve.deps
components/python/boto/boto-PYVER.p5m
components/python/boto/resolve.deps
components/python/cheetah/cheetah-PYVER.p5m
components/python/cinderclient/cinderclient-PYVER.p5m
components/python/cliff/cliff-PYVER.p5m
components/python/cov-core/resolve.deps
components/python/coverage/Makefile
components/python/coverage/coverage-PYVER.p5m
components/python/coverage/resolve.deps
components/python/d2to1/d2to1-PYVER.p5m
components/python/decorator/Makefile
components/python/decorator/decorator-PYVER.p5m
components/python/django/django-PYVER.p5m
components/python/django_compressor/django_compressor-PYVER.p5m
components/python/eventlet/eventlet-PYVER.p5m
components/python/eventlet/resolve.deps
components/python/formencode/formencode-PYVER.p5m
components/python/glanceclient/glanceclient-PYVER.p5m
components/python/imaging/Makefile
components/python/imaging/imaging-PYVER.p5m
components/python/jsonpatch/jsonpatch-PYVER.p5m
components/python/jsonrpclib/Makefile
components/python/jsonrpclib/jsonrpclib-PYVER.p5m
components/python/jsonschema/jsonschema-PYVER.p5m
components/python/keystoneclient/keystoneclient-PYVER.p5m
components/python/kombu/kombu-PYVER.p5m
components/python/ldtp/ldtp-PYVER.p5m
components/python/lesscpy/lesscpy-PYVER.p5m
components/python/m2crypto/Makefile
components/python/m2crypto/m2crypto-PYVER.p5m
components/python/mako/Makefile
components/python/mako/mako-PYVER.p5m
components/python/markdown/markdown-PYVER.p5m
components/python/markdown/resolve.deps
components/python/neutronclient/neutronclient-PYVER.p5m
components/python/nose-cover3/resolve.deps
components/python/nose/Makefile
components/python/nose/nose-PYVER.p5m
components/python/nose/resolve.deps
components/python/novaclient/novaclient-PYVER.p5m
components/python/oslo.config/Makefile
components/python/oslo.config/oslo.config-PYVER.p5m
components/python/passlib/passlib-PYVER.p5m
components/python/paste.deploy/paste.deploy-PYVER.p5m
components/python/paste/paste-PYVER.p5m
components/python/paste/resolve.deps
components/python/pbr/Makefile
components/python/pbr/depend.mk
components/python/pbr/pbr-PYVER.p5m
components/python/pbr/resolve.deps
components/python/pip/pip-PYVER.p5m
components/python/pip/resolve.deps
components/python/py/py-PYVER.p5m
components/python/pyasn1-modules/pyasn1-modules-PYVER.p5m
components/python/pybonjour/Makefile
components/python/pybonjour/pybonjour-PYVER.p5m
components/python/pycups/Makefile
components/python/pycups/pycups-26.p5m
components/python/pycups/pycups-27.p5m
components/python/pycups/pycups-GENFRAG.p5m
components/python/pycups/pycups-PYVER.p5m
components/python/pycups/pycups.p5m
components/python/pycurl/Makefile
components/python/pycurl/pycurl-PYVER.p5m
components/python/pycurl/resolve.deps
components/python/pygments/pygments-PYVER.p5m
components/python/pygments/resolve.deps
components/python/pylxml/Makefile
components/python/pylxml/pylxml-26.p5m
components/python/pylxml/pylxml-27.p5m
components/python/pylxml/pylxml-GENFRAG.p5m
components/python/pylxml/pylxml-PYVER.p5m
components/python/pylxml/pylxml.p5m
components/python/pylxml/resolve.deps
components/python/pyopenssl/Makefile
components/python/pyopenssl/pyopenssl-PYVER.p5m
components/python/pyrabbit/pyrabbit-PYVER.p5m
components/python/pytest-capturelog/pytest-capturelog-PYVER.p5m
components/python/pytest-codecheckers/pytest-codecheckers-PYVER.p5m
components/python/pytest-codecheckers/resolve.deps
components/python/pytest-cov/resolve.deps
components/python/pytest/pytest-PYVER.p5m
components/python/pytest/resolve.deps
components/python/python-ldap/python-ldap-PYVER.p5m
components/python/python-ldap/resolve.deps
components/python/pytz/pytz-PYVER.p5m
components/python/requests/requests-PYVER.p5m
components/python/routes/routes-PYVER.p5m
components/python/simplejson/Makefile
components/python/simplejson/simplejson-PYVER.p5m
components/python/sqlalchemy-migrate/resolve.deps
components/python/sqlalchemy-migrate/sqlalchemy-migrate-PYVER.p5m
components/python/sqlalchemy/sqlalchemy-PYVER.p5m
components/python/stevedore/stevedore-PYVER.p5m
components/python/tempita/tempita-PYVER.p5m
components/python/tox/resolve.deps
components/python/tox/tox-PYVER.p5m
components/python/twisted-web2/twisted-web2-PYVER.p5m
components/python/twisted/Makefile
components/python/twisted/twisted-PYVER.p5m
components/python/warlock/warlock-PYVER.p5m
components/python/webob/webob-PYVER.p5m
components/python/websockify/resolve.deps
components/python/websockify/websockify-PYVER.p5m
components/python/webtest/resolve.deps
components/python/webtest/webtest-PYVER.p5m
components/python/zope-interface/Makefile
components/python/zope-interface/resolve.deps
components/python/zope-interface/runtests.sh
components/python/zope-interface/zope-interface-PYVER.p5m
make-rules/ips.mk
transforms/manifest-metadata-template
transforms/standard-libraries-past-py2.6
--- a/components/openstack/cinder/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/openstack/cinder/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,7 +1,3 @@
-library/python-2/eventlet-26
-library/python-2/ipython-26
-library/python-2/sqlalchemy-26
-library/python-2/sqlalchemy-migrate-26
 library/python/eventlet-26
 library/python/ipython-26
 library/python/oslo.config-26
--- a/components/openstack/glance/glance.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/openstack/glance/glance.p5m	Fri May 09 20:59:20 2014 -0700
@@ -259,6 +259,10 @@
 # flush this out.
 depend type=group fmri=library/python/anyjson-26
 
+# force a group dependency on the optional swiftclient; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/swiftclient-26
+
 # force a dependency on boto; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/boto-26
 
@@ -290,8 +294,5 @@
 # force a dependency on sqlalchemy; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/sqlalchemy-26
 
-# force a dependency on swiftclient; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/swiftclient-26
-
 # force a dependency on webob; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/webob-26
--- a/components/openstack/glance/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/openstack/glance/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,6 +1,3 @@
-library/python-2/eventlet-26
-library/python-2/m2crypto-26
-library/python-2/sqlalchemy-migrate-26
 library/python/eventlet-26
 library/python/m2crypto-26
 library/python/oslo.config-26
--- a/components/openstack/neutron/neutron.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/openstack/neutron/neutron.p5m	Fri May 09 20:59:20 2014 -0700
@@ -347,19 +347,12 @@
 # force a dependency on iso8601; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/iso8601-26
 
-# force a dependency on keystoneclient; pkgdepend work is needed to flush this
-# out.
-depend type=require fmri=library/python/keystoneclient-26
-
 # force a dependency on kombu; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/kombu-26
 
 # force a dependency on netaddr; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/netaddr-26
 
-# force a dependency on novaclient; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/novaclient-26
-
 # force a dependency on paste.deploy; pkgdepend work is needed to flush this
 # out.
 depend type=require fmri=library/python/paste.deploy-26
--- a/components/openstack/neutron/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/openstack/neutron/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,4 +1,3 @@
-library/python-2/setuptools-26
 library/python/oslo.config-26
 library/python/setuptools-26
 network/ipfilter
--- a/components/openstack/nova/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/openstack/nova/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,10 +1,4 @@
 install/archive
-library/python-2/eventlet-26
-library/python-2/ipython-26
-library/python-2/netaddr-26
-library/python-2/sqlalchemy-26
-library/python-2/sqlalchemy-migrate-26
-library/python-2/webob-26
 library/python/eventlet-26
 library/python/ipython-26
 library/python/netaddr-26
--- a/components/python/alembic/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/alembic/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,7 +18,9 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+
+#
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -38,19 +40,20 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
-COMPONENT_TEST_DIR=	$(COMPONENT_SRC)
-COMPONENT_TEST_ARGS=	setup.py test
+COMPONENT_POST_INSTALL_ACTION += \
+	(cd $(PROTO_DIR)/usr/bin ; \
+	 $(MV) -f alembic alembic-$(PYTHON_VERSION))
+
+COMPONENT_PRE_TEST_ACTION=	echo "[db]" > $(SOURCE_DIR)/test.cfg
+COMPONENT_TEST_DIR=		$(SOURCE_DIR)
+COMPONENT_TEST_ARGS=		setup.py test
 
 # common targets
 build:		$(BUILD_NO_ARCH)
 
 install:	$(INSTALL_NO_ARCH)
 
-# Tests should work, but the test suite will attempt to run a subset of
-# tests against various database backends, including Postgresql and MySQL,
-# so will take a bit of hooking up. Just marking as "no tests" for now,
-# to allow the OpenStack Neutron developers to get on with their work.
-test:		$(NO_TESTS)
+test:		$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/alembic/alembic-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/alembic/alembic-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -35,6 +37,9 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2013/254
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+link path=usr/bin/alembic target=alembic-$(PYVER) mediator=python \
+    mediator-version=$(PYVER)
+file path=usr/bin/alembic-$(PYVER)
 file path=usr/lib/python$(PYVER)/vendor-packages/alembic-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
 file path=usr/lib/python$(PYVER)/vendor-packages/alembic-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/alembic-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt
@@ -88,5 +93,11 @@
 depend type=require \
     fmri=library/python/alembic@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
+# 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 mako; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/mako-$(PYV)
+
+# force a dependency on sqlalchemy; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/sqlalchemy-$(PYV)
--- a/components/python/alembic/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/alembic/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,2 +1,4 @@
+library/python/setuptools-26
+library/python/setuptools-27
 runtime/python-26
 runtime/python-27
--- a/components/python/beautifulsoup4/beautifulsoup4-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/beautifulsoup4/beautifulsoup4-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -45,6 +47,10 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/bs4/element.py
 license COPYING.txt license=MIT
 
+# force a group dependency on the optional lxml; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/lxml-$(PYV)
+
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/beautifulsoup4-$(PYV)@4.2.1,5.12-5.12.0.0.0.41.0
@@ -56,6 +62,3 @@
 # force a dependency on the beautifulsoup4 package
 depend type=require \
     fmri=library/python/beautifulsoup4@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force a dependency on lxml; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/lxml-$(PYV)
--- a/components/python/beautifulsoup4/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/beautifulsoup4/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,6 +1,2 @@
-library/python-2/lxml-26
-library/python-2/lxml-27
-library/python/lxml-26
-library/python/lxml-27
 runtime/python-26
 runtime/python-27
--- a/components/python/boto/boto-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/boto/boto-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -39,86 +41,87 @@
 link path=usr/demo/boto/asadmin target=asadmin-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/asadmin \
-    path=usr/demo/boto/asadmin-$(PYVER)
+    path=usr/demo/boto/asadmin-$(PYVER) mode=0555
 link path=usr/demo/boto/bundle_image target=bundle_image-$(PYVER) \
     mediator=python mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/bundle_image \
-    path=usr/demo/boto/bundle_image-$(PYVER)
+    path=usr/demo/boto/bundle_image-$(PYVER) mode=0555
 link path=usr/demo/boto/cfadmin target=cfadmin-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/cfadmin \
-    path=usr/demo/boto/cfadmin-$(PYVER)
+    path=usr/demo/boto/cfadmin-$(PYVER) mode=0555
 link path=usr/demo/boto/cq target=cq-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
-file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/cq path=usr/demo/boto/cq-$(PYVER)
+file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/cq \
+    path=usr/demo/boto/cq-$(PYVER) mode=0555
 link path=usr/demo/boto/cwutil target=cwutil-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/cwutil \
-    path=usr/demo/boto/cwutil-$(PYVER)
+    path=usr/demo/boto/cwutil-$(PYVER) mode=0555
 link path=usr/demo/boto/dynamodb_dump target=dynamodb_dump-$(PYVER) \
     mediator=python mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/dynamodb_dump \
-    path=usr/demo/boto/dynamodb_dump-$(PYVER)
+    path=usr/demo/boto/dynamodb_dump-$(PYVER) mode=0555
 link path=usr/demo/boto/dynamodb_load target=dynamodb_load-$(PYVER) \
     mediator=python mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/dynamodb_load \
-    path=usr/demo/boto/dynamodb_load-$(PYVER)
+    path=usr/demo/boto/dynamodb_load-$(PYVER) mode=0555
 link path=usr/demo/boto/elbadmin target=elbadmin-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/elbadmin \
-    path=usr/demo/boto/elbadmin-$(PYVER)
+    path=usr/demo/boto/elbadmin-$(PYVER) mode=0555
 link path=usr/demo/boto/fetch_file target=fetch_file-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/fetch_file \
-    path=usr/demo/boto/fetch_file-$(PYVER)
+    path=usr/demo/boto/fetch_file-$(PYVER) mode=0555
 link path=usr/demo/boto/glacier target=glacier-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/glacier \
-    path=usr/demo/boto/glacier-$(PYVER)
+    path=usr/demo/boto/glacier-$(PYVER) mode=0555
 link path=usr/demo/boto/instance_events target=instance_events-$(PYVER) \
     mediator=python mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/instance_events \
-    path=usr/demo/boto/instance_events-$(PYVER)
+    path=usr/demo/boto/instance_events-$(PYVER) mode=0555
 link path=usr/demo/boto/kill_instance target=kill_instance-$(PYVER) \
     mediator=python mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/kill_instance \
-    path=usr/demo/boto/kill_instance-$(PYVER)
+    path=usr/demo/boto/kill_instance-$(PYVER) mode=0555
 link path=usr/demo/boto/launch_instance target=launch_instance-$(PYVER) \
     mediator=python mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/launch_instance \
-    path=usr/demo/boto/launch_instance-$(PYVER)
+    path=usr/demo/boto/launch_instance-$(PYVER) mode=0555
 link path=usr/demo/boto/list_instances target=list_instances-$(PYVER) \
     mediator=python mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/list_instances \
-    path=usr/demo/boto/list_instances-$(PYVER)
+    path=usr/demo/boto/list_instances-$(PYVER) mode=0555
 link path=usr/demo/boto/lss3 target=lss3-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/lss3 \
-    path=usr/demo/boto/lss3-$(PYVER)
+    path=usr/demo/boto/lss3-$(PYVER) mode=0555
 link path=usr/demo/boto/mturk target=mturk-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/mturk \
-    path=usr/demo/boto/mturk-$(PYVER)
+    path=usr/demo/boto/mturk-$(PYVER) mode=0555
 link path=usr/demo/boto/pyami_sendmail target=pyami_sendmail-$(PYVER) \
     mediator=python mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/pyami_sendmail \
-    path=usr/demo/boto/pyami_sendmail-$(PYVER)
+    path=usr/demo/boto/pyami_sendmail-$(PYVER) mode=0555
 link path=usr/demo/boto/route53 target=route53-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/route53 \
-    path=usr/demo/boto/route53-$(PYVER)
+    path=usr/demo/boto/route53-$(PYVER) mode=0555
 link path=usr/demo/boto/s3put target=s3put-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/s3put \
-    path=usr/demo/boto/s3put-$(PYVER)
+    path=usr/demo/boto/s3put-$(PYVER) mode=0555
 link path=usr/demo/boto/sdbadmin target=sdbadmin-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/sdbadmin \
-    path=usr/demo/boto/sdbadmin-$(PYVER)
+    path=usr/demo/boto/sdbadmin-$(PYVER) mode=0555
 link path=usr/demo/boto/taskadmin target=taskadmin-$(PYVER) mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/taskadmin \
-    path=usr/demo/boto/taskadmin-$(PYVER)
+    path=usr/demo/boto/taskadmin-$(PYVER) mode=0555
 #
 file path=usr/lib/python$(PYVER)/vendor-packages/boto-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
 file path=usr/lib/python$(PYVER)/vendor-packages/boto-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
@@ -431,9 +434,21 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/boto/vpc/vpngateway.py
 license boto.license license="MIT, Apache v2.0, LGPLv2.1"
 
+# force a group dependency on the optional lxml; pkgdepend work is needed to
+# flush this out.
+#depend type=group fmri=library/python/lxml-$(PYV)
+
+# force a group dependency on the optional simplejson; pkgdepend work is needed
+# to flush this out.
+#depend type=group fmri=library/python/simplejson-$(PYV)
+
 # force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/boto-$(PYV)@2.9.9,5.12-5.12.0.0.0.41.0
+depend type=optional \
+    fmri=library/python-2/boto-$(PYV)@2.9.9,5.12-5.12.0.0.0.41.0
 
 # force a dependency on the boto package
 depend type=require \
     fmri=library/python/boto@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+
+# force a dependency on requests; pkgdepend work is needed to flush this out.
+#depend type=require fmri=library/python/requests-$(PYV)
--- a/components/python/boto/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/boto/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,6 +1,3 @@
-library/python-2/argparse-26
-library/python-2/filechunkio-26
-library/python-2/filechunkio-27
 library/python/argparse-26
 library/python/filechunkio-26
 library/python/filechunkio-27
--- a/components/python/cheetah/cheetah-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/cheetah/cheetah-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -112,6 +114,10 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/Cheetah/convertTmplPathToModuleName.py
 license cheetah.license license="MIT, BSD-style, LGPLv2.1"
 
+# force a group dependency on the optional pygments; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/pygments-$(PYV)
+
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/cheetah-$(PYV)@2.4.4,5.12-5.12.0.0.0.41.0
@@ -122,6 +128,3 @@
 
 # force a dependency on markdown; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/markdown-$(PYV)
-
-# force a dependency on pygments; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/pygments-$(PYV)
--- a/components/python/cinderclient/cinderclient-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/cinderclient/cinderclient-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -23,8 +23,6 @@
 # Copyright (c) 2013, 2014, 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/cinderclient-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary \
--- a/components/python/cliff/cliff-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/cliff/cliff-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,11 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, 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/cliff-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Command Line Interface Formulation Framework"
@@ -62,6 +61,10 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/cliff/show.py
 license cliff.license license="Apache v2.0, MIT"
 
+# force a group dependency on the optional prettytable; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/prettytable-$(PYV)
+
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/cliff-$(PYV)@1.4.5,5.12-5.12.0.0.0.41.0
@@ -80,5 +83,5 @@
 # force a dependency on cmd2; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/cmd2-$(PYV)
 
-# force a dependency on prettytable; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/prettytable-$(PYV)
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
--- a/components/python/cov-core/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/cov-core/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,6 +1,2 @@
-library/python-2/coverage-26
-library/python-2/coverage-27
-library/python/coverage-26
-library/python/coverage-27
 runtime/python-26
 runtime/python-27
--- a/components/python/coverage/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/coverage/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,13 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
 COMPONENT_NAME=		coverage
 COMPONENT_VERSION=	3.5
 COMPONENT_PROJECT_URL=	http://nedbatchelder.com/code/coverage/
@@ -40,13 +41,23 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_32_and_64)
 
 COMPONENT_POST_INSTALL_ACTION =	\
 	(cd $(PROTO_DIR)/usr/bin ; $(MV) -f coverage coverage$(PYTHON_VERSION))
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_32_and_64)
 
 test:		$(NO_TESTS)
 
--- a/components/python/coverage/coverage-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/coverage/coverage-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -46,6 +48,7 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/coverage-$(COMPONENT_VERSION)-py$(PYVER).egg-info/entry_points.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/coverage-$(COMPONENT_VERSION)-py$(PYVER).egg-info/not-zip-safe
 file path=usr/lib/python$(PYVER)/vendor-packages/coverage-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/coverage/64/tracer.so
 file path=usr/lib/python$(PYVER)/vendor-packages/coverage/__init__.py
 file path=usr/lib/python$(PYVER)/vendor-packages/coverage/__main__.py
 file path=usr/lib/python$(PYVER)/vendor-packages/coverage/annotate.py
--- a/components/python/coverage/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/coverage/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,5 +1,3 @@
-library/python-2/setuptools-26
-library/python-2/setuptools-27
 library/python/setuptools-26
 library/python/setuptools-27
 runtime/python-26
--- a/components/python/d2to1/d2to1-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/d2to1/d2to1-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -50,6 +52,10 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/d2to1/zestreleaser.py
 license d2to1.license license="BSD, MIT"
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/d2to1-$(PYV)@0.2.10,5.12-5.12.0.0.0.41.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
@@ -58,6 +64,5 @@
 depend type=require \
     fmri=library/python/d2to1@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/d2to1-$(PYV)@0.2.10,5.12-5.12.0.0.0.41.0
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
--- a/components/python/decorator/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/decorator/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,12 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+
+#
+# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
 COMPONENT_NAME=		decorator
 COMPONENT_VERSION=	3.4.0
 COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
@@ -32,6 +32,7 @@
     sha256:c20b404cbb7ee5cebd506688e0114e3cd76f5ce233805a51f36e1a7988d9d783
 COMPONENT_ARCHIVE_URL=	$(call pypi_url)
 COMPONENT_PROJECT_URL=	http://pypi.python.org/pypi/decorator
+COMPONENT_BUGDB=	python-mod/decorator
 
 include $(WS_TOP)/make-rules/prep.mk
 include $(WS_TOP)/make-rules/setup.py.mk
@@ -39,12 +40,15 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+COMPONENT_TEST_ARGS=	documentation.py -v
+COMPONENT_TEST_DIR=	$(SOURCE_DIR)
+
 # common targets
 build:		$(BUILD_NO_ARCH)
 
 install:	$(INSTALL_NO_ARCH)
 
-test:		$(NO_TESTS)
+test:		$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/decorator/decorator-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/decorator/decorator-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -26,7 +28,7 @@
 set name=pkg.summary value="Python decorator helper module"
 set name=pkg.description \
     value="The aim of the decorator module is to simplify the usage of decorators for the average programmer, and to popularize decorators by showing various non-trivial examples."
-set name=com.oracle.info.description value="Python decorator helper module"
+set name=com.oracle.info.description value="the Python decorator helper module"
 set name=com.oracle.info.tpno value=13154
 set name=info.classification \
     value=org.opensolaris.category.2008:Development/Python
@@ -45,6 +47,10 @@
 #
 license decorator.license license=BSD
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/decorator-$(PYV)@3.4.0,5.12-5.12.0.0.0.41.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
@@ -52,7 +58,3 @@
 # force a dependency on the decorator package
 depend type=require \
     fmri=library/python/decorator@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/decorator-$(PYV)@3.4.0,5.12-5.12.0.0.0.41.0
--- a/components/python/django/django-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/django/django-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,11 +18,11 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
-# The functionality of unittest2 is part of python 2.7, but separate in 2.6
-<transform depend type=require fmri=library/python/unittest2-27 -> drop>
 set name=pkg.fmri \
     value=pkg:/library/python/django-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Django Python web framework"
@@ -2384,6 +2384,26 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/django/views/static.py
 license django.license license="BSD, Apache 2.0, MIT, PSFv2"
 
+# force a group dependency on the optional markdown; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/markdown-$(PYV)
+
+# force a group dependency on the optional pytz; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/pytz-$(PYV)
+
+# force a group dependency on the optional setuptools; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/setuptools-$(PYV)
+
+# force a group dependency on the optional simplejson; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/simplejson-$(PYV)
+
+# force a group dependency on the optional unittest2; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/unittest2-$(PYV)
+
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/django-$(PYV)@1.4.10,5.12-5.12.0.0.0.44.0
@@ -2391,26 +2411,3 @@
 # force a dependency on the django package
 depend type=require \
     fmri=library/python/django@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force a dependency on ipython; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/ipython-$(PYV)
-
-# force a dependency on markdown; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/markdown-$(PYV)
-
-# force a dependency on python-imaging; pkgdepend work is needed to
-# flush this out.
-depend type=require fmri=library/python/python-imaging-$(PYV)
-
-# force a dependency on python-mysql; pkgdepend work is needed to
-# flush this out.
-depend type=require fmri=library/python/python-mysql-$(PYV)
-
-# force a dependency on pytz; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/pytz-$(PYV)
-
-# force a dependency on simplejson; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/simplejson-$(PYV)
-
-# force a dependency on unittest2; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/unittest2-$(PYV)
--- a/components/python/django_compressor/django_compressor-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/django_compressor/django_compressor-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -93,6 +95,10 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/django_compressor-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
 license django_compressor.license license="BSD, MIT, Apache 2.0"
 
+# force a group dependency on the optional lxml; pkgdepend work is needed to
+# flush this out
+depend type=group fmri=library/python/lxml-$(PYV)
+
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/django_compressor-$(PYV)@1.3,5.12-5.12.0.0.0.44.0
@@ -101,10 +107,6 @@
 depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
     pkg.debug.depend.path=usr/bin
 
-# force a dependency on beautifulsoup4; pkgdepend work is needed to
-# flush this out
-depend type=require fmri=library/python/beautifulsoup4-$(PYV)
-
 # force a dependency on django; pkgdepend work is needed to flush this out
 depend type=require fmri=library/python/django-$(PYV)
 
@@ -115,6 +117,3 @@
 # force a dependency on the django_compressor package
 depend type=require \
     fmri=library/python/django_compressor@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force a dependency on lxml; pkgdepend work is needed to flush this out
-depend type=require fmri=library/python/lxml-$(PYV)
--- a/components/python/eventlet/eventlet-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/eventlet/eventlet-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -119,6 +121,18 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/eventlet/wsgi.py
 license eventlet.license license="MIT, Apache 2.0, BSD"
 
+# force a group dependency on the optional pyopenssl; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/pyopenssl-$(PYV)
+
+# force a group dependency on the optional setuptools; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/setuptools-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/eventlet-$(PYV)@0.13.0,5.12-5.12.0.0.0.41.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
@@ -129,7 +143,3 @@
 
 # force a dependency on greenlet; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/greenlet-$(PYV)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/eventlet-$(PYV)@0.13.0,5.12-5.12.0.0.0.41.0
--- a/components/python/eventlet/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/eventlet/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,10 +1,2 @@
-library/python-2/pyopenssl-26
-library/python-2/pyopenssl-27
-library/python-2/python-twisted-26
-library/python-2/python-twisted-27
-library/python/pyopenssl-26
-library/python/pyopenssl-27
-library/python/python-twisted-26
-library/python/python-twisted-27
 runtime/python-26
 runtime/python-27
--- a/components/python/formencode/formencode-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/formencode/formencode-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -89,6 +91,18 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/formencode/variabledecode.py
 license formencode.license license="PSF, LGPLv2, MIT"
 
+# force a group dependency on the optional nose; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/nose-$(PYV)
+
+# force a group dependency on the optional setuptools; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/setuptools-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/formencode-$(PYV)@1.2.6,5.12-5.12.0.0.0.41.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
@@ -96,7 +110,3 @@
 # force a dependency on the formencode package
 depend type=require \
     fmri=library/python/formencode@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/formencode-$(PYV)@1.2.6,5.12-5.12.0.0.0.41.0
--- a/components/python/glanceclient/glanceclient-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/glanceclient/glanceclient-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -23,8 +23,6 @@
 # Copyright (c) 2013, 2014, 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/glanceclient-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary \
--- a/components/python/imaging/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/imaging/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -48,13 +48,23 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
-# common targets
-build:          $(BUILD_32_and_64)
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
 
-install:        $(INSTALL_32_and_64)
+# common targets
+build:		$(BUILD_32_and_64)
 
-test:           $(TEST_32_and_64)
+install:	$(INSTALL_32_and_64)
 
-BUILD_PKG_DEPENDENCIES =        $(BUILD_TOOLS)
+test:		$(TEST_32_and_64)
+
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
 include $(WS_TOP)/make-rules/depend.mk
--- a/components/python/imaging/imaging-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/imaging/imaging-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -42,8 +42,7 @@
 link path=usr/bin/pilconvert.py target=pilconvert-$(PYVER).py mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/pildriver.py \
-    path=usr/bin/pildriver-$(PYVER).py pkg.depend.bypass-generate=.* \
-    pkg.tmp.autopyc=false
+    path=usr/bin/pildriver-$(PYVER).py pkg.tmp.autopyc=false
 link path=usr/bin/pildriver.py target=pildriver-$(PYVER).py mediator=python \
     mediator-version=$(PYVER)
 file build/$(MACH32)-$(PYVER)/scripts-$(PYVER)/pilfile.py \
@@ -155,6 +154,10 @@
 depend type=optional \
     fmri=consolidation/desktop/[email protected]
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/python-imaging-$(PYV)@1.1.7,5.12-5.12.0.0.0.41.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
@@ -162,7 +165,3 @@
 # force a dependency on the python-imaging package
 depend type=require \
     fmri=library/python/python-imaging@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/python-imaging-$(PYV)@1.1.7,5.12-5.12.0.0.0.41.0
--- a/components/python/jsonpatch/jsonpatch-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/jsonpatch/jsonpatch-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -47,6 +49,10 @@
 #
 license jsonpatch.license license=BSD
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/jsonpatch-$(PYV)@1.1,5.12-5.12.0.0.0.41.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
@@ -55,6 +61,5 @@
 depend type=require \
     fmri=library/python/jsonpatch@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/jsonpatch-$(PYV)@1.1,5.12-5.12.0.0.0.41.0
+# force a dependency on jsonpointer; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/jsonpointer-$(PYV)
--- a/components/python/jsonrpclib/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/jsonrpclib/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,13 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
 COMPONENT_NAME=		jsonrpclib
 COMPONENT_VERSION=	0.1.3
 COMPONENT_HASH=		e3a3cde
@@ -41,12 +42,15 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+COMPONENT_TEST_DIR=	$(COMPONENT_SRC)
+COMPONENT_TEST_ARGS=	tests.py
+
 # common targets
 build:		$(BUILD_NO_ARCH)
 
 install:	$(INSTALL_NO_ARCH)
 
-test:		$(NO_TESTS)
+test:		$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/jsonrpclib/jsonrpclib-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/jsonrpclib/jsonrpclib-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,15 +18,18 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
     value=pkg:/library/python/jsonrpclib-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Python implementation of JSON-RPC v2.0"
-set name=pkg.description value="The jsonrpclib library is an implementation of the JSON-RPC specification. It supports both the original 1.0 specification, as well as the new (proposed) 2.0 spec, which includes features such as batch submission and keyword arguments. It is designed to be as compatible with the syntax of xmlrpclib as possible (it extends where possible), so that projects using xmlrpclib could easily be modified to use JSON and experiment with the differences."
+set name=pkg.description \
+    value="The jsonrpclib library is an implementation of the JSON-RPC specification. It supports both the original 1.0 specification, as well as the new (proposed) 2.0 spec, which includes features such as batch submission and keyword arguments. It is designed to be as compatible with the syntax of xmlrpclib as possible (it extends where possible), so that projects using xmlrpclib could easily be modified to use JSON and experiment with the differences."
 set name=com.oracle.info.description \
-    value="the Python $(PYVER) implementation of JSON-RPC v2.0"
+    value="the Python implementation of JSON-RPC v2.0"
 set name=com.oracle.info.tpno value=8061
 set name=info.classification \
     value=org.opensolaris.category.2008:Development/Python
@@ -35,7 +38,6 @@
 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)
-
 file path=usr/lib/python$(PYVER)/vendor-packages/jsonrpclib-$(COMPONENT_VERSION)-py$(PYVER).egg-info
 file path=usr/lib/python$(PYVER)/vendor-packages/jsonrpclib/SimpleJSONRPCServer.py
 file path=usr/lib/python$(PYVER)/vendor-packages/jsonrpclib/__init__.py
@@ -45,6 +47,10 @@
 file path=usr/lib/python$(PYVER)/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/jsonrpclib-$(PYV)@0.1.3,5.12-5.12.0.0.0.41.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
@@ -53,9 +59,5 @@
 depend type=require \
     fmri=library/python/jsonrpclib@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force dependency on simplejson; pkgdepend work is needed to flush these out. 
+# force a dependency on simplejson; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/simplejson-$(PYV)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/jsonrpclib-$(PYV)@0.1.3,5.12-5.12.0.0.0.41.0
--- a/components/python/jsonschema/jsonschema-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/jsonschema/jsonschema-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -51,6 +53,14 @@
 #
 license COPYING license=MIT
 
+# force a group dependency on the optional requests; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/requests-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/jsonschema-$(PYV)@2.0.0,5.12-5.12.0.0.0.41.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
@@ -58,7 +68,3 @@
 # force a dependency on the jsonschema package
 depend type=require \
     fmri=library/python/jsonschema@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/jsonschema-$(PYV)@2.0.0,5.12-5.12.0.0.0.41.0
--- a/components/python/keystoneclient/keystoneclient-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/keystoneclient/keystoneclient-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -23,8 +23,6 @@
 # Copyright (c) 2013, 2014, 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/keystoneclient-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary \
--- a/components/python/kombu/kombu-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/kombu/kombu-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,16 +18,11 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
-# importlib is part of python 2.7, but separate in 2.6
-<transform depend type=require fmri=library/python/importlib-27 -> drop>
-# ordereddict is part of python 2.7, but separate in 2.6
-<transform depend type=require fmri=library/python/ordereddict-27 -> drop>
-# The test related file actions have not been included because they will fail
-# in dependency generation until the various test related modules that they
-# need are also provided.
 set name=pkg.fmri \
     value=pkg:/library/python/kombu-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Messaging framework for Python"
@@ -105,22 +100,41 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/kombu/utils/url.py
 license kombu.license license=BSD
 
+# force a group dependency on the optional amqp; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/amqp-$(PYV)
+
+# force a group dependency on the optional boto; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/boto-$(PYV)
+
+# force a group dependency on the optional django; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/django-$(PYV)
+
+# force a group dependency on the optional librabbitmq; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/librabbitmq-$(PYV)
+
+# force a group dependency on the optional setuptools; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/setuptools-$(PYV)
+
+# force a group dependency on the optional sqlalchemy; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/sqlalchemy-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/kombu-$(PYV)@2.5.12,5.12-5.12.0.0.0.41.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
 
-# force a dependency on amqp; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/amqp-$(PYV)
-
 # force a dependency on anyjson; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/anyjson-$(PYV)
 
-# force a dependency on boto; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/boto-$(PYV)
-
-# force a dependency on eventlet; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/eventlet-$(PYV)
-
 # force a dependency on importlib; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/importlib-$(PYV)
 
@@ -128,14 +142,8 @@
 depend type=require \
     fmri=library/python/kombu@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force a dependency on librabbitmq; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/librabbitmq-$(PYV)
-
 # force a dependency on ordereddict; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/ordereddict-$(PYV)
 
 # force a dependency on pyrabbit; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/pyrabbit-$(PYV)
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/kombu-$(PYV)@2.5.12,5.12-5.12.0.0.0.41.0
--- a/components/python/ldtp/ldtp-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/ldtp/ldtp-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,7 +18,9 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+#
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -30,7 +32,8 @@
     value="ldtp, the Linux Desktop Testing Project for Python"
 set name=com.oracle.info.tpno value=10015
 set name=info.classification \
-    value="org.opensolaris.category.2008:Development/Distribution Tools"
+    value="org.opensolaris.category.2008:Development/Distribution Tools" \
+    value=org.opensolaris.category.2008:Development/Python
 set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/261
@@ -69,6 +72,10 @@
 #
 license COPYING license=LGPLv2.1
 
+# force a dependency on python-twisted; pkgdepend work is needed to flush this
+# out.
+depend type=require fmri=library/python/python-twisted-$(PYV)
+
 # force a dependency on the ldtp package
 depend type=require \
     fmri=system/desktop/ldtp@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/lesscpy/lesscpy-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/lesscpy/lesscpy-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,11 +18,11 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, 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"
--- a/components/python/m2crypto/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/m2crypto/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,13 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
 COMPONENT_NAME=		M2Crypto
 COMPONENT_VERSION=	0.21.1
 COMPONENT_PROJECT_URL=	http://chandlerproject.org/Projects/MeTooCrypto/
@@ -40,12 +41,28 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+
+COMPONENT_TEST_ARGS =	setup.py test
+COMPONENT_TEST_DIR =	$(COMPONENT_SRC)
+COMPONENT_TEST_ENV=	CC=$(CC)
+COMPONENT_TEST_ENV +=	PATH=/usr/bin
+COMPONENT_TEST_ENV +=	PYTHONPATH=$(PROTO_DIR)$(PYTHON_VENDOR_PACKAGES.32)
+
 # common targets
 build:		$(BUILD_32_and_64)
 
 install:	$(INSTALL_32_and_64)
 
-test:		$(NO_TESTS)
+test:		$(TEST_32_and_64)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/m2crypto/m2crypto-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/m2crypto/m2crypto-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -29,7 +31,8 @@
 set name=com.oracle.info.description value="Python bindings for OpenSSL"
 set name=com.oracle.info.tpno value=4424
 set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
+    value=org.opensolaris.category.2008:Development/Python \
+    value=org.opensolaris.category.2008:System/Security
 set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
 set name=info.upstream value="Heikki Toivonen <[email protected]>"
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
@@ -87,6 +90,10 @@
 #
 license LICENCE license=BSD
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/m2crypto-$(PYV)@0.21.1,5.12-5.12.0.0.0.41.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
@@ -94,7 +101,3 @@
 # force a dependency on the m2crypto package
 depend type=require \
     fmri=library/python/m2crypto@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/m2crypto-$(PYV)@0.21.1,5.12-5.12.0.0.0.41.0
--- a/components/python/mako/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/mako/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,13 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
 COMPONENT_NAME=		Mako
 COMPONENT_VERSION=	0.4.1
 COMPONENT_PROJECT_URL=	http://www.makotemplates.org/
@@ -40,12 +41,15 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+COMPONENT_TEST_DIR=	$(COMPONENT_SRC)
+COMPONENT_TEST_ARGS=	setup.py test
+
 # common targets
 build:		$(BUILD_NO_ARCH)
 
 install:	$(INSTALL_NO_ARCH)
 
-test:		$(NO_TESTS)
+test:		$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/mako/mako-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/mako/mako-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -67,8 +69,21 @@
 #
 license LICENSE license=MIT
 
+# force a group dependency on the optional babel; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/babel-$(PYV)
+
+# force a group dependency on the optional markupsafe; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/markupsafe-$(PYV)
+
+# force a group dependency on the optional pygments; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/pygments-$(PYV)
+
 # force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/mako-$(PYV)@0.4.1,5.12-5.12.0.0.0.41.0
+depend type=optional \
+    fmri=library/python-2/mako-$(PYV)@0.4.1,5.12-5.12.0.0.0.41.0
 
 # force a dependency on the Python runtime
 depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
--- a/components/python/markdown/markdown-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/markdown/markdown-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -71,13 +73,14 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/markdown/util.py
 license markdown.license license="BSD, MIT"
 
-# force a dependency on the markdown package
-depend type=require \
-    fmri=library/python/markdown@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force a dependency on pygments; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/pygments-$(PYV)
+# force a group dependency on the optional pygments; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/pygments-$(PYV)
 
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/markdown-$(PYV)@2.3.1,5.12-5.12.0.0.0.41.0
+
+# force a dependency on the markdown package
+depend type=require \
+    fmri=library/python/markdown@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/markdown/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/markdown/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,6 +1,2 @@
-library/python-2/pygments-26
-library/python-2/pygments-27
-library/python/pygments-26
-library/python/pygments-27
 runtime/python-26
 runtime/python-27
--- a/components/python/neutronclient/neutronclient-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/neutronclient/neutronclient-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -23,8 +23,6 @@
 # Copyright (c) 2013, 2014, 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/neutronclient-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary \
--- a/components/python/nose-cover3/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/nose-cover3/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,10 +1,2 @@
-library/python-2/coverage-26
-library/python-2/coverage-27
-library/python-2/nose-26
-library/python-2/nose-27
-library/python/coverage-26
-library/python/coverage-27
-library/python/nose-26
-library/python/nose-27
 runtime/python-26
 runtime/python-27
--- a/components/python/nose/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/nose/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -41,12 +41,15 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+COMPONENT_TEST_DIR =	$(SOURCE_DIR)
+COMPONENT_TEST_ARGS =	setup.py test
+
 # common targets
 build:		$(BUILD_NO_ARCH)
 
 install:	$(INSTALL_NO_ARCH)
 
-test:		$(NO_TESTS)
+test:		$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/nose/nose-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/nose/nose-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,13 +18,16 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
     value=pkg:/library/python/nose-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="A unittest-based testing framework for python that makes writing and running tests easier"
+set name=pkg.summary value="Nicer testing for Python"
+set name=pkg.description \
+    value="nose extends the test loading and running features of unittest, making it easier to write, find and run tests. By default, nose will run tests in files or directories under the current working directory whose names include 'test' or 'Test' at a word boundary. Test output is similar to that of unittest, but also includes captured stdout output from failing tests, for easy print-style debugging. These features, and many more, are customizable through the use of plugins. Plugins included with nose provide support for doctest, code coverage and profiling, flexible attribute-based test selection, output capture and more."
 set name=com.oracle.info.description value="the Python nose unit test framework"
 set name=com.oracle.info.tpno value=12933
 set name=info.classification \
@@ -91,13 +94,14 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/nose/util.py
 license nose.license license=LGPLv2.1
 
-# force a dependency on the Python runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
-    pkg.debug.depend.path=usr/bin
+# force a group dependency on the optional coverage; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/coverage-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/nose-$(PYV)@1.2.1,5.12-5.12.0.0.0.41.0
 
 # force a dependency on the nose package
 depend type=require \
     fmri=library/python/nose@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/nose-$(PYV)@1.2.1,5.12-5.12.0.0.0.41.0
--- a/components/python/nose/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/nose/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,5 +1,3 @@
-library/python-2/setuptools-26
-library/python-2/setuptools-27
 library/python/setuptools-26
 library/python/setuptools-27
 runtime/python-26
--- a/components/python/novaclient/novaclient-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/novaclient/novaclient-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -23,8 +23,6 @@
 # Copyright (c) 2013, 2014, 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/novaclient-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary \
--- a/components/python/oslo.config/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/oslo.config/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -30,7 +30,7 @@
     sha256:e4ccf489159f0c2b1932ea282f7663daada0a7f8309edc4c34904605a98cf9f2
 COMPONENT_ARCHIVE_URL=	http://tarballs.openstack.org/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
 COMPONENT_PROJECT_URL=	http://www.openstack.org/
-COMPONENT_BUGDB=	python-mod/osol.config
+COMPONENT_BUGDB=	python-mod/oslo.config
 
 include $(WS_TOP)/make-rules/prep.mk
 include $(WS_TOP)/make-rules/setup.py.mk
--- a/components/python/oslo.config/oslo.config-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/oslo.config/oslo.config-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,11 +18,11 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, 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/oslo.config-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Oslo Configuration Library"
@@ -31,6 +31,7 @@
 set name=com.oracle.info.description value="the Oslo Configuration Library"
 set name=com.oracle.info.tpno value=16316
 set name=info.classification \
+    value=org.opensolaris.category.2008:Development/Python \
     value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
 set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
 set name=info.upstream value="OpenStack <[email protected]>"
--- a/components/python/passlib/passlib-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/passlib/passlib-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -92,6 +94,14 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/passlib/win32.py
 license passlib.license license="BSD, MIT"
 
+# force a group dependency on the optional m2crypto; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/m2crypto-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/passlib-$(PYV)@1.6.1,5.12-5.12.0.0.0.41.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
@@ -99,6 +109,3 @@
 # force a dependency on the passlib package
 depend type=require \
     fmri=library/python/passlib@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/passlib-$(PYV)@1.6.1,5.12-5.12.0.0.0.41.0
--- a/components/python/paste.deploy/paste.deploy-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/paste.deploy/paste.deploy-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -57,14 +59,20 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/paste/deploy/util.py
 license docs/license.txt license=MIT
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/paste.deploy-$(PYV)@1.5.0,5.12-5.12.0.0.0.41.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
 
+# force a dependency on paste; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/paste-$(PYV)
+
 # force a dependency on the paste.deploy package
 depend type=require \
     fmri=library/python/paste.deploy@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/paste.deploy-$(PYV)@1.5.0,5.12-5.12.0.0.0.41.0
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
--- a/components/python/paste/paste-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/paste/paste-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -136,10 +138,21 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/paste/wsgiwrappers.py
 license paste.license license="MIT, PSF"
 
+# force a group dependency on the optional pyopenssl; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/pyopenssl-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/paste-$(PYV)@1.7.5.1,5.12-5.12.0.0.0.41.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
 
+# force a dependency on formencode; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/formencode-$(PYV)
+
 # force a dependency on paste.deploy; pkgdepend work is needed to flush this
 # out.
 depend type=require fmri=library/python/paste.deploy-$(PYV)
@@ -148,5 +161,5 @@
 depend type=require \
     fmri=library/python/paste@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/paste-$(PYV)@1.7.5.1,5.12-5.12.0.0.0.41.0
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
--- a/components/python/paste/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/paste/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,10 +1,2 @@
-library/python-2/pyopenssl-26
-library/python-2/pyopenssl-27
-library/python-2/setuptools-26
-library/python-2/setuptools-27
-library/python/pyopenssl-26
-library/python/pyopenssl-27
-library/python/setuptools-26
-library/python/setuptools-27
 runtime/python-26
 runtime/python-27
--- a/components/python/pbr/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pbr/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,8 +18,11 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		pbr
@@ -38,17 +41,8 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
-COMPONENT_TEST_DIR =    $(SOURCE_DIR)
-COMPONENT_TEST_ARGS =   setup.py test
-
-# required until d2to1 is added to the CBE
-D2TO1 = $(WS_COMPONENTS)/python/d2to1/build/prototype/$(MACH)/$(PYTHON_LIB)
-
-$(D2TO1):
-	(cd ../d2to1 ; gmake install)
-
-PYTHON_ENV += PYTHONPATH=$(D2TO1)
-$(BUILD_32):	$(D2TO1)
+COMPONENT_TEST_DIR =	$(SOURCE_DIR)
+COMPONENT_TEST_ARGS =	setup.py test
 
 # common targets
 build:		$(BUILD_NO_ARCH)
--- a/components/python/pbr/depend.mk	Fri May 09 15:56:52 2014 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-python/pbr:	python/d2to1
--- a/components/python/pbr/pbr-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pbr/pbr-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -57,6 +59,14 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/pbr/version.py
 license pbr.license license="Apache v2.0, BSD"
 
+# force a group dependency on the optional nose; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/nose-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/pbr-$(PYV)@0.5.21,5.12-5.12.0.0.0.41.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
@@ -65,6 +75,5 @@
 depend type=require \
     fmri=library/python/pbr@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/pbr-$(PYV)@0.5.21,5.12-5.12.0.0.0.41.0
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
--- a/components/python/pbr/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pbr/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,6 +1,2 @@
-library/python-2/setuptools-26
-library/python-2/setuptools-27
-library/python/setuptools-26
-library/python/setuptools-27
 runtime/python-26
 runtime/python-27
--- a/components/python/pip/pip-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pip/pip-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,14 +18,18 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
     value=pkg:/library/python/pip-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="A tool for installing and managing Python packages"
+set name=pkg.description \
+    value="Pip is a tool which can install Python packages from a variety of sources including PyPI (and other indexes) using requirement specifiers, VCS project URLs, local project directories, local or remote source archives and requirement files which provide an easy way to specify a whole installation environment."
 set name=com.oracle.info.description \
-    value="Pip is a tool which can install Python packages from a variety of sources including PyPI (and other indexes) using requirement specifiers, VCS project URLs, local project directories, local or remote source archives and requirement files which provide an easy way to specify a whole installation environment."
+    value="pip, a tool for installing and managing Python packages"
 set name=com.oracle.info.tpno value=15181
 set name=info.classification \
     value=org.opensolaris.category.2008:Development/Python
@@ -136,9 +140,15 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/pip/wheel.py
 license pip.license license="MIT, LGPL2.1"
 
+# force the rename with an optional dependency on the old name
+depend type=optional fmri=library/python-2/pip-$(PYV)@1.4.1,5.12-5.12.0.0.0.41.0
+
+# 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.
+depend type=require fmri=library/python/ordereddict-$(PYV)
+
 # force a dependency on the pip package
 depend type=require \
     fmri=library/python/pip@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/pip-$(PYV)@1.4.1,5.12-5.12.0.0.0.41.0
--- a/components/python/pip/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pip/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,5 +1,3 @@
-library/python-2/setuptools-26
-library/python-2/setuptools-27
 library/python/setuptools-26
 library/python/setuptools-27
 runtime/python-26
--- a/components/python/py/py-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/py/py-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -84,3 +86,6 @@
 # force a dependency on the py package
 depend type=require \
     fmri=library/python/py@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+
+# force a dependency on pytest; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/pytest-$(PYV)
--- a/components/python/pyasn1-modules/pyasn1-modules-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pyasn1-modules/pyasn1-modules-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -63,17 +65,17 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/pyasn1_modules/rfc5208.py
 license LICENSE license=BSD-like
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/pyasn1-modules-$(PYV)@0.0.5,5.12-5.12.0.0.0.41.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
 
-# force dependency on pyasn1; pkgdepend work is needed to flush these out
+# force a dependency on pyasn1; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/pyasn1-$(PYV)
 
 # force a dependency on the pyasn1-modules package
 depend type=require \
     fmri=library/python/pyasn1-modules@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/pyasn1-modules-$(PYV)@0.0.5,5.12-5.12.0.0.0.41.0
--- a/components/python/pybonjour/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pybonjour/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,13 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
 COMPONENT_NAME=		pybonjour
 COMPONENT_VERSION=	1.1.1
 COMPONENT_PROJECT_URL=	http://code.google.com/p/pybonjour/
@@ -40,12 +41,16 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+COMPONENT_TEST_DIR =	$(COMPONENT_SRC)
+COMPONENT_TEST_ARGS =	test_pybonjour.py
+
 # common targets
 build:		$(BUILD_NO_ARCH)
 
 install:	$(INSTALL_NO_ARCH)
 
-test:		$(NO_TESTS)
+# svc:/network/dns/multicast:default needs to be online for tests to run
+test:		$(TEST_NO_ARCH)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/pybonjour/pybonjour-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pybonjour/pybonjour-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -42,6 +44,10 @@
 #
 license pybonjour.copyright license=BSD
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/pybonjour-$(PYV)@1.1.1,5.12-5.12.0.0.0.41.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
@@ -49,9 +55,6 @@
 # force a dependency on the pybonjour package
 depend type=require \
     fmri=library/python/pybonjour@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-#
+
+# force a dependency on package delivering svc:/network/dns/multicast:default
 depend type=require fmri=service/network/dns/mdns
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/pybonjour-$(PYV)@1.1.1,5.12-5.12.0.0.0.41.0
--- a/components/python/pycups/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pycups/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,13 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
 COMPONENT_NAME=		pycups
 COMPONENT_VERSION=	1.9.46
 COMPONENT_PROJECT_URL=	http://cyberelk.net/tim/software/pycups/
@@ -43,12 +44,25 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+
+COMPONENT_TEST_ARGS=	test.py
+COMPONENT_TEST_DIR=	$(COMPONENT_SRC)
+
 # common targets
 build:		$(BUILD_32_and_64)
 
 install:	$(INSTALL_32_and_64)
 
-test:		$(NO_TESTS)
+test:		$(TEST_32_and_64)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/pycups/pycups-26.p5m	Fri May 09 15:56:52 2014 -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) 2011, 2014, 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=9025
-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)
-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 a dependency on the pycups package
-depend fmri=library/python/pycups@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    type=require
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- a/components/python/pycups/pycups-27.p5m	Fri May 09 15:56:52 2014 -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) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri value=pkg:/library/python/pycups-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python language bindings for CUPS"
-set name=com.oracle.info.description value="Python 2.7 bindings for CUPS"
-set name=com.oracle.info.tpno value=9025
-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)
-file path=usr/lib/python2.7/vendor-packages/64/cups.so
-file path=usr/lib/python2.7/vendor-packages/cups-1.0-py2.7.egg-info
-file path=usr/lib/python2.7/vendor-packages/cups.so
-license pycups.copyright license=LGPLv2.1
-
-# force a dependency on the pycups package
-depend fmri=library/python/pycups@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    type=require
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pycups/pycups-GENFRAG.p5m	Fri May 09 20:59:20 2014 -0700
@@ -0,0 +1,27 @@
+#
+# 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, Oracle and/or its affiliates. All rights reserved.
+#
+
+# force the rename with an optional dependency on the old name
+depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pycups/pycups-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -0,0 +1,56 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/library/python/pycups-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Python language bindings for CUPS"
+set name=pkg.description \
+    value="The pycups module provides Python bindings for the API used by the CUPS printing subsystem."
+set name=com.oracle.info.description \
+    value="pycups, Python language bindings for CUPS"
+set name=com.oracle.info.tpno value=9025
+set name=info.classification \
+    value=org.opensolaris.category.2008:Development/Python \
+    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)
+file path=usr/lib/python$(PYVER)/vendor-packages/64/cups.so
+file path=usr/lib/python$(PYVER)/vendor-packages/cups-1.0-py$(PYVER).egg-info
+file path=usr/lib/python$(PYVER)/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/pycups-$(PYV)@1.9.46,5.12-5.12.0.0.0.41.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
+
+# 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	Fri May 09 15:56:52 2014 -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) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri value=pkg:/library/python/pycups@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Python bindings for CUPS"
-set name=com.oracle.info.description value="the Python language bindings for CUPS"
-set name=com.oracle.info.tpno value=9025
-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)
-
-depend fmri=library/python/pycups-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26 \
-    type=conditional
-
-depend fmri=library/python/pycups-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-27 \
-    type=conditional
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- a/components/python/pycurl/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pycurl/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,13 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
-
 COMPONENT_NAME=		pycurl
 COMPONENT_VERSION=	7.19.0
 COMPONENT_PROJECT_URL=	http://pycurl.sourceforge.net/
@@ -47,6 +48,16 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+
 # common targets
 build:		$(BUILD_32_and_64)
 
--- a/components/python/pycurl/pycurl-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pycurl/pycurl-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -25,7 +27,7 @@
     value=pkg:/library/python/pycurl-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Python bindings for libcurl"
 set name=pkg.description \
-    value="PycURL provides a thin layer of Python bindings on top of libcurl."
+    value="PycURL is a Python interface to libcurl(3). PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module."
 set name=com.oracle.info.description value="Python bindings for libcurl"
 set name=com.oracle.info.tpno value=5912
 set name=info.classification \
@@ -42,6 +44,10 @@
 #
 license pycurl.copyright license=MIT
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/pycurl-$(PYV)@7.19.0.1,5.12-5.12.0.0.0.41.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
@@ -49,7 +55,3 @@
 # force a dependency on the pycurl package
 depend type=require \
     fmri=library/python/pycurl@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/pycurl-$(PYV)@7.19.0.1,5.12-5.12.0.0.0.41.0
--- a/components/python/pycurl/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pycurl/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,8 +1,5 @@
-library/libidn
 library/security/openssl
-library/zlib
 runtime/python-26
 runtime/python-27
 system/library
-system/library/security/gss
 web/curl
--- a/components/python/pygments/pygments-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pygments/pygments-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -123,9 +125,14 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/pygments/util.py
 license pygments.license license="BSD, GPLv2, GPLv3, LGPLv2.1, CPLv1.1"
 
+# force a group dependency on the optional python-imaging; pkgdepend work is
+# needed to flush this out.
+depend type=group fmri=library/python/python-imaging-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/pygments-$(PYV)@1.6,5.12-5.12.0.0.0.41.0
+
 # force a dependency on the pygments package
 depend type=require \
     fmri=library/python/pygments@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/pygments-$(PYV)@1.6,5.12-5.12.0.0.0.41.0
--- a/components/python/pygments/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pygments/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,5 +1,3 @@
-library/python-2/setuptools-26
-library/python-2/setuptools-27
 library/python/setuptools-26
 library/python/setuptools-27
 runtime/python-26
--- a/components/python/pylxml/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pylxml/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,8 +18,11 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
 #
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
 include ../../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		pylxml
@@ -43,14 +46,26 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+
+COMPONENT_TEST_ARGS=	test
+COMPONENT_TEST_CMD=	$(MAKE) -i
+COMPONENT_TEST_DIR=	$(SOURCE_DIR)
+
 # common targets
 build:		$(BUILD_32_and_64)
 
 install:	$(INSTALL_32_and_64)
 
-test:		$(BUILD_32_and_64)
-		cd $(SOURCE_DIR) && $(PYTHON) selftest.py
-		cd $(SOURCE_DIR) && $(PYTHON) selftest2.py
+test:		$(TEST_32_and_64)
 
 BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
--- a/components/python/pylxml/pylxml-26.p5m	Fri May 09 15:56:52 2014 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/lxml-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Pythonic 2.6 binding for the libxml2 and libxslt libraries"
-set name=com.oracle.info.description value="Python 2.6 bindings for the libxml2 and libxslt libraries"
-set name=com.oracle.info.tpno value=17146
-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/579
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.6.egg-info/PKG-INFO
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.6.egg-info/SOURCES.txt
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.6.egg-info/dependency_links.txt
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.6.egg-info/not-zip-safe
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.6.egg-info/top_level.txt
-file path=usr/lib/python2.6/vendor-packages/lxml/64/etree.so
-file path=usr/lib/python2.6/vendor-packages/lxml/64/objectify.so
-file path=usr/lib/python2.6/vendor-packages/lxml/ElementInclude.py
-file path=usr/lib/python2.6/vendor-packages/lxml/__init__.py
-file path=usr/lib/python2.6/vendor-packages/lxml/_elementpath.py
-file path=usr/lib/python2.6/vendor-packages/lxml/builder.py
-file path=usr/lib/python2.6/vendor-packages/lxml/cssselect.py
-file path=usr/lib/python2.6/vendor-packages/lxml/doctestcompare.py
-file path=usr/lib/python2.6/vendor-packages/lxml/etree.so
-file path=usr/lib/python2.6/vendor-packages/lxml/etree_defs.h
-file path=usr/lib/python2.6/vendor-packages/lxml/etreepublic.pxd
-file path=usr/lib/python2.6/vendor-packages/lxml/html/ElementSoup.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/__init__.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/_dictmixin.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/_diffcommand.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/_html5builder.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/_setmixin.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/builder.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/clean.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/defs.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/diff.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/formfill.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/html5parser.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/soupparser.py
-file path=usr/lib/python2.6/vendor-packages/lxml/html/usedoctest.py
-file path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/__init__.py
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/rng/iso-schematron.rng
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl
-file \
-    path=usr/lib/python2.6/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt
-file path=usr/lib/python2.6/vendor-packages/lxml/objectify.so
-file path=usr/lib/python2.6/vendor-packages/lxml/pyclasslookup.py
-file path=usr/lib/python2.6/vendor-packages/lxml/sax.py
-file path=usr/lib/python2.6/vendor-packages/lxml/tree.pxd
-file path=usr/lib/python2.6/vendor-packages/lxml/usedoctest.py
-license pylxml.copyright license="BSD, PSF, GPL"
-
-# force a dependency on the lxml package
-depend fmri=library/python/lxml@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    type=require
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- a/components/python/pylxml/pylxml-27.p5m	Fri May 09 15:56:52 2014 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/lxml-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Pythonic 2.7 binding for the libxml2 and libxslt libraries"
-set name=com.oracle.info.description value="Python 2.7 bindings for the libxml2 and libxslt libraries"
-set name=com.oracle.info.tpno value=17146
-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/579
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-
-license pylxml.copyright license="BSD, PSF, GPL"
-file path=usr/lib/python2.7/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.7.egg-info/dependency_links.txt
-file path=usr/lib/python2.7/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.7.egg-info/not-zip-safe
-file path=usr/lib/python2.7/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.7.egg-info/PKG-INFO
-file path=usr/lib/python2.7/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.7.egg-info/SOURCES.txt
-file path=usr/lib/python2.7/vendor-packages/lxml-$(COMPONENT_VERSION)-py2.7.egg-info/top_level.txt
-file path=usr/lib/python2.7/vendor-packages/lxml/__init__.py
-file path=usr/lib/python2.7/vendor-packages/lxml/_elementpath.py
-file path=usr/lib/python2.7/vendor-packages/lxml/64/etree.so
-file path=usr/lib/python2.7/vendor-packages/lxml/64/objectify.so
-file path=usr/lib/python2.7/vendor-packages/lxml/builder.py
-file path=usr/lib/python2.7/vendor-packages/lxml/cssselect.py
-file path=usr/lib/python2.7/vendor-packages/lxml/doctestcompare.py
-file path=usr/lib/python2.7/vendor-packages/lxml/ElementInclude.py
-file path=usr/lib/python2.7/vendor-packages/lxml/etree.so
-file path=usr/lib/python2.7/vendor-packages/lxml/etree_defs.h
-file path=usr/lib/python2.7/vendor-packages/lxml/etreepublic.pxd
-file path=usr/lib/python2.7/vendor-packages/lxml/html/__init__.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/_dictmixin.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/_diffcommand.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/_setmixin.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/builder.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/clean.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/defs.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/diff.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/ElementSoup.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/formfill.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/html5parser.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/soupparser.py
-file path=usr/lib/python2.7/vendor-packages/lxml/html/usedoctest.py
-file path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/__init__.py
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/rng/iso-schematron.rng
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl
-file \
-    path=usr/lib/python2.7/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt
-file path=usr/lib/python2.7/vendor-packages/lxml/objectify.so
-file path=usr/lib/python2.7/vendor-packages/lxml/pyclasslookup.py
-file path=usr/lib/python2.7/vendor-packages/lxml/sax.py
-file path=usr/lib/python2.7/vendor-packages/lxml/tree.pxd
-file path=usr/lib/python2.7/vendor-packages/lxml/usedoctest.py
-
-# force a dependency on the lxml package
-depend fmri=library/python/lxml@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    type=require
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pylxml/pylxml-GENFRAG.p5m	Fri May 09 20:59:20 2014 -0700
@@ -0,0 +1,27 @@
+#
+# 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, Oracle and/or its affiliates. All rights reserved.
+#
+
+# force the rename with an optional dependency on the old name
+depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pylxml/pylxml-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -0,0 +1,98 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/library/python/lxml-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary \
+    value="Pythonic bindings for the libxml2 and libxslt libraries"
+set name=pkg.description \
+    value="The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt. It is unique in that it combines the speed and XML feature completeness of these libraries with the simplicity of a native Python API, mostly compatible but superior to the well-known ElementTree API."
+set name=com.oracle.info.description \
+    value="Python bindings for the libxml2 and libxslt libraries"
+set name=com.oracle.info.tpno value=17146
+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/579
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml-$(COMPONENT_VERSION)-py$(PYVER).egg-info/not-zip-safe
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/64/etree.so
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/64/objectify.so
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/ElementInclude.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/_elementpath.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/builder.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/cssselect.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/doctestcompare.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/etree.so
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/etree_defs.h
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/etreepublic.pxd
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/ElementSoup.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/_dictmixin.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/_diffcommand.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/_html5builder.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/_setmixin.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/builder.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/clean.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/defs.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/diff.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/formfill.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/html5parser.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/soupparser.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/html/usedoctest.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/rng/iso-schematron.rng
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/objectify.so
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/pyclasslookup.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/sax.py
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/tree.pxd
+file path=usr/lib/python$(PYVER)/vendor-packages/lxml/usedoctest.py
+license pylxml.copyright license="BSD, PSF, GPL"
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/lxml-$(PYV)@2.3.3,5.12-5.12.0.0.0.41.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
+
+# force a dependency on the lxml package
+depend type=require \
+    fmri=library/python/lxml@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/pylxml/pylxml.p5m	Fri May 09 15:56:52 2014 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-set name=pkg.fmri \
-    value=pkg:/library/python/lxml@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Pythonic 2.6 binding for the libxml2 and libxslt libraries"
-set name=com.oracle.info.description value="Python bindings for the libxml2 and libxslt libraries"
-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/579
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-
-depend fmri=library/python/lxml-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-26 \
-    type=conditional
-
-depend fmri=library/python/lxml-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
-    predicate=runtime/python-27 \
-    type=conditional
-
-# force the rename with an optional dependency on the old name
-depend type=optional fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- a/components/python/pylxml/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pylxml/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,6 +1,5 @@
 library/libxml2
 library/libxslt
-library/zlib
 runtime/python-26
 runtime/python-27
 system/library
--- a/components/python/pyopenssl/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pyopenssl/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -18,12 +18,12 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+
+#
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
-PATH=/usr/bin:/usr/sbin
-
 COMPONENT_NAME=		pyOpenSSL
 COMPONENT_VERSION=	0.13
 COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
@@ -38,6 +38,18 @@
 include $(WS_TOP)/make-rules/setup.py.mk
 include $(WS_TOP)/make-rules/ips.mk
 
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+
 COMPONENT_TEST_DIR = $(COMPONENT_SRC)/OpenSSL/test
 # The .so files are under ./OpenSSL/64 not ./64/OpenSSL so the
 # $(PYTHON_VENDOR_PACKAGES) variable for 64bit Python is wrong.
@@ -45,7 +57,6 @@
 COMPONENT_TEST_ENV += PYTHONPATH=$(PROTO_DIR)$(PYTHON_VENDOR_PACKAGES.32)
 COMPONENT_TEST_CMD = $(SHELL)
 COMPONENT_TEST_ARGS = $(COMPONENT_DIR)/files/runtests
-ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # common targets
 build:		$(BUILD_32_and_64)
--- a/components/python/pyopenssl/pyopenssl-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pyopenssl/pyopenssl-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,16 +18,21 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
     value=pkg:/library/python/pyopenssl-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Python interface to the OpenSSL library"
+set name=pkg.description \
+    value="The pyOpenSSL package provides a high-level, Python interface to the functions in the OpenSSL library. It includes a generic cryptographic module, an interface to the OpenSSL pseudo random number generator, and an interface to the SSL-specific parts of OpenSSL. The latter defines SSL Context objects and SSL Connection objects, using Python sockets as a transport layer. The Connection object wraps all the socket methods and can therefore be used interchangeably."
 set name=com.oracle.info.description value="Python bindings for OpenSSL"
 set name=com.oracle.info.tpno value=9207
 set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
+    value=org.opensolaris.category.2008:Development/Python \
+    value=org.opensolaris.category.2008:System/Security
 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/176
@@ -49,6 +54,10 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/pyOpenSSL-$(COMPONENT_VERSION)-py$(PYVER).egg-info
 license LICENSE license=Apache2
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/pyopenssl-$(PYV)@0.13,5.12-5.12.0.0.0.41.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
@@ -56,7 +65,3 @@
 # force a dependency on the pyopenssl package
 depend type=require \
     fmri=library/python/pyopenssl@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/pyopenssl-$(PYV)@0.13,5.12-5.12.0.0.0.41.0
--- a/components/python/pyrabbit/pyrabbit-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pyrabbit/pyrabbit-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -50,15 +52,17 @@
 #
 license pyrabbit.license license=MIT
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/pyrabbit-$(PYV)@1.0.1,5.12-5.12.0.0.0.41.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
+
+# force a dependency on httplib2; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/httplib2-$(PYV)
 
 # force a dependency on the pyrabbit package
 depend type=require \
     fmri=library/python/pyrabbit@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/pyrabbit-$(PYV)@1.0.1,5.12-5.12.0.0.0.41.0
--- a/components/python/pytest-capturelog/pytest-capturelog-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pytest-capturelog/pytest-capturelog-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -52,6 +54,9 @@
 depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
     pkg.debug.depend.path=usr/bin
 
+# force a dependency on py; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/py-$(PYV)
+
 # force a dependency on pytest
 depend type=require fmri=library/python/pytest-$(PYV)
 
--- a/components/python/pytest-codecheckers/pytest-codecheckers-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pytest-codecheckers/pytest-codecheckers-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -71,3 +73,6 @@
 # force a dependency on the pytest-codecheckers package
 depend type=require \
     fmri=library/python/pytest-codecheckers@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
--- a/components/python/pytest-codecheckers/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pytest-codecheckers/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,14 +1,2 @@
-library/python-2/pep8-26
-library/python-2/pep8-27
-library/python-2/py-26
-library/python-2/py-27
-library/python-2/pyflakes-26
-library/python-2/pyflakes-27
-library/python/pep8-26
-library/python/pep8-27
-library/python/py-26
-library/python/py-27
-library/python/pyflakes-26
-library/python/pyflakes-27
 runtime/python-26
 runtime/python-27
--- a/components/python/pytest-cov/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pytest-cov/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,6 +1,2 @@
-library/python-2/cov-core-26
-library/python-2/cov-core-27
-library/python/cov-core-26
-library/python/cov-core-27
 runtime/python-26
 runtime/python-27
--- a/components/python/pytest/pytest-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pytest/pytest-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -82,6 +84,9 @@
 depend type=optional \
     fmri=library/python-2/pytest-$(PYV)@2.3.5,5.12-5.12.0.0.0.41.0
 
+# force a dependency on py; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/py-$(PYV)
+
 # force a dependency on the pytest package
 depend type=require \
     fmri=library/python/pytest@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/pytest/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pytest/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,5 +1,3 @@
-library/python-2/setuptools-26
-library/python-2/setuptools-27
 library/python/setuptools-26
 library/python/setuptools-27
 runtime/python-26
--- a/components/python/python-ldap/python-ldap-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/python-ldap/python-ldap-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -73,14 +75,14 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/python_ldap-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
 license python-ldap.license license=PSF
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/python-ldap-$(PYV)@2.4.10,5.12-5.12.0.0.0.41.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
+depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
+    pkg.debug.depend.path=usr/bin
 
 # force a dependency on the python-ldap package
 depend type=require \
     fmri=library/python/python-ldap@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/python-ldap-$(PYV)@2.4.10,5.12-5.12.0.0.0.41.0
--- a/components/python/python-ldap/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/python-ldap/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,8 +1,4 @@
 library/openldap
-library/python-2/pyasn1-26
-library/python-2/pyasn1-27
-library/python-2/pyasn1-modules-26
-library/python-2/pyasn1-modules-27
 library/python/pyasn1-26
 library/python/pyasn1-27
 library/python/pyasn1-modules-26
--- a/components/python/pytz/pytz-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/pytz/pytz-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -51,6 +53,10 @@
 #
 license LICENSE.txt license=MIT
 
+# force a group dependency on the optional setuptools; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/setuptools-$(PYV)
+
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/pytz-$(PYV)@2013.4,5.12-5.12.0.0.0.41.0
--- a/components/python/requests/requests-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/requests/requests-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -110,17 +112,26 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/requests/utils.py
 license requests.license license="Apache v2.0, MIT, LGPLv2.1"
 
+# force a group dependency on the optional pyasn1; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/pyasn1-$(PYV)
+
+# force a group dependency on the optional pyopenssl; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/pyopenssl-$(PYV)
+
+# force a group dependency on the optional simplejson; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/simplejson-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/requests-$(PYV)@1.2.3,5.12-5.12.0.0.0.41.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
 
-# force a dependency on pyopenssl; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/pyopenssl-$(PYV)
-
 # force a dependency on the requests package
 depend type=require \
     fmri=library/python/requests@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/requests-$(PYV)@1.2.3,5.12-5.12.0.0.0.41.0
--- a/components/python/routes/routes-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/routes/routes-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -50,20 +52,23 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/routes/util.py
 license routes.license license="BSD, MIT"
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/routes-$(PYV)@1.13,5.12-5.12.0.0.0.41.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
 
-# force dependency on repoze.lru; pkgdepend work is needed to flush these out.
+# force a dependency on repoze.lru; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/repoze.lru-$(PYV)
 
 # force a dependency on the routes package
 depend type=require \
     fmri=library/python/routes@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force dependency on webob; pkgdepend work is needed to flush these out.
-depend type=require fmri=library/python/webob-$(PYV)
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
 
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/routes-$(PYV)@1.13,5.12-5.12.0.0.0.41.0
+# force a dependency on webob; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/webob-$(PYV)
--- a/components/python/simplejson/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/simplejson/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -39,18 +39,28 @@
 include $(WS_TOP)/make-rules/setup.py.mk
 include $(WS_TOP)/make-rules/ips.mk
 
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+
 COMPONENT_TEST_DIR= $(COMPONENT_SRC) 
 COMPONENT_TEST_ARGS= ./setup.py test
 
-ASLR_MODE = $(ASLR_NOT_APPLICABLE)
-
 # common targets
-build:          $(BUILD_32_and_64)
+build:		$(BUILD_32_and_64)
 
-install:        $(INSTALL_32_and_64)
+install:	$(INSTALL_32_and_64)
 
-test:           $(TEST_32_and_64)
+test:		$(TEST_32_and_64)
 
-BUILD_PKG_DEPENDENCIES =        $(BUILD_TOOLS)
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
 include $(WS_TOP)/make-rules/depend.mk
--- a/components/python/simplejson/simplejson-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/simplejson/simplejson-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -26,7 +26,9 @@
 set name=pkg.fmri \
     value=pkg:/library/python/simplejson-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary \
-    value="JSON (Java Script Object Notation) encoder/decoder for Python"
+    value="JSON (JavaScript Object Notation) encoder/decoder for Python"
+set name=pkg.description \
+    value="The simplejson module is a simple, fast, complete, correct, and extensible JSON encoder and decoder for Python. The encoder can be specialized to provide serialization in any kind of situation, without any special support by the objects to be serialized (somewhat like pickle). The decoder can handle incoming JSON strings of any specified encoding (UTF-8 by default). It can also be specialized to post-process JSON objects, which is particularly useful for implementing protocols such as JSON-RPC that have a richer type system than JSON itself."
 set name=com.oracle.info.description value="the JSON encoder/decoder for Python"
 set name=com.oracle.info.tpno value=5929
 set name=info.classification \
@@ -76,6 +78,10 @@
 depend type=optional \
     fmri=consolidation/desktop/[email protected]
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/simplejson-$(PYV)@2.1.2,5.12-5.12.0.0.0.41.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
@@ -83,7 +89,3 @@
 # force a dependency on the simplejson package
 depend type=require \
     fmri=library/python/simplejson@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/simplejson-$(PYV)@2.1.2,5.12-5.12.0.0.0.41.0
--- a/components/python/sqlalchemy-migrate/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/sqlalchemy-migrate/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,20 +1,8 @@
-library/python-2/decorator-26
-library/python-2/decorator-27
-library/python-2/nose-26
-library/python-2/nose-27
-library/python-2/setuptools-26
-library/python-2/setuptools-27
-library/python-2/sqlalchemy-26
-library/python-2/sqlalchemy-27
-library/python-2/unittest2-26
 library/python/decorator-26
 library/python/decorator-27
-library/python/nose-26
-library/python/nose-27
 library/python/setuptools-26
 library/python/setuptools-27
 library/python/sqlalchemy-26
 library/python/sqlalchemy-27
-library/python/unittest2-26
 runtime/python-26
 runtime/python-27
--- a/components/python/sqlalchemy-migrate/sqlalchemy-migrate-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/sqlalchemy-migrate/sqlalchemy-migrate-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -92,8 +94,7 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/migrate/versioning/templates/script/pylons.py_tmpl
 file path=usr/lib/python$(PYVER)/vendor-packages/migrate/versioning/templates/sql_script/default.py_tmpl
 file path=usr/lib/python$(PYVER)/vendor-packages/migrate/versioning/templates/sql_script/pylons.py_tmpl
-file \
-    path=usr/lib/python$(PYVER)/vendor-packages/migrate/versioning/util/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/migrate/versioning/util/__init__.py
 file path=usr/lib/python$(PYVER)/vendor-packages/migrate/versioning/util/importpath.py
 file path=usr/lib/python$(PYVER)/vendor-packages/migrate/versioning/util/keyedinstance.py
 file path=usr/lib/python$(PYVER)/vendor-packages/migrate/versioning/version.py
@@ -105,13 +106,13 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/sqlalchemy_migrate-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
 license sqlalchemy-migrate.license license=MIT
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/sqlalchemy-migrate-$(PYV)@0.7.2,5.12-5.12.0.0.0.41.0
+
 # force a dependency on the sqlalchemy-migrate package
 depend type=require \
     fmri=library/python/sqlalchemy-migrate@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force dependency on tempita; pkgdepend work is needed to flush this out.
+# force a dependency on tempita; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/tempita-$(PYV)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/sqlalchemy-migrate-$(PYV)@0.7.2,5.12-5.12.0.0.0.41.0
--- a/components/python/sqlalchemy/sqlalchemy-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/sqlalchemy/sqlalchemy-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -173,6 +175,14 @@
 #
 license sqlalchemy.license license=MIT
 
+# force a group dependency on the optional setuptools; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/setuptools-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/sqlalchemy-$(PYV)@0.7.9,5.12-5.12.0.0.0.41.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
@@ -180,7 +190,3 @@
 # force a dependency on the sqlalchemy package
 depend type=require \
     fmri=library/python/sqlalchemy@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/sqlalchemy-$(PYV)@0.7.9,5.12-5.12.0.0.0.41.0
--- a/components/python/stevedore/stevedore-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/stevedore/stevedore-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -58,14 +60,17 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/stevedore/named.py
 license LICENSE license="Apache v2.0"
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/stevedore-$(PYV)@0.10,5.12-5.12.0.0.0.41.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
 
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
+
 # force a dependency on the stevedore package
 depend type=require \
     fmri=library/python/stevedore@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/stevedore-$(PYV)@0.10,5.12-5.12.0.0.0.41.0
--- a/components/python/tempita/tempita-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/tempita/tempita-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -45,14 +47,17 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/tempita/compat3.py
 license tempita.license license=MIT
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/tempita-$(PYV)@0.5.1,5.12-5.12.0.0.0.41.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
 
+# force a dependency on setuptools; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/setuptools-$(PYV)
+
 # force a dependency on the tempita package
 depend type=require \
     fmri=library/python/tempita@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/tempita-$(PYV)@0.5.1,5.12-5.12.0.0.0.41.0
--- a/components/python/tox/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/tox/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,15 +1,3 @@
-library/python-2/argparse-26
-library/python-2/py-26
-library/python-2/py-27
-library/python-2/pytest-26
-library/python-2/pytest-27
-library/python-2/setuptools-26
-library/python-2/setuptools-27
-library/python/argparse-26
-library/python/py-26
-library/python/py-27
-library/python/pytest-26
-library/python/pytest-27
 library/python/setuptools-26
 library/python/setuptools-27
 runtime/python-26
--- a/components/python/tox/tox-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/tox/tox-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -61,7 +63,7 @@
 depend type=optional fmri=library/python-2/tox-$(PYV)@1.4.3,5.12-5.12.0.0.0.41.0
 
 # force a dependency on argparse; pkgdepend work is needed to flush this out.
-$(PYTHON_2.6_ONLY)depend type=require fmri=library/python/argparse-26
+depend type=require fmri=library/python/argparse-$(PYV)
 
 # force a dependency on py; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/py-$(PYV)
--- a/components/python/twisted-web2/twisted-web2-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/twisted-web2/twisted-web2-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -26,10 +26,14 @@
 set name=pkg.fmri \
     value=pkg:/library/python/python-twisted-web2-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="A HTTP/1.1 Server Framework"
-set name=com.oracle.info.description value="the Twisted Web2 Python HTTP/1.1 Server Framework"
+set name=pkg.description \
+    value="Twisted.web2 is an asynchronous HTTP 1.1 server written for the Twisted internet framework. It provides a RFC 2616 compliant HTTP 1.1 protocol implementation, with pipelined and persistent request support, in a non-blocking threadless manner. It also includes a simple web framework with request and response objects, static file support, error handling, form upload support, HTTP range support, and pre-built parsers for all standard headers. It is deployable as a standalone HTTP or HTTPS server, as a HTTP[S] server proxied behind another server, or as a SCGI, FastCGI, or CGI script. In addition to running native twisted.web2 applications, it can also run any WSGI or CGI application, or, via compatibility wrappers, most applications written for the older twisted.web API."
+set name=com.oracle.info.description \
+    value="the Twisted Web2 Python HTTP/1.1 Server Framework"
 set name=com.oracle.info.tpno value=9693
 set name=info.classification \
-    value=org.opensolaris.category.2008:Development/Python
+    value=org.opensolaris.category.2008:Development/Python \
+    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/2008/670
@@ -107,15 +111,22 @@
 depend type=optional \
     fmri=consolidation/desktop/[email protected]
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/python-twisted-web2-$(PYV)@8.1.0,5.12-5.12.0.0.0.41.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
+
+# force a dependency on python-twisted; pkgdepend work is needed to flush this
+# out.
 depend type=require fmri=library/python/python-twisted-$(PYV)
 
 # force a dependency on the python-twisted-web2 package
 depend type=require \
     fmri=library/python/python-twisted-web2@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/python-twisted-web2-$(PYV)@8.1.0,5.12-5.12.0.0.0.41.0
+# force a dependency on python-zope-interface; pkgdepend work is needed to flush
+# this out.
+depend type=require fmri=library/python/python-zope-interface-$(PYV)
--- a/components/python/twisted/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/twisted/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -40,15 +40,25 @@
 include $(WS_TOP)/make-rules/ips.mk
 
 COMPONENT_TEST_DIR= $(COMPONENT_SRC) 
-COMPONENT_TEST_CMD= $(@D)/scripts-2.6/trial twisted
+COMPONENT_TEST_CMD= $(@D)/scripts-$(PYTHON_VERSION)/trial twisted
 COMPONENT_TEST_ARGS=""
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
+
 # common targets
-build:          $(BUILD_32_and_64)
+build:		$(BUILD_32_and_64)
 
-install:        $(INSTALL_32_and_64)
+install:	$(INSTALL_32_and_64)
 
 # There are no automated tests yet, but the built-in unit tests can be run
 # manually with:
@@ -57,8 +67,8 @@
 # $ ../build/i86-2.6/scripts-2.6/trial twisted
 # $ ../build/i86-2.7/scripts-2.7/trial twisted
 #
-test:           $(TEST_32_and_64)
+test:		$(TEST_32_and_64)
 
-BUILD_PKG_DEPENDENCIES =        $(BUILD_TOOLS)
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
 include $(WS_TOP)/make-rules/depend.mk
--- a/components/python/twisted/twisted-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/twisted/twisted-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -26,7 +26,10 @@
 set name=pkg.fmri \
     value=pkg:/library/python/python-twisted-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Event-based framework for internet applications"
-set name=com.oracle.info.description value="the Twisted event-based Python framework"
+set name=pkg.description \
+    value="Twisted is an event-driven, Python-based networking engine that supports many common network protocols, including SMTP, POP3, IMAP, SSHv2, and DNS."
+set name=com.oracle.info.description \
+    value="the Twisted event-based Python framework"
 set name=com.oracle.info.tpno value=9692
 set name=info.classification \
     value=org.opensolaris.category.2008:Development/Python
@@ -917,15 +920,24 @@
 depend type=optional \
     fmri=consolidation/desktop/[email protected]
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/python-twisted-$(PYV)@10.1.0,5.12-5.12.0.0.0.41.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
 
+# force a dependency on pyasn1; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/pyasn1-$(PYV)
+
+# force a dependency on pyopenssl; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/pyopenssl-$(PYV)
+
 # force a dependency on the python-twisted package
 depend type=require \
     fmri=library/python/python-twisted@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+
+# force a dependency on python-zope-interface; pkgdepend work is needed to flush
+# this out.
 depend type=require fmri=library/python/python-zope-interface-$(PYV)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/python-twisted-$(PYV)@10.1.0,5.12-5.12.0.0.0.41.0
--- a/components/python/warlock/warlock-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/warlock/warlock-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -50,14 +52,20 @@
 #
 license warlock.license license=Apache
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/warlock-$(PYV)@1.0.1,5.12-5.12.0.0.0.41.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
 
+# force a dependency on jsonpatch; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/jsonpatch-$(PYV)
+
+# force a dependency on jsonschema; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/jsonschema-$(PYV)
+
 # force a dependency on the warlock package
 depend type=require \
     fmri=library/python/warlock@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/warlock-$(PYV)@1.0.1,5.12-5.12.0.0.0.41.0
--- a/components/python/webob/webob-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/webob/webob-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -61,17 +63,22 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/webob/util.py
 license docs/license.txt license=MIT
 
+# force a group dependency on the optional paste; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/paste-$(PYV)
+
+# force a group dependency on the optional simplejson; pkgdepend work is needed
+# to flush this out.
+depend type=group fmri=library/python/simplejson-$(PYV)
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/webob-$(PYV)@1.2.3,5.12-5.12.0.0.0.41.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
 
-# force a dependency on paste; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/paste-$(PYV)
-
 # force a dependency on the webob package
 depend type=require \
     fmri=library/python/webob@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/webob-$(PYV)@1.2.3,5.12-5.12.0.0.0.41.0
--- a/components/python/websockify/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/websockify/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,5 +1,3 @@
-library/python-2/setuptools-26
-library/python-2/setuptools-27
 library/python/setuptools-26
 library/python/setuptools-27
 runtime/python-26
--- a/components/python/websockify/websockify-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/websockify/websockify-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -23,8 +23,6 @@
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
-# python-extra is part of python 2.6 only
-<transform depend type=require fmri=library/python-2/python-extra-27 -> drop>
 set name=pkg.fmri \
     value=pkg:/library/python/websockify-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="WebSocket to TCP proxy/bridge"
@@ -60,14 +58,14 @@
 #
 license websockify.license license="LGPL3, BSD, MIT"
 
+# force a group dependency on the optional python-extra; pkgdepend work is
+# needed to flush this out.
+depend type=group fmri=library/python-2/python-extra-$(PYV)
+
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/websockify-$(PYV)@0.3.0,5.12-5.12.0.0.0.44.0
 
-# force a dependency on python-extra; pkgdepend work is needed to flush this
-# out.
-depend type=require fmri=library/python-2/python-extra-$(PYV)
-
 # force a dependency on the websockify package
 depend type=require \
     fmri=library/python/websockify@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/python/webtest/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/webtest/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,28 +1,2 @@
-library/python-2/beautifulsoup4-26
-library/python-2/beautifulsoup4-27
-library/python-2/lxml-26
-library/python-2/lxml-27
-library/python-2/ordereddict-26
-library/python-2/paste.deploy-26
-library/python-2/paste.deploy-27
-library/python-2/six-26
-library/python-2/six-27
-library/python-2/waitress-26
-library/python-2/waitress-27
-library/python-2/webob-26
-library/python-2/webob-27
-library/python/beautifulsoup4-26
-library/python/beautifulsoup4-27
-library/python/lxml-26
-library/python/lxml-27
-library/python/ordereddict-26
-library/python/paste.deploy-26
-library/python/paste.deploy-27
-library/python/six-26
-library/python/six-27
-library/python/waitress-26
-library/python/waitress-27
-library/python/webob-26
-library/python/webob-27
 runtime/python-26
 runtime/python-27
--- a/components/python/webtest/webtest-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/webtest/webtest-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -55,6 +57,10 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/webtest/utils.py
 license docs/license.txt license=MIT
 
+# force a group dependency on the optional lxml; pkgdepend work is needed to
+# flush this out.
+depend type=group fmri=library/python/lxml-$(PYV)
+
 # force the rename with an optional dependency on the old name
 depend type=optional \
     fmri=library/python-2/webtest-$(PYV)@2.0.6,5.12-5.12.0.0.0.41.0
@@ -67,11 +73,8 @@
 # out.
 depend type=require fmri=library/python/beautifulsoup4-$(PYV)
 
-# 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
+depend type=require fmri=library/python/ordereddict-$(PYV)
 
 # force a dependency on paste.deploy; pkgdepend work is needed to flush this
 # out.
--- a/components/python/zope-interface/Makefile	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/zope-interface/Makefile	Fri May 09 20:59:20 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -41,13 +41,28 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
-# common targets
-build:          $(BUILD_32_and_64)
+# Needed to get around a broken /usr/lib/python2.7/config/Makefile
+# See CR #16837431.
+LD=$(CC)
+LDSHARED=$(CC) -G
+PYTHON_ENV += CC="$(CC)"
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+PYTHON_ENV += LD="$(LD)"
+PYTHON_ENV += CFLAGS="$(CFLAGS)"
+COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
 
-install:        $(INSTALL_32_and_64)
+COMPONENT_TEST_ARGS=	../runtests.sh
+COMPONENT_TEST_CMD=	/bin/sh
+COMPONENT_TEST_DIR=	$(SOURCE_DIR)
+COMPONENT_TEST_ENV+=	PYTHON=$(PYTHON)
 
-test:           $(NO_TESTS)
+# common targets
+build:		$(BUILD_32_and_64)
 
-BUILD_PKG_DEPENDENCIES =        $(BUILD_TOOLS)
+install:	$(INSTALL_32_and_64)
+
+test:		$(TEST_32_and_64)
+
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
 
 include $(WS_TOP)/make-rules/depend.mk
--- a/components/python/zope-interface/resolve.deps	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/zope-interface/resolve.deps	Fri May 09 20:59:20 2014 -0700
@@ -1,3 +1,2 @@
 runtime/python-26
 runtime/python-27
-system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/zope-interface/runtests.sh	Fri May 09 20:59:20 2014 -0700
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+for test in \
+    test_advice \
+    test_document \
+    test_element \
+    test_odd_declarations \
+    test_sorting \
+    test_verify \
+    ; do
+	${PYTHON} src/zope/interface/tests/${test}.py
+done
--- a/components/python/zope-interface/zope-interface-PYVER.p5m	Fri May 09 15:56:52 2014 -0700
+++ b/components/python/zope-interface/zope-interface-PYVER.p5m	Fri May 09 20:59:20 2014 -0700
@@ -25,9 +25,11 @@
 
 set name=pkg.fmri \
     value=pkg:/library/python/python-zope-interface-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary \
-    value="Zope interfaces package for Python"
-set name=com.oracle.info.description value="the Zope interfaces package for Python"
+set name=pkg.summary value="Zope Interfaces package for Python"
+set name=pkg.description \
+    value="The Zope Interfaces package provides an implementation of 'object interfaces' for Python. Interfaces are a mechanism for labeling objects as conforming to a given API or contract. This package can be considered as an implementation of the Design By Contract methodology support in Python."
+set name=com.oracle.info.description \
+    value="the Zope Interfaces package for Python"
 set name=com.oracle.info.tpno value=7911
 set name=info.classification \
     value=org.opensolaris.category.2008:Development/Python
@@ -98,6 +100,10 @@
 depend type=optional \
     fmri=consolidation/desktop/[email protected]
 
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/python-zope-interface-$(PYV)@3.3.0,5.12-5.12.0.0.0.41.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
@@ -105,7 +111,3 @@
 # force a dependency on the python-zope-interface package
 depend type=require \
     fmri=library/python/python-zope-interface@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-
-# force the rename with an optional dependency on the old name
-depend type=optional \
-    fmri=library/python-2/python-zope-interface-$(PYV)@3.3.0,5.12-5.12.0.0.0.41.0
--- a/make-rules/ips.mk	Fri May 09 15:56:52 2014 -0700
+++ b/make-rules/ips.mk	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
@@ -69,6 +71,7 @@
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/devel
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/docs
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/locale
+PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/standard-libraries-past-py2.6
 PUBLISH_TRANSFORMS +=	$(PKGMOGRIFY_TRANSFORMS)
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/publish-cleanup
 
--- a/transforms/manifest-metadata-template	Fri May 09 15:56:52 2014 -0700
+++ b/transforms/manifest-metadata-template	Fri May 09 20:59:20 2014 -0700
@@ -18,6 +18,8 @@
 #
 # CDDL HEADER END
 #
+
+#
 # Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/transforms/standard-libraries-past-py2.6	Fri May 09 20:59:20 2014 -0700
@@ -0,0 +1,14 @@
+#
+# These are part of the standard Python libraries starting with Python
+# 2.7 so these dependencies are unneeded.
+#
+<transform depend fmri=library/python-2/argparse-27 -> drop>
+<transform depend fmri=library/python-2/importlib-27 -> drop>
+<transform depend fmri=library/python-2/ordereddict-27 -> drop>
+<transform depend fmri=library/python-2/python-extra-27 -> drop>
+<transform depend fmri=library/python-2/unittest2-27 -> drop>
+<transform depend fmri=library/python/argparse-27 -> drop>
+<transform depend fmri=library/python/importlib-27 -> drop>
+<transform depend fmri=library/python/ordereddict-27 -> drop>
+<transform depend fmri=library/python/python-extra-27 -> drop>
+<transform depend fmri=library/python/unittest2-27 -> drop>