# HG changeset patch # User Rich Burridge # Date 1366298216 25200 # Node ID f1b6ecbb2d1e88f79ff8f6840286bdd4bdb92b65 # Parent b6ffd60bade0baa850d9d202ecf572c4be8ae0d9 16433531 Update Nose to 1.2.1 diff -r b6ffd60bade0 -r f1b6ecbb2d1e components/python/nose/Makefile --- a/components/python/nose/Makefile Wed Apr 17 19:17:06 2013 -0700 +++ b/components/python/nose/Makefile Thu Apr 18 08:16:56 2013 -0700 @@ -20,18 +20,18 @@ # # -# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. # include ../../../make-rules/shared-macros.mk COMPONENT_NAME= nose -COMPONENT_VERSION= 1.1.2 +COMPONENT_VERSION= 1.2.1 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) -COMPONENT_PROJECT_URL= http://code.google.com/p/python-nose/ +COMPONENT_PROJECT_URL= https://github.com/nose-devs/nose COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz COMPONENT_ARCHIVE_HASH= \ - sha256:b1ba12c1c45323fd8695be68ce7228456b86e51234f167027ebbc4ccda852c61 + sha256:2171e9202d118d302d5db1decb52dd862b79e2a626ca19653a6914574a6ca7d9 COMPONENT_ARCHIVE_URL= http://pypi.python.org/packages/source/n/nose/$(COMPONENT_ARCHIVE) COMPONENT_BUGDB= python-mod/nose diff -r b6ffd60bade0 -r f1b6ecbb2d1e components/python/nose/nose-26.p5m --- a/components/python/nose/nose-26.p5m Wed Apr 17 19:17:06 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,109 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. -# - -set name=pkg.fmri value=pkg:/library/python-2/nose-26@$(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=com.oracle.info.description value="the nose unit test framework for Python 2.6" -set name=com.oracle.info.tpno value=6585 -set name=info.classification value=org.opensolaris.category.2008:Development/Python -set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) -set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) -set name=org.opensolaris.arc-caseid value=PSARC/2011/198 -set name=org.opensolaris.consolidation value=$(CONSOLIDATION) - -dir path=usr -dir path=usr/bin -dir path=usr/lib -dir path=usr/lib/python2.6 -dir path=usr/lib/python2.6/vendor-packages -dir path=usr/lib/python2.6/vendor-packages/nose -dir path=usr/lib/python2.6/vendor-packages/nose-$(COMPONENT_VERSION)-py2.6.egg-info -dir path=usr/lib/python2.6/vendor-packages/nose/ext -dir path=usr/lib/python2.6/vendor-packages/nose/plugins -dir path=usr/lib/python2.6/vendor-packages/nose/sphinx - -file path=usr/bin/nosetests-2.6 -file path=usr/lib/python2.6/vendor-packages/nose-$(COMPONENT_VERSION)-py2.6.egg-info/dependency_links.txt -file path=usr/lib/python2.6/vendor-packages/nose-$(COMPONENT_VERSION)-py2.6.egg-info/entry_points.txt -file path=usr/lib/python2.6/vendor-packages/nose-$(COMPONENT_VERSION)-py2.6.egg-info/not-zip-safe -file path=usr/lib/python2.6/vendor-packages/nose-$(COMPONENT_VERSION)-py2.6.egg-info/PKG-INFO -file path=usr/lib/python2.6/vendor-packages/nose-$(COMPONENT_VERSION)-py2.6.egg-info/SOURCES.txt -file path=usr/lib/python2.6/vendor-packages/nose-$(COMPONENT_VERSION)-py2.6.egg-info/top_level.txt -file path=usr/lib/python2.6/vendor-packages/nose/__init__.py -file path=usr/lib/python2.6/vendor-packages/nose/case.py -file path=usr/lib/python2.6/vendor-packages/nose/commands.py -file path=usr/lib/python2.6/vendor-packages/nose/config.py -file path=usr/lib/python2.6/vendor-packages/nose/core.py -file path=usr/lib/python2.6/vendor-packages/nose/exc.py -file path=usr/lib/python2.6/vendor-packages/nose/ext/__init__.py -file path=usr/lib/python2.6/vendor-packages/nose/ext/dtcompat.py -file path=usr/lib/python2.6/vendor-packages/nose/failure.py -file path=usr/lib/python2.6/vendor-packages/nose/importer.py -file path=usr/lib/python2.6/vendor-packages/nose/inspector.py -file path=usr/lib/python2.6/vendor-packages/nose/loader.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/__init__.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/allmodules.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/attrib.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/base.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/builtin.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/capture.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/collect.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/cover.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/debug.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/deprecated.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/doctests.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/errorclass.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/failuredetail.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/isolate.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/logcapture.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/manager.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/multiprocess.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/plugintest.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/prof.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/skip.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/testid.py -file path=usr/lib/python2.6/vendor-packages/nose/plugins/xunit.py -file path=usr/lib/python2.6/vendor-packages/nose/proxy.py -file path=usr/lib/python2.6/vendor-packages/nose/pyversion.py -file path=usr/lib/python2.6/vendor-packages/nose/result.py -file path=usr/lib/python2.6/vendor-packages/nose/selector.py -file path=usr/lib/python2.6/vendor-packages/nose/sphinx/__init__.py -file path=usr/lib/python2.6/vendor-packages/nose/sphinx/pluginopts.py -file path=usr/lib/python2.6/vendor-packages/nose/suite.py -file path=usr/lib/python2.6/vendor-packages/nose/tools.py -file path=usr/lib/python2.6/vendor-packages/nose/twistedtools.py -file path=usr/lib/python2.6/vendor-packages/nose/usage.txt -file path=usr/lib/python2.6/vendor-packages/nose/util.py - -link path=usr/bin/nosetests target=nosetests-2.6 \ - mediator=python mediator-version=2.6 - -# force a dependency on the Python 2.6 runtime -depend fmri=__TBD pkg.debug.depend.file=python2.6 \ - pkg.debug.depend.path=usr/bin type=require - -# force a dependency on the nose package -depend fmri=library/python-2/nose@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \ - type=require - -license nose.license license=LGPLv2.1 diff -r b6ffd60bade0 -r f1b6ecbb2d1e components/python/nose/nose-27.p5m --- a/components/python/nose/nose-27.p5m Wed Apr 17 19:17:06 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. -# - -set name=pkg.fmri value=pkg:/library/python-2/nose-27@$(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=com.oracle.info.description value="the nose unit test framework for Python 2.7" -set name=com.oracle.info.tpno value=6585 -set name=info.classification value=org.opensolaris.category.2008:Development/Python -set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) -set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) -set name=org.opensolaris.arc-caseid value=PSARC/2011/198 -set name=org.opensolaris.consolidation value=$(CONSOLIDATION) - -dir path=usr -dir path=usr/bin -dir path=usr/lib -dir path=usr/lib/python2.7 -dir path=usr/lib/python2.7/vendor-packages -dir path=usr/lib/python2.7/vendor-packages/nose-$(COMPONENT_VERSION)-py2.7.egg-info/ -dir path=usr/lib/python2.7/vendor-packages/nose -dir path=usr/lib/python2.7/vendor-packages/nose/ext -dir path=usr/lib/python2.7/vendor-packages/nose/plugins -dir path=usr/lib/python2.7/vendor-packages/nose/sphinx - -# pkgdepend(1) and python 2.7 don't play well yet. -file path=usr/bin/nosetests-2.7 pkg.depend.bypass-generate=.* -file path=usr/lib/python2.7/vendor-packages/nose-$(COMPONENT_VERSION)-py2.7.egg-info/dependency_links.txt -file path=usr/lib/python2.7/vendor-packages/nose-$(COMPONENT_VERSION)-py2.7.egg-info/entry_points.txt -file path=usr/lib/python2.7/vendor-packages/nose-$(COMPONENT_VERSION)-py2.7.egg-info/not-zip-safe -file path=usr/lib/python2.7/vendor-packages/nose-$(COMPONENT_VERSION)-py2.7.egg-info/PKG-INFO -file path=usr/lib/python2.7/vendor-packages/nose-$(COMPONENT_VERSION)-py2.7.egg-info/SOURCES.txt -file path=usr/lib/python2.7/vendor-packages/nose-$(COMPONENT_VERSION)-py2.7.egg-info/top_level.txt -file path=usr/lib/python2.7/vendor-packages/nose/__init__.py -file path=usr/lib/python2.7/vendor-packages/nose/case.py -file path=usr/lib/python2.7/vendor-packages/nose/commands.py -file path=usr/lib/python2.7/vendor-packages/nose/config.py -file path=usr/lib/python2.7/vendor-packages/nose/core.py -file path=usr/lib/python2.7/vendor-packages/nose/exc.py -file path=usr/lib/python2.7/vendor-packages/nose/ext/__init__.py -file path=usr/lib/python2.7/vendor-packages/nose/ext/dtcompat.py -file path=usr/lib/python2.7/vendor-packages/nose/failure.py -file path=usr/lib/python2.7/vendor-packages/nose/importer.py -file path=usr/lib/python2.7/vendor-packages/nose/inspector.py -file path=usr/lib/python2.7/vendor-packages/nose/loader.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/__init__.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/allmodules.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/attrib.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/base.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/builtin.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/capture.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/collect.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/cover.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/debug.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/deprecated.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/doctests.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/errorclass.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/failuredetail.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/isolate.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/logcapture.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/manager.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/multiprocess.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/plugintest.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/prof.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/skip.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/testid.py -file path=usr/lib/python2.7/vendor-packages/nose/plugins/xunit.py -file path=usr/lib/python2.7/vendor-packages/nose/proxy.py -file path=usr/lib/python2.7/vendor-packages/nose/pyversion.py -file path=usr/lib/python2.7/vendor-packages/nose/result.py -file path=usr/lib/python2.7/vendor-packages/nose/selector.py -file path=usr/lib/python2.7/vendor-packages/nose/sphinx/__init__.py -file path=usr/lib/python2.7/vendor-packages/nose/sphinx/pluginopts.py -file path=usr/lib/python2.7/vendor-packages/nose/suite.py -file path=usr/lib/python2.7/vendor-packages/nose/tools.py -file path=usr/lib/python2.7/vendor-packages/nose/twistedtools.py -file path=usr/lib/python2.7/vendor-packages/nose/usage.txt -file path=usr/lib/python2.7/vendor-packages/nose/util.py - -link path=usr/bin/nosetests target=nosetests-2.7 \ - mediator=python mediator-version=2.7 - -# force a dependency on the Python 2.7 runtime -depend fmri=__TBD pkg.debug.depend.file=python2.7 \ - pkg.debug.depend.path=usr/bin type=require - -# force a dependency on the nose package -depend fmri=library/python-2/nose@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \ - type=require - -license nose.license license=LGPLv2.1 diff -r b6ffd60bade0 -r f1b6ecbb2d1e components/python/nose/nose-GENFRAG.p5m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/python/nose/nose-GENFRAG.p5m Thu Apr 18 08:16:56 2013 -0700 @@ -0,0 +1,26 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +# + + default mangler.man.stability uncommitted> +file nosetests.1 path=usr/share/man/man1/nosetests.1 +license nose.license license=LGPLv2.1 diff -r b6ffd60bade0 -r f1b6ecbb2d1e components/python/nose/nose-PYVER.p5m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/python/nose/nose-PYVER.p5m Thu Apr 18 08:16:56 2013 -0700 @@ -0,0 +1,100 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +# + +set name=pkg.fmri \ + value=pkg:/library/python-2/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=com.oracle.info.description value="the Python nose unit test framework" +set name=com.oracle.info.tpno value=12933 +set name=info.classification \ + value=org.opensolaris.category.2008:Development/Python +set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) +set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) +set name=org.opensolaris.arc-caseid value=PSARC/2011/198 +set name=org.opensolaris.consolidation value=$(CONSOLIDATION) +link path=usr/bin/nosetests target=nosetests-$(PYVER) mediator=python \ + mediator-version=$(PYVER) +file path=usr/bin/nosetests-$(PYVER) +file path=usr/lib/python$(PYVER)/vendor-packages/nose-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO +file path=usr/lib/python$(PYVER)/vendor-packages/nose-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt +file path=usr/lib/python$(PYVER)/vendor-packages/nose-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt +file path=usr/lib/python$(PYVER)/vendor-packages/nose-$(COMPONENT_VERSION)-py$(PYVER).egg-info/entry_points.txt +file path=usr/lib/python$(PYVER)/vendor-packages/nose-$(COMPONENT_VERSION)-py$(PYVER).egg-info/not-zip-safe +file path=usr/lib/python$(PYVER)/vendor-packages/nose-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt +file path=usr/lib/python$(PYVER)/vendor-packages/nose/__init__.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/case.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/commands.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/config.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/core.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/exc.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/ext/__init__.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/ext/dtcompat.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/failure.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/importer.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/inspector.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/loader.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/__init__.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/allmodules.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/attrib.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/base.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/builtin.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/capture.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/collect.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/cover.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/debug.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/deprecated.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/doctests.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/errorclass.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/failuredetail.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/isolate.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/logcapture.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/manager.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/multiprocess.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/plugintest.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/prof.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/skip.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/testid.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/plugins/xunit.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/proxy.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/pyversion.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/result.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/selector.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/sphinx/__init__.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/sphinx/pluginopts.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/suite.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/tools/__init__.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/tools/nontrivial.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/tools/trivial.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/twistedtools.py +file path=usr/lib/python$(PYVER)/vendor-packages/nose/usage.txt +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 dependency on the nose package +depend type=require \ + fmri=library/python-2/nose@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) diff -r b6ffd60bade0 -r f1b6ecbb2d1e components/python/nose/nose.p5m --- a/components/python/nose/nose.p5m Wed Apr 17 19:17:06 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. -# - - default mangler.man.stability uncommitted> - -set name=pkg.fmri value=pkg:/library/python-2/nose@$(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=com.oracle.info.description value="the nose unit test framework for Python" -set name=com.oracle.info.tpno value=6585 -set name=info.classification value="org.opensolaris.category.2008:Development/Python" -set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) -set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) -set name=org.opensolaris.arc-caseid value=PSARC/2011/198 -set name=org.opensolaris.consolidation value=$(CONSOLIDATION) - -dir path=usr -dir path=usr/share -dir path=usr/share/man -dir path=usr/share/man/man1 -file nosetests.1 path=usr/share/man/man1/nosetests.1 - -depend fmri=library/python-2/nose-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \ - predicate=runtime/python-26 \ - type=conditional -depend fmri=library/python-2/nose-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \ - predicate=runtime/python-27 \ - type=conditional - -license nose.license license=LGPLv2.1 diff -r b6ffd60bade0 -r f1b6ecbb2d1e make-rules/ips.mk --- a/make-rules/ips.mk Wed Apr 17 19:17:06 2013 -0700 +++ b/make-rules/ips.mk Thu Apr 18 08:16:56 2013 -0700 @@ -96,13 +96,39 @@ MANIFEST_BASE = $(BUILD_DIR)/manifest-$(MACH) CANONICAL_MANIFESTS = $(wildcard *.p5m) + +# Look for manifests which need to be duplicated for each version of python. +ifeq ($(findstring -PYVER,$(CANONICAL_MANIFESTS)),-PYVER) +UNVERSIONED_MANIFESTS = $(filter-out %-GENFRAG.p5m,$(filter-out %-PYVER.p5m,$(CANONICAL_MANIFESTS))) +PY_MANIFESTS = $(filter %-PYVER.p5m,$(CANONICAL_MANIFESTS)) +PYV_MANIFESTS = $(foreach v,$(shell echo $(PYTHON_VERSIONS) | tr -d .),$(shell echo $(PY_MANIFESTS) | sed -e 's/-PYVER.p5m/-$(v).p5m/g')) +PYNV_MANIFESTS = $(shell echo $(PY_MANIFESTS) | sed -e 's/-PYVER//') +else +UNVERSIONED_MANIFESTS = $(CANONICAL_MANIFESTS) +endif + +# Look for manifests which need to be duplicated for each version of perl. +ifeq ($(findstring -PERLVER,$(UNVERSIONED_MANIFESTS)),-PERLVER) +NOPERL_MANIFESTS = $(filter-out %-GENFRAG.p5m,$(filter-out %-PERLVER.p5m,$(UNVERSIONED_MANIFESTS))) +PERL_MANIFESTS = $(filter %-PERLVER.p5m,$(UNVERSIONED_MANIFESTS)) +PERLV_MANIFESTS = $(foreach v,$(shell echo $(PERL_VERSIONS) | tr -d .),$(shell echo $(PERL_MANIFESTS) | sed -e 's/-PERLVER.p5m/-$(v).p5m/g')) +PERLNV_MANIFESTS = $(shell echo $(PERL_MANIFESTS) | sed -e 's/-PERLVER//') +else +NOPERL_MANIFESTS = $(UNVERSIONED_MANIFESTS) +endif + +VERSIONED_MANIFESTS = \ + $(PYV_MANIFESTS) $(PYNV_MANIFESTS) \ + $(PERLV_MANIFESTS) $(PERLNV_MANIFESTS) \ + $(NOPERL_MANIFESTS) + GENERATED = $(MANIFEST_BASE)-generated COMBINED = $(MANIFEST_BASE)-combined -MANIFESTS = $(CANONICAL_MANIFESTS:%=$(MANIFEST_BASE)-%) +MANIFESTS = $(VERSIONED_MANIFESTS:%=$(MANIFEST_BASE)-%) -DEPENDED=$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.depend) -RESOLVED=$(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.depend.res) +DEPENDED=$(VERSIONED_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.depend) +RESOLVED=$(VERSIONED_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.depend.res) PUBLISHED=$(RESOLVED:%.depend.res=%.published) COPYRIGHT_FILE ?= $(COMPONENT_NAME)-$(COMPONENT_VERSION).copyright @@ -130,8 +156,70 @@ $(MANIFEST_BASE)-%.generate: %.p5m canonical-manifests cat $(METADATA_TEMPLATE) $< >$@ -# mogrify the manifest -$(MANIFEST_BASE)-%.mogrified: %.p5m $(BUILD_DIR) canonical-manifests +# The text of a transform that will emit a dependency conditional on the +# presence of a particular version of a runtime, which will then draw in the +# runtime-version-specific version of the package we're operating on. $(1) is +# the name of the runtime package, and $(2) is the version suffix. +mkgeneric = \ + echo " emit depend nodrop=true type=conditional" \ + "predicate=$(1)-$(2) fmri=%<1>-$(2)@%<2>>" >> $@; + +# Define and execute a macro that generates a rule to create a manifest for a +# python module specific to a particular version of the python runtime. +define python-manifest-rule +$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).p5m: %-PYVER.p5m + $(PKGMOGRIFY) -D PYVER=$(1) -D PYV=$(shell echo $(1) | tr -d .) $$< > $$@ +endef +$(foreach ver,$(PYTHON_VERSIONS),$(eval $(call python-manifest-rule,$(ver)))) + +# A rule to create a helper transform package for python, that will insert the +# appropriate conditional dependencies into a python library's +# runtime-version-generic package to pull in the version-specific bits when the +# corresponding version of python is on the system. +$(WS_TOP)/transforms/mkgeneric-python: $(WS_TOP)/make-rules/shared-macros.mk + $(RM) $@ + $(foreach ver,$(shell echo $(PYTHON_VERSIONS) | tr -d .), \ + $(call mkgeneric,runtime/python,$(ver))) + +# Build Python version-wrapping manifests from the generic version. +$(MANIFEST_BASE)-%.p5m: %-PYVER.p5m $(WS_TOP)/transforms/mkgeneric-python + $(PKGMOGRIFY) -D PYV=### $(WS_TOP)/transforms/mkgeneric-python \ + $(WS_TOP)/transforms/mkgeneric $< > $@ + if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi + +# Define and execute a macro that generates a rule to create a manifest for a +# perl module specific to a particular version of the perl runtime. +define perl-manifest-rule +$(MANIFEST_BASE)-%-$(shell echo $(1) | tr -d .).p5m: %-PERLVER.p5m + $(PKGMOGRIFY) -D PERLVER=$(1) -D PLV=$(shell echo $(1) | tr -d .) \ + -D PERL_ARCH=$(call PERL_ARCH_FUNC,$(PERL.$(1))) $$< > $$@ +endef +$(foreach ver,$(PERL_VERSIONS),$(eval $(call perl-manifest-rule,$(ver)))) + +# A rule to create a helper transform package for perl, that will insert the +# appropriate conditional dependencies into a perl library's +# runtime-version-generic package to pull in the version-specific bits when the +# corresponding version of perl is on the system. +$(WS_TOP)/transforms/mkgeneric-perl: $(WS_TOP)/make-rules/shared-macros.mk + $(RM) $@ + $(foreach ver,$(shell echo $(PERL_VERSIONS) | tr -d .), \ + $(call mkgeneric,runtime/perl,$(ver))) + +# Build Perl version-wrapping manifests from the generic version. +$(MANIFEST_BASE)-%.p5m: %-PERLVER.p5m $(WS_TOP)/transforms/mkgeneric-perl + $(PKGMOGRIFY) -D PLV=### $(WS_TOP)/transforms/mkgeneric-perl \ + $(WS_TOP)/transforms/mkgeneric $< > $@ + if [ -f $*-GENFRAG.p5m ]; then cat $*-GENFRAG.p5m >> $@; fi + +# mogrify non-parameterized manifests +$(MANIFEST_BASE)-%.mogrified: %.p5m $(BUILD_DIR) + $(PKGMOGRIFY) $(PKG_OPTIONS) $< \ + $(PUBLISH_TRANSFORMS) | \ + sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@ + +# mogrify parameterized manifests +$(MANIFEST_BASE)-%.mogrified: $(MANIFEST_BASE)-%.p5m $(BUILD_DIR) $(PKGMOGRIFY) $(PKG_OPTIONS) $< \ $(PUBLISH_TRANSFORMS) | \ sed -e '/^$$/d' -e '/^#.*$$/d' | uniq >$@ @@ -175,18 +263,18 @@ $(TOUCH) $@ print-package-names: canonical-manifests - @cat $(CANONICAL_MANIFESTS) $(WS_TOP)/transforms/print-pkgs | \ + @cat $(VERSIONED_MANIFESTS) $(WS_TOP)/transforms/print-pkgs | \ $(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 | \ sed -e '/^$$/d' -e '/^#.*$$/d' | sort -u print-package-paths: canonical-manifests - @cat $(CANONICAL_MANIFESTS) $(WS_TOP)/transforms/print-paths | \ + @cat $(VERSIONED_MANIFESTS) $(WS_TOP)/transforms/print-paths | \ $(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 | \ sed -e '/^$$/d' -e '/^#.*$$/d' | sort -u install-packages: publish @if [ $(IS_GLOBAL_ZONE) = 0 -o x$(ROOT) != x ]; then \ - cat $(CANONICAL_MANIFESTS) $(WS_TOP)/transforms/print-paths | \ + cat $(VERSIONED_MANIFESTS) $(WS_TOP)/transforms/print-paths | \ $(PKGMOGRIFY) $(PKG_OPTIONS) /dev/fd/0 | \ sed -e '/^$$/d' -e '/^#.*$$/d' -e 's;/;;' | sort -u | \ (cd $(PROTO_DIR) ; pfexec /bin/cpio -dump $(ROOT)) ; \ diff -r b6ffd60bade0 -r f1b6ecbb2d1e make-rules/shared-macros.mk --- a/make-rules/shared-macros.mk Wed Apr 17 19:17:06 2013 -0700 +++ b/make-rules/shared-macros.mk Thu Apr 18 08:16:56 2013 -0700 @@ -18,7 +18,7 @@ # # CDDL HEADER END # -# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. # PATH=/usr/bin:/usr/gnu/bin @@ -41,7 +41,9 @@ export DOWNLOAD_SEARCH_PATH += $(EXTERNAL_ARCHIVE_MIRROR) # The workspace starts at the mercurial root -export WS_TOP ?= $(shell hg root) +ifeq ($(origin WS_TOP), undefined) +export WS_TOP := $(shell hg root) +endif WS_LOGS = $(WS_TOP)/$(MACH)/logs WS_REPO = $(WS_TOP)/$(MACH)/repo @@ -71,7 +73,7 @@ ROOT = / -OS_VERSION = $(shell uname -r) +OS_VERSION := $(shell uname -r) SOLARIS_VERSION = $(OS_VERSION:5.%=2.%) include $(WS_MAKE_RULES)/ips-buildinfo.mk @@ -91,7 +93,7 @@ COMPONENT_SRC_NAME = $(COMPONENT_NAME) -COMPONENT_DIR = $(shell pwd) +COMPONENT_DIR := $(shell pwd) SOURCE_DIR = $(COMPONENT_DIR)/$(COMPONENT_SRC) BUILD_DIR = $(COMPONENT_DIR)/build PROTO_DIR = $(BUILD_DIR)/prototype/$(MACH) @@ -172,7 +174,7 @@ CONSTANT_TIME += TIME_CONSTANT=$(TIME_CONSTANT) # set MACH from uname -p to either sparc or i386 -MACH = $(shell uname -p) +MACH := $(shell uname -p) # set MACH32 from MACH to either sparcv7 or i86 MACH32_1 = $(MACH:sparc=sparcv7) @@ -307,13 +309,13 @@ PERL = $(PERL.$(PERL_VERSION)) -PERL_ARCH = $(shell $(PERL) -e 'use Config; print $$Config{archname}') +PERL_ARCH := $(shell $(PERL) -e 'use Config; print $$Config{archname}') # Optimally we should ask perl which C compiler was used but it doesn't # result in a full path name. Only "c" is being recorded # inside perl builds while we actually need a full path to # the studio compiler. -#PERL_CC = $(shell $(PERL) -e 'use Config; print $$Config{cc}') -PERL_OPTIMIZE = $(shell $(PERL) -e 'use Config; print $$Config{optimize}') +#PERL_CC := $(shell $(PERL) -e 'use Config; print $$Config{cc}') +PERL_OPTIMIZE := $(shell $(PERL) -e 'use Config; print $$Config{optimize}') PKG_MACROS += PERL_ARCH=$(PERL_ARCH) PKG_MACROS += PERL_VERSION=$(PERL_VERSION) @@ -369,8 +371,8 @@ # Enables large file support for components that have no other means of doing # so. Use CPP_LARGEFILES and not the .32/.64 variety directly -CPP_LARGEFILES.32 = $(shell getconf LFS_CFLAGS) -CPP_LARGEFILES.64 = $(shell getconf LFS64_CFLAGS) +CPP_LARGEFILES.32 := $(shell getconf LFS_CFLAGS) +CPP_LARGEFILES.64 := $(shell getconf LFS64_CFLAGS) CPP_LARGEFILES = $(CPP_LARGEFILES.$(BITS)) # Enables some #pragma redefine_extname to POSIX-compliant Standard C Library diff -r b6ffd60bade0 -r f1b6ecbb2d1e transforms/mkgeneric --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/transforms/mkgeneric Thu Apr 18 08:16:56 2013 -0700 @@ -0,0 +1,47 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +# + +# This set of transforms helps us take a package that's parameterized on a +# platform's versions and emit a package that conditionally depends on those +# versioned packages, predicated on the platform version packages being +# present. +# +# For instance, for a package "mako-generic", we want to create a package +# "mako", which brings in "mako-26" if "python-26" is present, and "mako-27" if +# "python-27" is present. +# +# We do this by grabbing just the set actions from "mako-generic", and emitting +# those conditional depend actions. We require that the parameterized package +# name end in "-###" (typically by setting a pkgmogrify variable to "###"), +# which we also remove here. This works in conjunction with a set of rules in +# make-rules/ips.mk which create and use another transform file that actually +# emit the conditional dependencies. + + drop> + default nodrop false> + drop> + \ + edit value -### ""> + delete nodrop true>