Commits

Anonymous committed accde06

7030521 move perl DBI module to userland

  • Participants
  • Parent commits c2445b7
  • Tags build-163

Comments (0)

Files changed (6)

File components/meta-packages/history/SUNWpmdbi.p5m

+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri value=pkg:/SUNWpmdbi@1.58.0,5.11-0.133
+set name=pkg.renamed value=true
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+depend fmri=library/perl-5/database@1.58.0-0.133 type=require

File components/perl_modules/DBI/DBI.license

+Oracle elects to use only the GNU Lesser General Public License version
+2.1 (LGPL)/GNU General Public License version 2 (GPL) for any software
+where a choice of LGPL/GPL license versions are made available with the
+language indicating that LGPLv2.1/GPLv2 or any later version may be
+used, or where a choice of which version of the LGPL/GPL is applied is
+unspecified.  Unless specifically stated otherwise, where a choice
+exists between another license and either the GPL or the LGPL, Oracle
+chooses the other license.
+=====================================================================
+
+The DBI module is Copyright (c) 1994-2004 Tim Bunce. Ireland.
+All rights reserved.
+
+You may distribute under the terms of either the GNU General Public
+License or the Artistic License, as specified in the Perl README file.

File components/perl_modules/DBI/DBI.p5m

+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/library/perl-5/database@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Perl Database Independent Interface"
+set name=info.classification \
+    value=org.opensolaris.category.2008:Development/Perl
+set name=info.source_url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream_url value=http://search.cpan.org/~timb/DBI/
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+dir path=usr
+dir path=usr/perl5
+dir path=usr/perl5/5.8.4
+dir path=usr/perl5/5.8.4/bin
+#dir path=usr/perl5/5.8.4/lib
+#dir path=usr/perl5/5.8.4/lib/$(PERL_ARCH)-solaris-64int
+dir path=usr/perl5/5.8.4/man
+dir path=usr/perl5/5.8.4/man/man1
+dir path=usr/perl5/5.8.4/man/man3
+dir path=usr/perl5/vendor_perl
+dir path=usr/perl5/vendor_perl/5.8.4
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/Bundle
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer
+dir \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Policy
+dir \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Transport
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Const
+dir \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Const/GetInfo
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/DBD
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Gofer
+dir \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Gofer/Transport
+dir \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/ProfileDumper
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/SQL
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Util
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/Win32
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto
+dir path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI
+file path=usr/perl5/5.8.4/bin/dbilogstrip
+file path=usr/perl5/5.8.4/bin/dbiprof
+file path=usr/perl5/5.8.4/bin/dbiproxy
+#file path=usr/perl5/5.8.4/lib/$(PERL_ARCH)-solaris-64int/perllocal.pod
+file path=usr/perl5/5.8.4/man/man1/dbilogstrip.1
+file path=usr/perl5/5.8.4/man/man1/dbiprof.1
+file path=usr/perl5/5.8.4/man/man1/dbiproxy.1
+file path=usr/perl5/5.8.4/man/man3/Bundle::DBI.3
+file path=usr/perl5/5.8.4/man/man3/DBD::DBM.3
+file path=usr/perl5/5.8.4/man/man3/DBD::File.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer::Policy::Base.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer::Policy::classic.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer::Policy::pedantic.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer::Policy::rush.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer::Transport::Base.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer::Transport::null.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer::Transport::pipeone.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Gofer::Transport::stream.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Proxy.3
+file path=usr/perl5/5.8.4/man/man3/DBD::Sponge.3
+file path=usr/perl5/5.8.4/man/man3/DBI.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Const::GetInfo::ANSI.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Const::GetInfo::ODBC.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Const::GetInfoReturn.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Const::GetInfoType.3
+file path=usr/perl5/5.8.4/man/man3/DBI::DBD.3
+file path=usr/perl5/5.8.4/man/man3/DBI::DBD::Metadata.3
+file path=usr/perl5/5.8.4/man/man3/DBI::FAQ.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Gofer::Execute.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Gofer::Request.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Gofer::Response.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Gofer::Transport::Base.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Gofer::Transport::pipeone.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Gofer::Transport::stream.3
+file path=usr/perl5/5.8.4/man/man3/DBI::Profile.3
+file path=usr/perl5/5.8.4/man/man3/DBI::ProfileData.3
+file path=usr/perl5/5.8.4/man/man3/DBI::ProfileDumper.3
+file path=usr/perl5/5.8.4/man/man3/DBI::ProfileDumper::Apache.3
+file path=usr/perl5/5.8.4/man/man3/DBI::ProfileSubs.3
+file path=usr/perl5/5.8.4/man/man3/DBI::ProxyServer.3
+file path=usr/perl5/5.8.4/man/man3/DBI::PurePerl.3
+file path=usr/perl5/5.8.4/man/man3/DBI::SQL::Nano.3
+file path=usr/perl5/5.8.4/man/man3/DBI::W32ODBC.3
+file path=usr/perl5/5.8.4/man/man3/Roadmap.3
+file path=usr/perl5/5.8.4/man/man3/TASKS.3
+file path=usr/perl5/5.8.4/man/man3/Win32::DBIODBC.3
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/Bundle/DBI.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/DBM.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/ExampleP.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/File.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Policy/Base.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Policy/classic.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Policy/pedantic.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Policy/rush.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Transport/Base.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Transport/null.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Transport/pipeone.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Gofer/Transport/stream.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/NullP.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Proxy.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBD/Sponge.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Changes.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Const/GetInfo/ANSI.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Const/GetInfo/ODBC.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Const/GetInfoReturn.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Const/GetInfoType.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/DBD.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/DBD/Metadata.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/FAQ.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Gofer/Execute.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Gofer/Request.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Gofer/Response.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Gofer/Transport/Base.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Gofer/Transport/pipeone.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Gofer/Transport/stream.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Profile.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/ProfileData.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/ProfileDumper.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/ProfileDumper/Apache.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/ProfileSubs.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/ProxyServer.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/PurePerl.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Roadmap.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/SQL/Nano.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/Util/_accessor.pm
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/DBI/W32ODBC.pm
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/Roadmap.pod
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/TASKS.pod
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/Win32/DBIODBC.pm
+#file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/.packlist
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/DBI.bs
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/DBI.so
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/DBIXS.h
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/Driver.xst
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/Driver_xst.h
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/dbd_xsh.h
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/dbi_sql.h
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/dbipport.h
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/dbivport.h
+file \
+    path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/auto/DBI/dbixs_rev.h
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/dbixs_rev.pl
+file path=usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/goferperf.pl
+license DBI.license license=Artistic
+legacy   pkg=SUNWpmdbi \
+	name="Perl Database Independent Interface" \
+	desc="Database independent interface module v1.58"
+

File components/perl_modules/DBI/Makefile

+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+
+COMPONENT_NAME=		DBI
+COMPONENT_VERSION=	1.58
+COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
+
+COMPONENT_ARCHIVE_HASH=	sha1:5f5861728c85b3998eb5a6db3703f46d0fc6faf1
+COMPONENT_ARCHIVE_URL=	http://cr.opensolaris.org/~neuron/dbi/$(COMPONENT_ARCHIVE)
+
+include ../../../make-rules/perl-variants.mk
+include ../../../make-rules/perl-generic.mk
+
+$(VARIANT_584)/.installed: \
+	PERL_FILES_TO_UPDATE_MAGIC_LINE=\
+	usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/goferperf.pl \
+	usr/perl5/vendor_perl/5.8.4/$(PERL_ARCH)-solaris-64int/dbixs_rev.pl

File make-rules/perl-generic.mk

+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+
+include ../../../make-rules/prep.mk
+include ../../../make-rules/ips.mk
+
+# Maybe not necessary, but won't do any harm neither
+PERL_ENV = MAKE=$(GMAKE)
+# PATH has to contain the same CC compiler which was used for perl component
+# itself
+PERL_ENV += PATH=$(dir $(CC.studio.32)):$(PATH)
+
+PERL_ARCH=$(shell arch)
+
+PKG_MACROS             +=      PERL_ARCH=$(PERL_ARCH)
+PKG_MACROS             +=      PERL_VERSION=$(PERL_VERSION)
+
+
+################
+# Prepare
+################
+$(BUILD_DIR)/%/.configured:	$(SOURCE_DIR)/.prep
+	($(RM) -rf $(@D) ; $(MKDIR) $(@D))
+	$(CLONEY) $(SOURCE_DIR) $(@D)
+	$(COMPONENT_PRE_CONFIGURE_ACTION)
+	(cd $(@D) ; $(PERL_ENV) $(PERL) Makefile.PL)
+	$(COMPONENT_POST_CONFIGURE_ACTION)
+	$(TOUCH) $@
+
+
+################
+# Build
+################
+COMPONENT_BUILD_ENV	+= $(PERL_ENV)
+
+# build the configured source
+$(BUILD_DIR)/%/.built:	$(BUILD_DIR)/%/.configured
+	$(COMPONENT_PRE_BUILD_ACTION)
+	(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
+		$(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
+	$(COMPONENT_POST_BUILD_ACTION)
+	$(TOUCH) $@
+
+build:		$(VARIANTS:%=%/.built)
+
+
+################
+# Install
+################
+COMPONENT_INSTALL_TARGETS = \
+	DESTDIR="$(PROTO_DIR)" install_vendor
+
+$(BUILD_DIR)/%/.installed:	$(BUILD_DIR)/%/.built
+	$(COMPONENT_PRE_INSTALL_ACTION)
+	(cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) $(GMAKE) \
+			$(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS))
+	# Now walk the files which should have the magic line #!/usr/bin/perl
+	# changed to comply with Solaris standards
+	(cd $(PROTO_DIR); \
+		for file in $(PERL_FILES_TO_UPDATE_MAGIC_LINE); do \
+			$(CHMOD) +w $$file; \
+			$(PERL) -pi -e 's,^#!.*?perl,#!$(PERL), if $$.==1' $$file; \
+		done)
+	$(COMPONENT_POST_INSTALL_ACTION)
+	$(TOUCH) $@
+
+install:	$(VARIANTS:%=%/.installed)
+
+
+################
+# Test
+################
+# Do not create .tested file, so that test can be re-run anytime
+$(BUILD_DIR)/%/.tested:	$(BUILD_DIR)/%/.built
+	@cd $(@D); $(GMAKE) test
+
+test:  $(VARIANTS:%=%/.tested)
+
+
+################
+# General stuff
+################
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
+
+clean:: 
+	$(RM) -r $(BUILD_DIR) $(PROTO_DIR) $(VARIANTS)
+
+include ../../../make-rules/depend.mk

File make-rules/perl-variants.mk

+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+
+# Give each variant its own build directory
+VARIANT_584 = $(BUILD_DIR)/$(MACH32)-5.8.4
+VARIANT_510 = $(BUILD_DIR)/$(MACH32)-5.10.0
+VARIANT_512 = $(BUILD_DIR)/$(MACH32)-5.12.3
+
+# List all variants here. You can override this variable locally to build given
+# module with just selected perl revision
+VARIANTS = $(VARIANT_584) # $(VARIANT_510) $(VARIANT_512)
+
+# This has to be included prior to re-defining PERL variable
+include ../../../make-rules/shared-macros.mk
+
+P584=/usr/perl5/5.8.4/bin/perl
+P510=/usr/perl5/5.10.0/bin/perl
+P512=/usr/perl5/5.12.3/bin/perl
+# Set perl used for each variant
+$(VARIANT_584)/.built:  PERL=$(P584)
+$(VARIANT_584)/.prep:  PERL=$(P584)
+$(VARIANT_584)/.configured:  PERL=$(P584)
+$(VARIANT_584)/.installed:  PERL=$(P584)
+
+$(VARIANT_510)/.built:  PERL=$(P510)
+$(VARIANT_510)/.prep:  PERL=$(P510)
+$(VARIANT_510)/.configured:  PERL=$(P510)
+$(VARIANT_510)/.installed:  PERL=$(P510)
+
+$(VARIANT_512)/.built:  PERL=$(P512)
+$(VARIANT_512)/.prep:  PERL=$(P512)
+$(VARIANT_512)/.configured:  PERL=$(P512)
+$(VARIANT_512)/.installed:  PERL=$(P512)