18960221 problem in UTILITY/PUPPET s11u2-sru
authorKristina Tripp <Kristina.Tripp@oracle.com>
Fri, 07 Nov 2014 12:43:50 -0800
branchs11u2-sru
changeset 3460 5c5af6e58474
parent 3457 6358358b4186
child 3461 1240b4c4e38d
18960221 problem in UTILITY/PUPPET 18960237 Update Puppet to 3.6.2 19612179 Prepare puppet code to support multiple or different releases of ruby 19652539 gmake install of puppet fails due to Makefile omission 19646558 puppet-19 package not installed if ruby-19 not installed 19685659 salvage warning upgrading puppet 19988165 Puppet <name>~ files from patch process are included in puppet-19 package
components/puppet/Makefile
components/puppet/depend.mk
components/puppet/ext/extconf.rb
components/puppet/ext/puppet_audit.c
components/puppet/files/auth_attr
components/puppet/files/prof_attr
components/puppet/files/puppet.stencil
components/puppet/files/puppet.xml
components/puppet/files/solaris/lib/puppet/provider/address_object/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/address_properties/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/boot_environment/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/dns/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/etherstub/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/interface_properties/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/ip_tunnel/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/ipmp_interface/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/ldap/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/link_properties/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/nis/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/nsswitch/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/pkg_facet/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/pkg_mediator/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/pkg_publisher/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/pkg_variant/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/protocol_properties/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/solaris_vlan/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/svccfg/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/vni_interface/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/vnic/solaris.rb
components/puppet/files/solaris/lib/puppet/type/address_object.rb
components/puppet/files/solaris/lib/puppet/type/address_properties.rb
components/puppet/files/solaris/lib/puppet/type/boot_environment.rb
components/puppet/files/solaris/lib/puppet/type/dns.rb
components/puppet/files/solaris/lib/puppet/type/etherstub.rb
components/puppet/files/solaris/lib/puppet/type/interface_properties.rb
components/puppet/files/solaris/lib/puppet/type/ip_interface.rb
components/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb
components/puppet/files/solaris/lib/puppet/type/ipmp_interface.rb
components/puppet/files/solaris/lib/puppet/type/ldap.rb
components/puppet/files/solaris/lib/puppet/type/link_aggregation.rb
components/puppet/files/solaris/lib/puppet/type/link_properties.rb
components/puppet/files/solaris/lib/puppet/type/nis.rb
components/puppet/files/solaris/lib/puppet/type/nsswitch.rb
components/puppet/files/solaris/lib/puppet/type/pkg_facet.rb
components/puppet/files/solaris/lib/puppet/type/pkg_mediator.rb
components/puppet/files/solaris/lib/puppet/type/pkg_publisher.rb
components/puppet/files/solaris/lib/puppet/type/pkg_variant.rb
components/puppet/files/solaris/lib/puppet/type/protocol_properties.rb
components/puppet/files/solaris/lib/puppet/type/solaris_vlan.rb
components/puppet/files/solaris/lib/puppet/type/svccfg.rb
components/puppet/files/solaris/lib/puppet/type/vni_interface.rb
components/puppet/files/solaris/lib/puppet/type/vnic.rb
components/puppet/files/user_attr
components/puppet/patches/puppet-00-s12pkg.patch
components/puppet/patches/puppet-01-installrb-nogzip-manpage.patch
components/puppet/patches/puppet-02-zone-type.patch
components/puppet/patches/puppet-03-zone-provider.patch
components/puppet/patches/puppet-04-agent-auditing.patch
components/puppet/patches/puppet-05-apply-auditing.patch
components/puppet/patches/puppet-06-provider-smf.patch
components/puppet/patches/puppet-07-PUP-2641.patch
components/puppet/patches/puppet-08-PUP-2509.patch
components/puppet/puppet.license
components/puppet/puppet.p5m
components/puppet/resolve.deps
components/ruby/puppet/Makefile
components/ruby/puppet/depend.mk
components/ruby/puppet/ext/extconf.rb
components/ruby/puppet/ext/puppet_audit.c
components/ruby/puppet/files/UPDATE_README.txt
components/ruby/puppet/files/auth_attr
components/ruby/puppet/files/prof_attr
components/ruby/puppet/files/puppet.stencil
components/ruby/puppet/files/puppet.xml
components/ruby/puppet/files/solaris/lib/puppet/provider/address_object/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/address_properties/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/boot_environment/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/dns/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/etherstub/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/interface_properties/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/ip_tunnel/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/ipmp_interface/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/ldap/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/link_properties/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/nis/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/nsswitch/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_facet/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_mediator/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_publisher/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_variant/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/protocol_properties/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/solaris_vlan/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/svccfg/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/vni_interface/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/provider/vnic/solaris.rb
components/ruby/puppet/files/solaris/lib/puppet/type/address_object.rb
components/ruby/puppet/files/solaris/lib/puppet/type/address_properties.rb
components/ruby/puppet/files/solaris/lib/puppet/type/boot_environment.rb
components/ruby/puppet/files/solaris/lib/puppet/type/dns.rb
components/ruby/puppet/files/solaris/lib/puppet/type/etherstub.rb
components/ruby/puppet/files/solaris/lib/puppet/type/interface_properties.rb
components/ruby/puppet/files/solaris/lib/puppet/type/ip_interface.rb
components/ruby/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb
components/ruby/puppet/files/solaris/lib/puppet/type/ipmp_interface.rb
components/ruby/puppet/files/solaris/lib/puppet/type/ldap.rb
components/ruby/puppet/files/solaris/lib/puppet/type/link_aggregation.rb
components/ruby/puppet/files/solaris/lib/puppet/type/link_properties.rb
components/ruby/puppet/files/solaris/lib/puppet/type/nis.rb
components/ruby/puppet/files/solaris/lib/puppet/type/nsswitch.rb
components/ruby/puppet/files/solaris/lib/puppet/type/pkg_facet.rb
components/ruby/puppet/files/solaris/lib/puppet/type/pkg_mediator.rb
components/ruby/puppet/files/solaris/lib/puppet/type/pkg_publisher.rb
components/ruby/puppet/files/solaris/lib/puppet/type/pkg_variant.rb
components/ruby/puppet/files/solaris/lib/puppet/type/protocol_properties.rb
components/ruby/puppet/files/solaris/lib/puppet/type/solaris_vlan.rb
components/ruby/puppet/files/solaris/lib/puppet/type/svccfg.rb
components/ruby/puppet/files/solaris/lib/puppet/type/vni_interface.rb
components/ruby/puppet/files/solaris/lib/puppet/type/vnic.rb
components/ruby/puppet/files/update_smf.py
components/ruby/puppet/files/user_attr
components/ruby/puppet/patches/puppet-00-s12pkg.patch
components/ruby/puppet/patches/puppet-01-installrb-nogzip-manpage.patch
components/ruby/puppet/patches/puppet-02-zone-type.patch
components/ruby/puppet/patches/puppet-03-zone-provider.patch
components/ruby/puppet/patches/puppet-04-agent-auditing.patch
components/ruby/puppet/patches/puppet-05-apply-auditing.patch
components/ruby/puppet/patches/puppet-06-provider-smf.patch
components/ruby/puppet/patches/puppet-07-PUP-2641.patch
components/ruby/puppet/patches/puppet-08-PUP-2509.patch
components/ruby/puppet/puppet-GENFRAG.p5m
components/ruby/puppet/puppet-RUBYVER.p5m
components/ruby/puppet/puppet.license
components/ruby/puppet/resolve.deps
--- a/components/puppet/Makefile	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-include ../../make-rules/shared-macros.mk
-
-COMPONENT_NAME=		puppet
-COMPONENT_VERSION=	3.4.1
-COMPONENT_PROJECT_URL=	http://puppetlabs.com/
-COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
-COMPONENT_ARCHIVE_HASH=	\
-    sha256:e6a929699a83c2bc1d1661674172ba7e92b6fb4235fa594cc2f3219925504b93
-COMPONENT_ARCHIVE_URL=	$(COMPONENT_PROJECT_URL)downloads/puppet/$(COMPONENT_ARCHIVE)
-COMPONENT_BUGDB=	utility/puppet
-
-include $(WS_TOP)/make-rules/prep.mk
-include $(WS_TOP)/make-rules/install.rb.mk
-include $(WS_TOP)/make-rules/ips.mk
-
-# puppet requires facter to build
-COMPONENT_INSTALL_ENV	+= RUBYLIB="$(COMPONENT_DIR)/../ruby/facter/build/prototype/$(MACH)$(VENDOR_RUBY)"
-
-../ruby/facter/build/%/.installed:
-	(cd ../ruby/facter ; $(GMAKE) install)
-
-# set the bindir to /usr/sbin
-INSTALL_RB_BINDIR =	$(USRSBINDIR)
-
-ASLR_MODE = $(ASLR_NOT_APPLICABLE)
-
-# pass Ruby values onto the package manfiest
-PKG_MACROS +=	RUBY_VERSION=$(RUBY_VERSION)
-PKG_MACROS +=	RUBY_LIB_VERSION=$(RUBY_LIB_VERSION)
-
-# common targets
-build:		$(BUILD_64)
-	# Ruby extension for auditing
-	(cd ext; $(RUBY) extconf.rb; $(GMAKE))
-
-# make sure facter is installed first
-install:	../ruby/facter/build/$(MACH64)/.installed $(INSTALL_64)
-
-clean::
-	@if [ -f ext/Makefile ]; then \
-		(cd ext; $(GMAKE) clean; $(RM) Makefile) \
-	fi
-
-# puppet requires the installation of the following rubygems to run
-# the unittests:  rspec rspec-expectations mocha rake rack hiera rgen
-# Disable the tests until these rubygems are available.
-test:		$(NO_TESTS)
-
-BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
-
-include $(WS_TOP)/make-rules/depend.mk
--- a/components/puppet/depend.mk	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-puppet:		ruby/facter
--- a/components/puppet/ext/extconf.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-require 'mkmf'
-$CPPFLAGS = "-I/usr/include -I/usr/include/bsm"
-$LDFLAGS  = "-L/usr/lib"
-$LOCAL_LIBS = "-lbsm"
-create_makefile("PuppetAudit")
--- a/components/puppet/ext/puppet_audit.c	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
- */
-
-/*
- * Ruby binding for libbsm used by Puppet to record audit events
- */
-
-#include <ruby.h>
-#include <pwd.h>
-#include <nss_dbdefs.h>
-#include <bsm/adt.h>
-#include <bsm/adt_event.h>
-
-VALUE cPuppetAudit;
-
-VALUE
-audit_new(VALUE class)
-{
-	adt_session_data_t	*ah;
-	VALUE			data;
-
-	if (adt_start_session(&ah, NULL, 0) != 0) {
-		perror("puppet adt_start_session");
-		exit(1);
-	}
-	data = Data_Wrap_Struct(class, 0, 0, ah);
-	rb_obj_call_init(data, 0, 0);
-	return (data);
-}
-
-static VALUE
-audit_init(VALUE self)
-{
-	adt_session_data_t	*ah;
-	adt_termid_t		*tid;
-	struct passwd		pwd, *result;
-	char			*buffer;
-	size_t			size = NSS_BUFLEN_PASSWD;
-
-	Data_Get_Struct(self, adt_session_data_t, ah);
-
-	if (adt_load_hostname(NULL, &tid) != 0) {
-		perror("puppet adt_load_hostname");
-		(void) adt_end_session(ah);
-		exit(1);
-	}
-
-	if ((buffer = malloc(size)) == NULL)
-		exit(1);
-
-	/* set "puppet" as user name and preselection */
-	if (getpwnam_r("puppet", &pwd, buffer, size, &result) != 0) {
-		perror("puppet getpwnam_r(puppet)");
-		(void) adt_end_session(ah);
-		free(buffer);
-		exit(1);
-	}
-
-	if (result == NULL) {
-		perror("puppet getpwnam_r(puppet)");
-		(void) adt_end_session(ah);
-		free(buffer);
-		exit(1);
-	}
-
-	if (adt_set_user(ah, result->pw_uid, result->pw_gid, result->pw_uid,
-	    result->pw_gid, tid, ADT_NEW) != 0) {
-		perror("puppet adt_set_user");
-		free(tid);
-		(void) adt_end_session(ah);
-		free(buffer);
-		exit(1);
-	}
-	free(tid);
-
-	/* set audit context on this process */
-	if (adt_set_proc(ah) != 0) {
-		perror("puppet adt_set_proc");
-		(void) adt_end_session(ah);
-		free(buffer);
-		exit(1);
-	}
-	free(buffer);
-	return (self);
-}
-
-static VALUE
-audit_start(VALUE self)
-{
-	adt_event_data_t	*event;
-	adt_session_data_t	*ah;
-
-	Data_Get_Struct(self, adt_session_data_t, ah);
-
-	if ((event = adt_alloc_event(ah, ADT_puppet_session_start)) == NULL) {
-		perror("adt_alloc_event(ADT_puppet_session_start)");
-		(void) adt_end_session(ah);
-		ah = NULL;
-	} else {
-		if (adt_put_event(event, ADT_SUCCESS, ADT_SUCCESS) != 0) {
-			perror("adt_put_event(ADT_puppet_session_start)");
-		}
-		adt_free_event(event);
-	}
-	return (self);
-}
-
-static VALUE
-audit_stop(VALUE self)
-{
-	adt_event_data_t	*event;
-	adt_session_data_t	*ah;
-
-	Data_Get_Struct(self, adt_session_data_t, ah);
-
-	if ((event = adt_alloc_event(ah, ADT_puppet_session_end)) == NULL) {
-		perror("adt_alloc_event(ADT_puppet_session_end)");
-	} else {
-		if (adt_put_event(event, ADT_SUCCESS, ADT_SUCCESS) != 0) {
-			perror("adt_put_event(ADT_puppet_session_end)");
-		}
-		adt_free_event(event);
-	}
-	return (self);
-}
-
-static VALUE
-audit_teardown(VALUE self)
-{
-	adt_session_data_t	*ah;
-
-	Data_Get_Struct(self, adt_session_data_t, ah);
-
-	(void) adt_end_session(ah);
-	return (self);
-}
-
-void
-Init_PuppetAudit()
-{
-	cPuppetAudit = rb_define_class("PuppetAudit", rb_cObject);
-	rb_define_singleton_method(cPuppetAudit, "new", audit_new, 0);
-	rb_define_method(cPuppetAudit, "initialize", audit_init, 0);
-	rb_define_method(cPuppetAudit, "audit_start", audit_start, 0);
-	rb_define_method(cPuppetAudit, "audit_stop", audit_stop, 0);
-	rb_define_method(cPuppetAudit, "audit_teardown", audit_teardown, 0);
-}
--- a/components/puppet/files/auth_attr	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-solaris.smf.manage.puppet:::Manage puppet master states::
-solaris.smf.value.puppet:::Change puppet master properties::
--- a/components/puppet/files/prof_attr	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Puppet Management:RO::Manage the puppet master service:auths=solaris.smf.manage.puppet,solaris.smf.value.puppet
--- a/components/puppet/files/puppet.stencil	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-# WARNING: THIS FILE GENERATED FROM SMF DATA.
-#     DO NOT EDIT THIS FILE.  EDITS WILL BE LOST.
-#
-# See puppet.conf(5) and http://docs.puppetlabs.com/guides/configuring.html
-# for details.
-; walk each instance and extract all properties from the config PG
-$%/(svc:/$%s:(.*)/:properties)/ {
-$%{$%1/general/enabled:?
-[$%2]
-$%/$%1/config/(.*)/ {
-$%3 = $%{$%1/config/$%3} }
-}
-}
--- a/components/puppet/files/puppet.xml	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1472 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
-<!--
- 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, 2014, Oracle and/or its affiliates. All rights reserved.
-
- NOTE:  This service manifest is not editable; its contents will
- be overwritten by package or patch operations, including
- operating system upgrade.  Make customizations in a different
- file.
--->
-
-<service_bundle type='manifest' name='puppet'>
-
-<service
-    name='application/puppet'
-    type='service'
-    version='1'>
-
-    <dependency
-        name='filesystem'
-        grouping='require_all'
-        restart_on='error'
-        type='service'>
-            <service_fmri value='svc:/system/filesystem/minimal' />
-    </dependency>
-
-    <dependency
-        name='network'
-        grouping='require_all'
-        restart_on='error'
-        type='service'>
-            <service_fmri value='svc:/milestone/network' />
-    </dependency>
-
-    <dependency
-        name='identity'
-        grouping='require_all'
-        restart_on='error'
-        type='service'>
-            <service_fmri value='svc:/system/identity:node' />
-    </dependency>
-
-    <exec_method type='method' name='start' exec=':true' timeout_seconds='60' />
-    <exec_method type='method' name='stop' exec=':kill' timeout_seconds='60' />
-
-    <property_group name='general' type='framework'>
-        <!-- to start stop puppet -->
-        <propval name='action_authorization' type='astring'
-        value='solaris.smf.manage.puppet' />
-        <!-- to change puppet properties -->
-        <propval name='value_authorization' type='astring'
-        value='solaris.smf.value.puppet' />
-    </property_group>
-
-    <property_group name='puppet_stencil' type='configfile'>
-        <propval name='path' type='astring' value='/etc/puppet/puppet.conf'/>
-        <propval name='stencil' type='astring' value='puppet.stencil'/>
-        <propval name='mode' type='astring' value='0444'/>
-    </property_group>
-
-    <instance name='master' enabled='false'>
-      <exec_method type='method' name='start'
-        exec='/usr/sbin/puppet master --logdest %{config/logdest}'
-        timeout_seconds='600' />
-
-        <property_group name='config' type='application'>
-            <propval name='logdest' type='astring'
-                value='/var/log/puppet/puppet-master.log'/>
-        </property_group>
-    </instance>
-
-    <instance name='agent' enabled='false'>
-      <exec_method type='method' name='start'
-        exec='/usr/sbin/puppet agent --logdest %{config/logdest}'
-        timeout_seconds='600' />
-
-        <property_group name='config' type='application'>
-            <propval name='logdest' type='astring'
-                value='/var/log/puppet/puppet-agent.log'/>
-        </property_group>
-    </instance>
-
-    <stability value='Unstable' />
-
-    <template>
-        <common_name>
-            <loctext xml:lang='C'>
-            Puppet version 3.2.4
-            </loctext>
-        </common_name>
-        <documentation>
-            <manpage title='puppet-master' section='8' manpath='/usr/share/man' />
-        </documentation>
-        <pg_pattern name='config' type='application' required='false'>
-            <prop_pattern name='server' type='host'
-                required='false'>
-                <common_name>
-                    <loctext xml:lang='C'>
-                    Server name or IP address of puppet master
-                    </loctext>
-                </common_name>
-            </prop_pattern>
-            <prop_pattern name='logdest' type='astring'
-                required='false'>
-                <common_name>
-                    <loctext xml:lang='C'>
-                    Logfile destination
-                    </loctext>
-                </common_name>
-            </prop_pattern>
-            <prop_pattern name='agent_catalog_run_lockfile' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                         A lock file to indicate agent catalog run in progress
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='agent_disabled_lockfile' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                         A lock file to indicate disabled puppet agent
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='allow_duplicate_certs' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to allowing duplication of existing certificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='allow_variables_with_dashes' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Permit hyphens in variable name. Always set it to False
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='archive_file_server' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Allow archiving files on file bucket server
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='archive_files' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Permit to archive files whose contents are audited
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='async_storeconfigs' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Permit queueing system to provide asynchronous database integration
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='autoflush' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether log files should always flush to disk
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='autosign' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to enable autosign
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='bindaddress' type='net_address'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The address a listening server should bind to
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='binder' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Turns the binding system on or off.
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='binder_config' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The binder configuration file.
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='bucketdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where FileBucket files are stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ca' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether the master should function as a certificate authority
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ca_name' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The name to use the Certificate Authority certificate
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ca_port' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The port to use for the certificate authority
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ca_server' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Server to use for certificate authority requests
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ca_ttl' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The default TTL for new cetificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='cacert' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The CA certificate
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='cacrl' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The certificate revocation list for the CA
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='cadir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The root directory for the certificate authority
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='cakey' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The CA private key
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='capass' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The CA stores the password for the private key
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='caprivatedir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The CA stores private certificate information
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='capub' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The CA public key
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='catalog_cache_terminus' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Storing cached catalogs and valid values are json and yaml
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='catalog_format' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        What format to use to dump the catalog
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='catalog_terminus' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Location to access node catalogs
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='cert_inventory' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        A complete listing of all certificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='certdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The certificate directory
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='certificate_expire_warning' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The window of time leading up to a certificate's expiration
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='certificate_revocation' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                         Whether Certificate revocation should be supported
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='certname' type='hostname'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The FQDN use to handle certificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='classfile' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The file in which agent stores a list of classes associated with the retrieved configuration
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='client_datadir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory in which serialized data is stored on the client
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='clientbucketdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where FileBucket files are stores locally
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='clientyamldir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory in which client-side YAML data is stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='code' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Code to parse directly and only used by puppet
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='color' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Set colors when logging to the console
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='confdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The main Puppet configuration directory
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='config' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The configuration file for the current puppet application
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='config_file_name' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The name of the puppet config file
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='config_version' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Process to determine configuration version
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='configprint' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Print the value of a specific configuration setting
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='configtimeout' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Duration for which client should wait for the configuration to retrived
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='couchdb_url' type='uri'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The url where the puppet couchdb database will be created
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='csr_attributes' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        An optional file containing custom attributes to add to certificate signing requests (CSRs).
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='csrdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where the CA stores certificate requests
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='daemonize' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Send the process into the background
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='data_binding_terminus' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where to retrive information about data
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbadapter' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The type of database to use
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbconnections' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The number of database connections for networked databases
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dblocation' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The database cache for client configurations
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbmigrate' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to automatically migrate the database
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbname' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The name of the database to use
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbpassword' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The database password for caching
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbport' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The database port for caching
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbserver' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The database server for caching
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbsocket' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The database socket location
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dbuser' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The database user for caching
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='default_file_terminus' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The default source for files if no server is given in a uri
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='default_schedules' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to generate the default schedule resources
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='deviceconfig' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Path to the device config file for puppet device
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='devicedir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The root directory of devices
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='diff' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The command diff to see difference between files
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='diff_args' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Arguments to pass to the diff command
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dns_alt_names' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The list of alternative DNS names to use for the local host
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='document_all' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Document all resources
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='dynamicfacts' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Facts that are dynamic
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='environment' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The environment puppet is running in
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='evaltrace' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                       Whether each resource should log when it is being evaluated
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='external_nodes' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        An external command that can produce node information
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='factpath' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where Puppet should look for facts
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='facts_terminus' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The node facts terminus
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='fileserverconfig' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where the fileserver configuration is stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='filetimeout' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The minimum time to wait between checking for updates in configuration files
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='freeze_main' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Freezes the main class, disallowing any code to be added to it
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='genconfig' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to just print a configuration to stdout and exit
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='genmanifest' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to just print a manifest to stdout and exit
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='graph' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to create dot graph files for different configuration graphs
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='graphdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Location to store dot-outputted graphs
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='group' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The group puppet master should run as
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='hiera_config' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The hiera configuration file
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='hostcert' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where individual hosts store and look for their certificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='hostcrl' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where the host's certificate revocation list can be found
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='hostcsr' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where individual hosts store and look for their certificate requests
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='hostprivkey' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where individual hosts store and look for their private key
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='hostpubkey' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where individual hosts store and look for their public key
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='http_compression' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Allow http compression in REST communication with the master
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='http_proxy_host' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The HTTP proxy host to use for outgoing connections
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='http_proxy_port' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The HTTP proxy port to use for outgoing connections
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='httplog' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where the puppet agent web server logs
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ignorecache' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Ignore cache and always recomplie the configuration
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ignoreimport' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Allows the parser to continue without requiring all files referenced with import statements to exist
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ignoreissingtypes' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Skip searching for classes and definitions that were missing during a prior compilation.
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ignoreschedules' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether puppet agent should ignore schedules
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='inventory_port' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The server which send facts
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='inventory_server' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The server which send facts
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='inventory_terminus' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Should usually be the same as the facts terminus
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='keylength' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The bit length of keys
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='lastrunfile' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Location where puppet agent stores the last run report summary
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='lastrunreport' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Location where puppet agent stores the last run report
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapattrs' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The LDAP attributes to include when querying LDAP for nodes
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapbase' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The search base for LDAP searches
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapclassattrs' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The LDAP attributes to use to define Puppet classes
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapparentattr' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The attribute to use to define the parent node
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldappassword' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The password to use to connect to LDAP
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapport' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The LDAP port
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapserver' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The LDAP server
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapssl' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Set SSL to be used when searching for nodes
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapstackedattrs' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Stacked LDAP attributes in a tree
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapstring' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The search string used to find an LDAP node
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldaptls' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether TLS should be used when searching for nodes
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ldapuser' type='hostname'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The user to use to connect to LDAP
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='legacy_query_parameter_serialization'
-                type='hostname' required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The serialization format to use when sending file_metadata query parameters.
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='libdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        An extra search for puppet
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='listen' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether puppet agent should listen for connections
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='localcacert' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where each client stores the CA certificate
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='localconfig' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where each client stores the CA certificate
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='logdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory in which to store log files
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='manage_internal_file_permissions' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether puppet should manager the owner, group and mode of files it uses internally
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='manifest' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The entry-point manifest for puppet master
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='manifestdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where puppet master look for its manifests
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='masterhttplog' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where puppet master web server logs
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='masterlog' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where puppet master logs
-                    </loctext> </description>
-            </prop_pattern>
-           <prop_pattern name='masterport' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Which port puppet master listens on
-                    </loctext> </description>
-            </prop_pattern>
-           <prop_pattern name='max_deprecations' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The max number of logged/displayed parser validation deprecation warnings in case multiple errors have been detected.
-                    </loctext> </description>
-            </prop_pattern>
-           <prop_pattern name='max_errors' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The max number of logged/displayed parser validation errors in case multiple errors have been detected.
-                    </loctext> </description>
-            </prop_pattern>
-           <prop_pattern name='max_warnings' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The max number of logged/displayed parser validation warnings in case multiple errors have been detected.
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='maximum_uid' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The maximum allowed UID
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='mkusers' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to create the necessary user and group that puppet agent will run as
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='module_repository' type='uri'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The module repository
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='module_skeleton_dir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory which the skeleton for module tool generate is stored.
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='module_working_dir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory into which module tool data is stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='modulepath' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The search path for modules, as a list of directories
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='name' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The name of the application, if we are running as one
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='node_cache_terminus' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        How to store cached nodes
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='node_name' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Puppet master determines the client's identity
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='node_name_fact' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The fact name used to determine the node name
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='node_name_value' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The explicit value used for the node name
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='node_terminus' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where to find information about nodes
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='noop' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether puppet agent should be run in noop mode
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='onetime' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Run the configuration once
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ordering' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        How unrelated resources should be ordered when applying a catalog.
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='parser' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Selects the parser to use for parsing puppet manifests (in puppet DSL language/'.pp' files).
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='passfile' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where puppet agent stores the password for its private key
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='path' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The shell search path
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='pidfile' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The file containing the PID of a running process
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='plugindest' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where puppet should store plugins that it pulls down from the central server
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='pluginfactdest' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where Puppet should store external facts that are being handled by pluginsync
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='pluginfactsource' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where to retrieve external facts for pluginsync
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='pluginsignore' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        What files to ignore when pulling down plugins
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='pluginsource' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Location to retrieve plugins
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='pluginsync' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether plugins should be synced with the central server
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='postrun_command' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        A command to run after every agent run
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='preferred_serialization_format' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The preferred means of serializing ruby instances
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='prerun_command' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        A command to run before every agrent run
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='priority' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The scheduling priority of the process
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='privatedir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where the client stores private certificate information
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='privatekeydir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The private key directory
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='profile' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to enable experimental performance profiling
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='publickeydir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The public key directory
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='puppetdlog' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The log file for puppet agent
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='puppetport' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Which port puppet agent listens on
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='queue_source' type='uri'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Which type of queue to use for asynchronous processing
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='queue_type' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Which type of queue to use for asynchronous procesing
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='rails_loglevel' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The log level for Rails connections
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='railslog' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where Rails-specific logs are sent
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='report' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to send reports after every transaction
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='report_port' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The port to communicate with the report_server
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='report_serialization_format' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The serialization format to use when sending reports to the report_server
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='report_server' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The server to send transcation reports to
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='reportdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory in which to store reports received from the client
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='reportfrom' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The 'from' email address for the reports
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='reports' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The list of reports to generate
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='reporturl' type='uri'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The URL used by the http reports processor to send reports
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='req_bits' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The bit length of the certificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='requestdir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where host certificate requests are stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='resourcefile' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The file in which puppet agent stores a list of the resources associated with the retrieved configuration
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='rest_authconfig' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The configuration file that defines the rights to the different rest indirections
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='route_file' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The YAML file containing indirector route configuration
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='rrddir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory where RRD database files are stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='rrdinterval' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Duration of how often RRD should expect data
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='rundir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where PuppetPID files are kept
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='runinterval' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Duration of how often puppet agent applies the client configuraiton
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='sendmail' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where to find the sendmail binary with which to send email
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='serial' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where the serial number for certificates is stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='server_datadir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory in which serialized data is stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='show_diff' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to log and report a contextual diff when files are being replaced
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='signeddir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where the CA stores signed certificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='smtphelo' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The name by which we identify ourselves in SMTP HELO for reports
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='smtpport' type='integer'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The TCP port through which to send email reports.
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='smtpserver' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The server through which to send email reports
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='splay' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to sleep for a pseudo-random amount of time before a run
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='splaylimit' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The maximum time to delay before runs
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='srv_domain' type='host'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The domain which will be queried to find the SRV records of servers to use
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ssl_client_ca_auth' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Certificate authorities who issue server certificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ssl_client_header' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The header containing an authenticated client's SSL DN
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ssl_client_verify_header' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The header containing the status message of the client verification
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ssl_server_ca_auth' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Certificate authorities who issue client certificates
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='ssldir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where SSL ceritifcates are kept
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='statedir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory where Puppet state is stored
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='statefile' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where puppet agent and master store state associates with the running configuration
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='storeconfigs' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to store each client's configuration
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='storeconfigs_backend' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Configure the backend terminus used for StoreConfigs
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='strict_hostname_checking' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to only search for the complete hostname
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='stringify_facts' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Flatten fact values to strings using #to_s
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='summarize' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to print a transaction summary
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='syslogfacility' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        What syslog facility to use when logging to syslog
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='tagmap' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The mapping between reporting tags and email addresses
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='tags' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Tags to use to find resources
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='templatedir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where Puppet looks for template files
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='thin_storeconfigs' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether Puppet should store only facts and exported resources in the storeconfigs database
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='trace' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to print stacks traces on some errors
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='trusted_node_data' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Stores trusted node data in a hash called $trusted
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='use_cached_catalog' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to only use the catalog rather than compiling a new catalog on every run
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='use_srv_records' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether the server will search for SRV records in DNS for the curent domain
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='usecacheonfailure' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to use the cached configuration when the remote configuration will not compile
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='user' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The user puppet master should run as
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='vardir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Where Puppet stores dynamic and growing data
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='waitforcert' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The time interval 'puppet agent' should connect to the server and ask it to sign a certificate request
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='yamldir' type='astring'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        The directory in which YAML data is stored, usually in a subdirectory
-                    </loctext> </description>
-            </prop_pattern>
-            <prop_pattern name='zlib' type='boolean'
-                required='false'>
-                    <description> <loctext xml:lang='C'>
-                        Whether to use the zib library
-                    </loctext> </description>
-            </prop_pattern>
-        </pg_pattern>
-    </template>
-</service>
-
-</service_bundle>
--- a/components/puppet/files/solaris/lib/puppet/provider/address_object/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:address_object).provide(:address_object) do
-    desc "Provider for creating Oracle Solaris address objects"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :ipadm => '/usr/sbin/ipadm'
-
-    def self.instances
-        ipadm("show-addr", "-p", "-o", "addrobj,type,state,addr").split(
-              "\n").collect do |line|
-            addrobj, type, state, addr = line.split(":", 4)
-
-            # replace any hypen with an underscore
-            type = type.gsub(/\-/, "_")
-
-            # look to see if this is a point-to-point address object
-            if addr.include?("->")
-                local, remote = addr.split("->")
-                local = locale.delete("\\")
-                remote = remote.delete("\\")
-            elsif type.downcase == "dhcp" and addr == "?"
-                local = nil
-                remote = nil
-            else
-                local = addr.delete("\\")
-                remote = nil
-            end
-
-            if state == "ok"
-                enable = :true
-            else
-                enable = :false
-            end
-
-            new(:name => addrobj,
-                :ensure => :present,
-                :address_type => type,
-                :enable => enable,
-                :address => local,
-                :remote_address => remote)
-        end
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        addrobjs = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = addrobjs.find{ |addrobj| addrobj.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    # property getters
-    Puppet::Type.type(:address_object).validproperties.each do |field|
-        next if field == :ensure
-        define_method(field) do
-            @property_hash[field]
-        end
-    end
-
-    def add_options
-        options = []
-        if @resource[:temporary] == :true
-            options << "-t"
-        end
-
-        if address_type = @resource[:address_type]
-            options << "-T" << address_type
-        end
-
-        if address = @resource[:address]
-            options << "-a" << "local=#{address}"
-        end
-
-        if remote_address = @resource[:remote_address]
-            options << "-a" << "remote=#{remote_address}"
-        end
-
-        if down = @resource[:down]
-            options << "-d" << down
-        end
-
-        if seconds = @resource[:seconds]
-            options << "-w" << seconds
-        end
-
-        if hostname = @resource[:hostname]
-            options << "-h" << hostname
-        end
-
-        if interface_id = @resource[:interface_id]
-            options << "-i" << "local=#{interface_id}"
-        end
-
-        if remote_interface_id = @resource[:remote_interface_id]
-            options << "-i" << "remote=#{remote_interface_id}"
-        end
-
-        if stateful = @resource[:stateful]
-            options << "-p" << "stateful=#{stateful}"
-        end
-
-        if stateless = @resource[:stateless]
-            options << "-p" << "stateless=#{stateless}"
-        end
-        options
-    end
-
-    def exists?
-        @property_hash[:ensure] == :present
-    end
-
-    def create
-        ipadm("create-addr", add_options, @resource[:name])
-        if @resource[:enable] == :true
-            ipadm("enable-addr", @resource[:name])
-        end
-    end
-
-    def destroy
-        ipadm("delete-addr", @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/address_properties/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:address_properties).provide(:address_properties) do
-    desc "Provider for managing Oracle Solaris address object properties"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :ipadm => '/usr/sbin/ipadm'
-
-    def initialize(value={})
-        super(value)
-        @addrprops = {}
-    end
-
-    def self.instances
-        props = {}
-
-        ipadm("show-addrprop", "-c", "-o", "ADDROBJ,PROPERTY,CURRENT").split(
-              "\n").collect do |line|
-            addrobj, property, value = line.strip().split(":")
-            next if value == nil
-            if not props.has_key? addrobj
-                props[addrobj] = {}
-            end
-            props[addrobj][property] = value
-        end
-
-        addresses = []
-        props.each do |key, value|
-            addresses << new(:name => key,
-                             :ensure => :present,
-                             :properties => value)
-        end
-        addresses
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        props = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = props.find{ |prop| prop.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def properties
-        @property_hash[:properties]
-    end
-
-    def properties=(value)
-        value.each do |key, value|
-            ipadm("set-addrprop", "-p", "#{key}=#{value}", @resource[:name])
-        end
-    end
-
-    def exists?
-        if @resource[:properties] == nil
-            return :false
-        end
-
-        @resource[:properties].each do |key, value|
-            p = exec_cmd(command(:ipadm), "show-addrprop","-c", "-p", key,
-                         "-o", "CURRENT", @resource[:address])
-            if p[:exit] == 1
-                Puppet.warning "Property '#{key}' not found for address " \
-                               "#{@resource[:address]}"
-                next
-            end
-
-            if p[:out].strip != value
-                @addrprops[key] = value
-            end
-        end
-
-        return @addrprops.empty?
-    end
-
-    def create
-        @addrprops.each do |key, value|
-            ipadm("set-addrprop", "-p", "#{key}=#{value}", @resource[:address])
-        end
-    end
-
-    def exec_cmd(*cmd)
-        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
-        {:out => output, :exit => $CHILD_STATUS.exitstatus}
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/boot_environment/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:boot_environment).provide(:boot_environment) do
-    desc "Provider for Oracle Solaris Boot Environments (BEs)"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :beadm => '/usr/sbin/beadm', :zpool => '/usr/sbin/zpool'
-
-    def self.instances
-        beadm(:list, "-H").split("\n").collect do |line|
-            data = line.split(";")
-            name = data[0]
-            if data[2].include? "R"
-                activate = :true
-            else
-                activate = :false
-            end
-
-            new(:name => name,
-                :ensure => :present,
-                :activate => activate)
-        end
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        bes = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = bes.find{ |be| be.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def activate
-        @property_hash[:activate]
-    end
-
-    def activate=(value)
-        if value == :true
-            beadm("activate", @resource[:name])
-        end
-    end
-
-    def exists?
-        @property_hash[:ensure] == :present
-    end
-
-    def build_flags
-        flags = []
-
-        if description = @resource[:description]
-            flags << "-d" << "'#{description}'"
-        end
-
-        if clone_be = @resource[:clone_be]
-            if clone_be.include? "@"
-                if beadm(:list, "-H", "-s").split("\n").detect \
-                    { |line| line.split(";")[1] == clone_be }
-                        flags << "-e" << clone_be
-                else
-                    Puppet.warning "BE #{clone_be} not found.  Skipping -e
-                                    argument."
-                end
-            else
-                if beadm(:list, "-H").split("\n").detect \
-                    { |line| line.split(";")[0] == clone_be }
-                        flags << "-e" << clone_be
-                else
-                    Puppet.warning "BE #{clone_be} not found.  Skipping -e 
-                                    argument."
-                end
-            end
-        end
-
-        if options = @resource[:options]
-            options.each { |key, value| flags << "-o" << "#{key}=#{value}" }
-        end
-
-        if zp = @resource[:zpool]
-            found = false
-            for line in zpool(:list, "-o", "name", "-H").each_line do
-                if zp == line.strip
-                    found = true
-                    flags << "-p" << zp
-                end
-            end
-            if not found
-                raise Puppet::Error, \
-                    "Unable to create BE in zpool #{zp} -- #{zp} does not exist"
-            end
-        end
-        flags
-    end
-
-    def create
-        beadm(:create, build_flags, @resource[:name])
-        if @resource[:activate] == :true
-            beadm(:activate, @resource[:name])
-        end
-    end
-
-    def destroy
-        if beadm(:list, "-H", @resource[:name]).split(";")[2] =~ /N/
-            Puppet.warning "Unable to destroy #{@resource[:name]} as it is 
-                            the active BE."
-        else
-            beadm(:destroy, "-f", "-F", @resource[:name])
-        end
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/dns/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:dns).provide(:dns) do
-    desc "Provider for management of DNS for Oracle Solaris"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :svccfg => '/usr/sbin/svccfg', :svcprop => '/usr/bin/svcprop'
-
-    Dns_fmri = "svc:/network/dns/client"
-
-    def self.instances
-        props = {}
-        svcprop("-p", "config", Dns_fmri).split("\n").each do |line|
-            fullprop, type, value = line.split(" ", 2)
-            pg, prop = fullprop.split("/")
-            props[prop] = value \
-                if Puppet::Type.type(:dns).validproperties.include? prop
-        end
-
-        props[:name] = "current"
-        return Array new(props)
-    end
-
-    Puppet::Type.type(:dns).validproperties.each do |field|
-        define_method(field) do
-            begin
-                svcprop("-p", "config/" + field.to_s, Dns_fmri).strip()
-            rescue
-                # if the property isn't set, don't raise an error
-                nil
-            end
-        end
-
-        define_method(field.to_s + "=") do |should|
-            begin
-                if should.is_a? Array
-                    # in Solaris 11, the list of values needs to be single
-                    # argument to svccfg.
-                    values = ""
-                    for entry in should
-                        values += "\"#{entry}\" "
-                    end
-                    values = "(" + values + ")"
-                    svccfg("-s", Dns_fmri, "setprop",
-                           "config/" + field.to_s, "=", values)
-                else
-                    # Puppet seems to get confused about when to pass an empty
-                    # string or "\"\"".  Catch either condition to handle
-                    # passing values to SMF correctly
-                    if should.to_s.empty? or should.to_s == '""'
-                        value = should.to_s
-                    else
-                        value = "\"" + should.to_s + "\""
-                    end
-                    svccfg("-s", Dns_fmri, "setprop",
-                           "config/" + field.to_s, "=", value)
-                end
-            rescue => detail
-                raise Puppet::Error,
-                    "Unable to set #{field.to_s} to #{should.inspect}\n"
-                    "#{detail}\n"
-            end
-        end
-    end
-
-    def flush
-        svccfg("-s", Dns_fmri, "refresh")
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/etherstub/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:etherstub).provide(:etherstub) do
-    desc "Provider for creating Solaris etherstubs"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :dladm => '/usr/sbin/dladm'
-
-    def self.instances
-        dladm("show-etherstub", "-p", "-o", "link").split(
-              "\n").collect do |line|
-            link = line.strip()
-            new(:name => link, :ensure => :present)
-        end
-    end
-
-    def add_options
-        options = []
-        if @resource[:temporary] == :true
-            options << "-t"
-        end
-        options
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        etherstubs = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = etherstubs.find{ |etherstub| etherstub.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def exists?
-        @property_hash[:ensure] == :present
-    end
-
-    def create
-        dladm("create-etherstub", add_options, @resource[:name])
-    end
-
-    def destroy
-        dladm("delete-etherstub", add_options, @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/interface_properties/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:interface_properties).provide(:interface_properties) do
-    desc "Provider for managing Oracle Solaris interface properties"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :ipadm => '/usr/sbin/ipadm'
-
-    def initialize(value={})
-        super(value)
-        @ifprops = {}
-    end
-
-    def self.instances
-        props = {}
-
-        ipadm("show-ifprop", "-c", "-o",
-              "IFNAME,PROPERTY,PROTO,CURRENT").split("\n").collect do |line|
-            ifname, property, proto, value = line.strip().split(":")
-            fullname = ifname + "/" + proto
-            if not props.has_key? fullname
-                props[fullname] = {}
-            end
-            props[fullname][property] = value
-        end
-
-        interfaces = []
-        props.each do |key, value|
-            interfaces << new(:name => key,
-                              :ensure => :present,
-                              :properties => value)
-        end
-        interfaces
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        props = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = props.find{ |prop| prop.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def properties
-        @property_hash[:properties]
-    end
-
-    def properties=(value)
-        value.each do |key, value|
-            ipadm("set-ifprop", "-p", "#{key}=#{value}", @resource[:name])
-        end
-    end
-
-    def exists?
-        if @resource[:properties] == nil
-            return :false
-        end
-
-        ifname, protocol = @resource[:interface].split("/")
-
-        @resource[:properties].each do |key, value|
-            p = exec_cmd(command(:ipadm), "show-ifprop", "-m", protocol,
-                         "-p", key, "-c", "-o", "CURRENT", ifname)
-
-            if p[:exit] == 1
-                Puppet.warning "Property '#{key}' not found for interface
-                                #{ifname}"
-                next
-            end
-
-            if p[:out].strip != value
-                @ifprops[key] = value
-            end
-        end
-
-        return @ifprops.empty?
-    end
-
-    def create
-        name, proto = @resource[:interface].split("/")
-        @ifprops.each do |key, value|
-            ipadm("set-ifprop", "-m", proto, "-p", "#{key}=#{value}", name)
-        end
-    end
-
-    def exec_cmd(*cmd)
-        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
-        {:out => output, :exit => $CHILD_STATUS.exitstatus}
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:ip_interface).provide(:ip_interface) do
-    desc "Provider for management of IP interfaces for Oracle Solaris"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :ipadm => '/usr/sbin/ipadm', :dladm => '/usr/sbin/dladm'
-
-    def self.instances
-        (dladm("show-link", "-p", "-o", "link").split("\n") &
-         ipadm("show-if", "-p", "-o", "ifname").split("\n")).collect do |ifname|
-            new(:name => ifname,
-                :ensure => :present)
-        end
-    end
-
-    def add_options
-       options = []
-       if @resource[:temporary] == :true
-         options << "-t"
-       end
-       options
-    end
-
-    def exists?
-        ipadm("show-if", "-p", "-o", "IFNAME").split(
-              "\n").include? @resource[:name]
-    end
-
-    def create
-        ipadm('create-ip', add_options, @resource[:name])
-    end
-
-    def destroy
-        ipadm('delete-ip', @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/ip_tunnel/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:ip_tunnel).provide(:ip_tunnel) do
-    desc "Provider for managing Oracle Solaris IP Tunnel links"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :dladm => '/usr/sbin/dladm'
-
-    def self.instances
-        dladm("show-iptun", "-p", "-o", "link,type,local,remote").split(
-              "\n").collect do |line|
-            link, type, local, remote = line.split(":")
-            new(:name => link,
-                :ensure => :present,
-                :tunnel_type => type,
-                :local_address => local,
-                :remote_address => remote)
-        end
-    end
-        
-    def self.prefetch(resources)
-        # pull the instances on the system
-        ip_tunnels = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = ip_tunnels.find{ |ip_tunnel| ip_tunnel.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    [:tunnel_type, :local_address, :remote_address].each do |field|
-        define_method(field) do
-            begin
-                @property_hash[field]
-            end
-        end
-    end
-
-    def local_address=(value)
-        dladm("modify-iptun", "-a", "local=#{value}", @resource[:name])
-    end
-
-    def remote_address=(value)
-        dladm("modify-iptun", "-a", "remote=#{value}", @resource[:name])
-    end
-
-    def add_options
-       options = []
-       if @resource[:temporary] == :true
-         options << "-t"
-       end
-
-       if tunnel_type = @resource[:tunnel_type] and tunnel_type != nil
-           options << "-T" << resource[:tunnel_type]
-       end
-
-       if local = @resource[:local_address] and local != nil
-           options << "-a" << "local=#{local}"
-       end
-
-       if remote = @resource[:remote_address] and remote != nil
-           options << "-a" << "remote=#{remote}"
-       end
-       options
-    end
-
-    def exists?
-        @property_hash[:ensure] == :present
-    end
-
-    def create
-        dladm('create-iptun', add_options, @resource[:name])
-    end
-
-    def destroy
-        dladm('delete-iptun', @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/ipmp_interface/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:ipmp_interface).provide(:ipmp_interface) do
-    desc "Provider for management of IPMP interfaces for Oracle Solaris"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :ipadm => '/usr/sbin/ipadm'
-
-    def self.instances
-        ifaces = []
-        ipadm("show-if", "-p", "-o", "IFNAME,CLASS,OVER").each_line do |line|
-            name, linkclass, over = line.strip().split(":", 3)
-            next if linkclass != "ipmp"
-            ifaces << new(:name => name.strip(),
-                          :ensure => :present,
-                          :interfaces => over)
-        end
-        ifaces
-    end
-        
-    def self.prefetch(resources)
-        # pull the instances on the system
-        ifaces = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = ifaces.find{ |iface| iface.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def interfaces
-        @property_hash[:interfaces]
-    end
-
-    def interfaces=(value)
-        current = self.interfaces.split()
-
-        remove_list = []
-        for entry in current - value
-            remove_list << "-i" << entry
-        end
-
-        add_list = []
-        for entry in value - current
-            add_list << "-i" << entry
-        end
-
-        if not add_list.empty?
-            ipadm("add-ipmp", add_list, @resource[:name])
-        end
-
-        if not remove_list.empty?
-            ipadm("remove-ipmp", remove_list, @resource[:name])
-        end
-    end
-
-    def add_options
-        options = []
-        if @resource[:temporary] == :true
-            options << "-t"
-        end
-        for iface in @resource[:interfaces] do
-            options << "-i" << iface
-        end
-        options
-    end
-
-    def exists?
-        @property_hash[:ensure] == :present
-    end
-
-    def create
-        ipadm('create-ipmp', add_options, @resource[:name])
-    end
-
-    def destroy
-        for iface in self.interfaces.each_line do
-            ipadm("remove-ipmp", "-i", iface, @resource[:name])
-        end
-        ipadm('delete-ipmp', @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/ldap/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:ldap).provide(:ldap) do
-    desc "Provider for management of the LDAP client for Oracle Solaris"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :svccfg => '/usr/sbin/svccfg', :svcprop => '/usr/bin/svcprop'
-
-    Ldap_fmri = "svc:/network/ldap/client"
-
-    def initialize(resource)
-        super
-        @refresh_needed = false
-    end
-
-    def self.instances
-        if Process.euid != 0
-            return []
-        end
-        props = {}
-        validprops = Puppet::Type.type(:ldap).validproperties
-
-        svcprop("-p", "config", Ldap_fmri).each_line.collect do |line|
-            data = line.split()
-            fullprop = data[0]
-            type = data[1]
-            if data.length > 2
-                value = data[2..-1].join(" ")
-            else
-                value = nil
-            end
-
-            pg, prop = fullprop.split("/")
-            props[prop] = value if validprops.include? prop.to_sym
-        end
-        begin
-            props[:bind_passwd] = svcprop("-p", "cred/bind_passwd",
-                                          "svc:/network/ldap/client").strip
-        rescue
-        end
-
-        props[:name] = "current"
-        return Array new(props)
-    end
-
-    Puppet::Type.type(:ldap).validproperties.each do |field|
-        # get the property group
-        pg = Puppet::Type.type(:ldap).propertybyname(field).pg
-        define_method(field) do
-            begin
-                svcprop("-p", pg + "/" + field.to_s, Ldap_fmri).strip()
-            rescue
-                # if the property isn't set, don't raise an error
-                nil
-            end
-        end
-
-        define_method(field.to_s + "=") do |should|
-            begin
-                if should.is_a? Array
-                    should.collect! { |value| value.to_s }
-
-                    # in Solaris 11, the list of values needs to be single
-                    # argument to svccfg.
-                    values = ""
-                    for entry in should
-                        values += "\"#{entry}\" "
-                    end
-                    values = "(" + values + ")"
-                    svccfg("-s", Ldap_fmri, "setprop",
-                           pg + "/" + field.to_s, "=", values)
-                else
-                    # Puppet seems to get confused about when to pass an empty
-                    # string or "\"\"".  Catch either condition to handle
-                    # passing values to SMF correctly
-                    if should.to_s.empty? or should.to_s == '""'
-                        value = should.to_s
-                    else
-                        value = "\"" + should.to_s + "\""
-                    end
-                    svccfg("-s", Ldap_fmri, "setprop",
-                           pg + "/" + field.to_s, "=", value)
-                end
-                @refresh_needed = true
-            rescue => detail
-                raise Puppet::Error,
-                    "Unable to set #{field.to_s} to #{should.inspect}\n"
-                    "#{detail}\n"
-            end
-        end
-    end
-
-    def flush
-        if @refresh_needed == true
-            svccfg("-s", Ldap_fmri, "refresh")
-        end
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:link_aggregation).provide(:link_aggregation) do
-    desc "Provider for creating Oracle Solaris link aggregations"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :dladm => '/usr/sbin/dladm'
-
-    def self.instances
-        dladm("show-aggr", "-p", "-o",
-              "link,mode,policy,addrpolicy,lacpactivity,lacptimer").split(
-              "\n").collect do |line|
-            link, mode, policy, addrpolicy, lacpactivity, lacptimer = \
-                line.split(":")
-
-            links = []
-            dladm("show-aggr", "-x", "-p", "-o", "port", link).split(
-                  "\n").each do |portline|
-                next if portline.strip() == ""
-                links << portline.strip()
-            end
-
-            new(:name => link,
-                :ensure => :present,
-                :lower_links => links.join(" "),
-                :mode => mode,
-                :policy => policy,
-                :address => addrpolicy,
-                :lacpmode => lacpactivity,
-                :lacptimer => lacptimer)
-        end
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        aggrs = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = aggrs.find{ |aggr| aggr.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    # property getters
-    [:lower_links, :mode, :policy, :lacpmode, :lacptimer,
-     :address].each do |field|
-        define_method(field) do
-            @property_hash[field]
-        end
-    end
-
-    # property setters
-    def lower_links=(value)
-        is_temporary?(@resource[:name])
-        current = self.lower_links.split()
-        remove_list = []
-        for entry in current - value
-            remove_list << "-l" << entry
-        end
-
-        add_list = []
-        for entry in value - current
-            add_list << "-l" << entry
-        end
-
-        if not add_list.empty?
-            dladm("add-aggr", add_list, @resource[:name])
-        end
-
-        if not remove_list.empty?
-            dladm("remove-aggr", remove_list, @resource[:name])
-        end
-    end
-
-    def mode=(value)
-        is_temporary?(@resource[:name])
-        dladm("modify-aggr", "-m", value, @resource[:name])
-    end
-
-    def policy=(value)
-        is_temporary?(@resource[:name])
-        dladm("modify-aggr", "-P", value, @resource[:name])
-    end
-
-    def lacpmode=(value)
-        is_temporary?(@resource[:name])
-        dladm("modify-aggr", "-L", value, @resource[:name])
-    end
-
-    def lacptimer=(value)
-        is_temporary?(@resource[:name])
-        dladm("modify-aggr", "-T", value, @resource[:name])
-    end
-
-    def address=(value)
-        is_temporary?(@resource[:name])
-        dladm("modify-aggr", "-u", value, @resource[:name])
-    end
-
-    def add_options
-        options = []
-        if @resource[:temporary] == :true
-            options << "-t"
-        end
-
-        if lowerlinks = @resource[:lower_links]
-            if lowerlinks.is_a? Array
-                for link in lowerlinks
-                    options << "-l" << link
-                end
-            else
-                options << "-l" << lowerlinks
-            end
-        end
-
-        if mode = @resource[:mode]
-            options << "-m" << mode
-        end
-
-        if policy = @resource[:policy]
-            options << "-P" << policy
-        end
-
-        if lacpmode = @resource[:lacpmode]
-            options << "-L" << lacpmode
-        end
-
-        if lacptimer = @resource[:lacptimer]
-            options << "-T" << lacptimer
-        end
-
-        if address = @resource[:address]
-            options << "-u" << address
-        end
-        options
-    end
-
-    def exists?
-        @property_hash[:ensure] == :present
-    end
-
-    def create
-        dladm("create-aggr", add_options, @resource[:name])
-    end
-
-    def destroy
-        dladm("delete-aggr", add_options, @resource[:name])
-    end
-
-    def is_temporary?(name)
-        p = exec_cmd(command(:dladm), "show-aggr", "-P", name)
-        raise Puppet::Error, "Unable to change attributes of temporary " \
-            "aggregation #{@resource[:name]}" if p[:exit] == 1
-    end
-
-    def exec_cmd(*cmd)
-        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
-        {:out => output, :exit => $CHILD_STATUS.exitstatus}
-    end
-end
-
--- a/components/puppet/files/solaris/lib/puppet/provider/link_properties/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:link_properties).provide(:link_properties) do
-    desc "Provider for managing Oracle Solaris link properties"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :dladm => '/usr/sbin/dladm'
-
-    def initialize(value={})
-        super(value)
-        @linkprops = {}
-    end
-
-    def self.instances
-        dladm("show-link", "-p", "-o", "link").
-        split("\n").collect do |link|
-            props = {}
-            dladm("show-linkprop", "-c", "-o", "property,value",
-                  link.strip()).split("\n").collect do |line|
-                next if line.strip.end_with? ":"
-                data = line.split(":", 2)
-                name, value = data
-                props[name] = value.delete("\\")  # remove the escape character
-            end
-
-            new(:name => link.strip(),
-                :ensure => :present,
-                :properties => props)
-        end
-    end
-
-    def properties
-        @property_hash[:properties]
-    end
-
-    def properties=(value)
-        value.each do |key, value|
-            dladm("set-linkprop", "-p", "#{key}=#{value}", @resource[:name])
-        end
-    end
-
-    def add_properties
-        return [] if not @linkprops
-        if @linkprops
-            a = []
-            @linkprops.each do |key, value|
-                a << "#{key}=#{value}"
-            end
-        end
-        properties = Array["-p", a.join(",")]
-    end
-
-    def exists?
-        if @resource[:properties] == nil
-            return :false
-        end
-
-        @resource[:properties].each do |key, value|
-            p = exec_cmd(command(:dladm), "show-linkprop", @resource[:link],
-                         "-c", "-p", key, "-o", "value")
-            if p[:exit] == 1
-                Puppet.warning "Property '#{key}' not found for link " \
-                               "#{@resource[:link]}"
-                next
-            end
-
-            if p[:out].strip != value
-                @linkprops[key] = value
-            end
-        end
-
-        return @linkprops.empty?
-    end
-
-    def create
-        dladm("set-linkprop", add_properties, @resource[:link])
-    end
-
-    def exec_cmd(*cmd)
-        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
-        {:out => output, :exit => $CHILD_STATUS.exitstatus}
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/nis/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:nis).provide(:nis) do
-    desc "Provider for management of NIS client for Oracle Solaris"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :svccfg => '/usr/sbin/svccfg', :svcprop => '/usr/bin/svcprop'
-
-    class << self; attr_accessor :client_fmri, :domain_fmri end
-    Client_fmri = "svc:/network/nis/client"
-    Domain_fmri = "svc:/network/nis/domain"
-
-    def initialize(value={})
-        super(value)
-        @client_refresh = false
-        @domain_refresh = false
-    end
-
-    def self.instances
-        props = {}
-        validprops = Puppet::Type.type(:nis).validproperties
-
-        [Client_fmri, Domain_fmri].each do |svc|
-            svcprop("-p", "config", svc).split("\n").collect do |line|
-                data = line.split()
-                fullprop = data[0]
-                type = data[1]
-                if data.length > 2
-                    value = data[2..-1].join(" ")
-                else
-                    value = nil
-                end
-
-                pg, prop = fullprop.split("/")
-                props[prop] = value if validprops.include? prop.to_sym
-            end
-        end
-        props[:name] = "current"
-        return Array new(props)
-    end
-
-    # svc:/network/nis/client properties
-    [:use_broadcast, :use_ypsetme].each do |field|
-        define_method(field) do
-            begin
-                svcprop("-p", "config/" + field.to_s, Client_fmri).strip()
-            rescue
-                # if the property isn't set, don't raise an error
-                nil
-            end
-        end
-
-        define_method(field.to_s + "=") do |should|
-            begin
-                if not should.to_s.empty?
-                    value = "\"" + should.to_s + "\""
-                else
-                    value = should.to_s
-                end
-                svccfg("-s", Client_fmri, "setprop", "config/" + field.to_s,
-                       "=", value)
-            rescue => detail
-                raise Puppet::Error,
-                    "Unable to set #{field.to_s} to #{should.inspect}\n"
-                    "#{detail}\n"
-            end
-            @client_refresh = true
-        end
-    end
-
-    # svc:/network/nis/domain properties
-    [:domainname, :ypservers, :securenets].each do |field|
-        define_method(field) do
-            begin
-                svcprop("-p", "config/" + field.to_s, Domain_fmri).strip()
-            rescue
-                # if the property isn't set, don't raise an error
-                nil
-            end
-        end
-
-        define_method(field.to_s + "=") do |should|
-            begin
-                if should.is_a? Array
-                    # in Solaris 11, the list of values needs to be single
-                    # argument to svccfg.
-                    values = ""
-                    for entry in should
-                        values += "\"#{entry}\" "
-                    end
-                    values = "(" + values + ")"
-                    svccfg("-s", Domain_fmri, "setprop",
-                           "config/" + field.to_s, "=", values)
-                else
-                    # Puppet seems to get confused about when to pass an empty
-                    # string or "\"\"".  Catch either condition to handle
-                    # passing values to SMF correctly
-                    if should.to_s.empty? or should.to_s == '""'
-                        value = should.to_s
-                    else
-                        value = "\"" + should.to_s + "\""
-                    end
-                    svccfg("-s", Domain_fmri, "setprop",
-                           "config/" + field.to_s, "=", value)
-                end
-            rescue => detail
-                raise Puppet::Error,
-                    "Unable to set #{field.to_s} to #{should.inspect}\n"
-                    "#{detail}\n"
-            end
-            @domain_refresh = true
-        end
-    end
-
-    def flush
-        if @domain_refresh == true
-            svccfg("-s", Domain_fmri, "refresh")
-        end
-        if @client_refresh == true
-            svccfg("-s", Client_fmri, "refresh")
-        end
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/nsswitch/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:nsswitch).provide(:nsswitch) do
-    desc "Provider for name service switch configuration data"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :svccfg => '/usr/sbin/svccfg', :svcprop => '/usr/bin/svcprop'
-
-    Nsswitch_fmri = "svc:/system/name-service/switch"
-
-    def self.instances
-        props = {}
-        svcprop("-p", "config", Nsswitch_fmri).each_line.collect do |line|
-            fullprop, type, value = line.split(" ", 2)
-            pg, prop = fullprop.split("/")
-            props[prop] = value \
-                if Puppet::Type.type(:nsswitch).validproperties.include? prop
-        end
-
-        props[:name] = "current"
-        return Array new(props)
-    end
-
-    Puppet::Type.type(:nsswitch).validproperties.each do |field|
-        define_method(field) do
-            begin
-                out = svcprop("-p", "config/" + field.to_s,
-                              Nsswitch_fmri).strip()
-                out = out.delete("\\")
-            rescue
-                # if the property isn't set, don't raise an error
-                nil
-            end
-        end
-
-        define_method(field.to_s + "=") do |should|
-            begin
-                svccfg("-s", Nsswitch_fmri, "setprop",
-                       "config/" + field.to_s, "=", '"' + should + '"')
-            rescue => detail
-                raise Puppet::Error,
-                    "Unable to set #{field.to_s} to #{should.inspect}\n"
-                    "#{detail}\n"
-            end
-        end
-    end
-
-    def flush
-        svccfg("-s", Nsswitch_fmri, "refresh")
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/pkg_facet/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:pkg_facet).provide(:pkg_facet) do
-    desc "Provider for Oracle Solaris facets"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :pkg => '/usr/bin/pkg'
-
-    def self.instances
-        pkg(:facet, "-H", "-F", "tsv").split("\n").collect do |line|
-            name, value = line.split
-            new(:name => name,
-                :ensure => :present,
-                :value => value.downcase)
-        end 
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        facets = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = facets.find{ |facet| facet.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def value
-        @property_hash[:value]
-    end
-
-    def exists?
-        # only compare against @resource if one is provided via manifests
-        if @property_hash[:ensure] == :present and @resource[:value] != nil
-            # retrieve the string representation of @resource[:value] since it
-            # gets translated to an object by Puppet
-            return (@property_hash[:ensure] == :present and \
-                    @property_hash[:value].downcase == \
-                        @resource[:value].downcase)
-        end
-        @property_hash[:ensure] == :present
-    end
-
-    # required puppet functions
-    def create
-        pkg("change-facet", "#{@resource[:name]}=#{@resource[:value]}")
-    end
-
-    def destroy
-        pkg("change-facet", "#{@resource[:name]}=None")
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/pkg_mediator/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:pkg_mediator).provide(:pkg_mediator) do
-    desc "Provider for Oracle Solaris mediators"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :pkg => '/usr/bin/pkg'
-
-    def self.instances
-        pkg(:mediator, "-H", "-F", "tsv").split("\n").collect do |line|
-            name, ver_src, version, impl_src, impl, impl_ver = line.split("\t")
-            
-            # Because implementation is an optional parameter, it may not be set.
-            # If the implementation is not set, that needs to be captured in 
-            # the output.
-            if not impl
-                impl = 'None'
-            end
-
-            new(:name => name,
-                :ensure => :present,
-                :implementation => impl,
-                :version => version)
-        end 
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        mediators = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = mediators.find{ |mediator| mediator.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def exists?
-        # only compare against @resource if one is provided via manifests
-        if @property_hash[:ensure] == :present and @resource[:version] != nil
-            return (@property_hash[:ensure] == :present and \
-                   @property_hash[:version] == @resource[:version])
-        end
-        @property_hash[:ensure] == :present
-    end
-
-    def version
-        @property_hash[:version]
-    end
-
-    def implementation
-        @property_hash[:implementation]
-    end
-
-    def build_flags
-        flags = []
-        if version = @resource[:version] and version != nil
-            flags << "-V" << @resource[:version]
-        end
-
-        if implementation = @resource[:implementation] and implementation != nil
-            flags << "-I" << @resource[:implementation]
-        end
-        flags
-    end
-
-    # required puppet functions
-    def create
-        pkg("set-mediator", build_flags, @resource[:name])
-    end
-
-    def destroy
-        pkg("unset-mediator", build_flags, @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/pkg_publisher/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:pkg_publisher).provide(:pkg_publisher) do
-    desc "Provider for Solaris publishers"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :pkg => '/usr/bin/pkg'
-
-    def self.instances
-        publishers = {}
-        publisher_order = []
-        pkg(:publisher, "-H", "-F", "tsv").split("\n").collect do |line|
-            name, sticky, syspub, enabled, type, status, origin, proxy = \
-                line.split("\t")
-
-            # set the order of the publishers
-            if not publisher_order.include?("name")
-                publisher_order << name
-            end
-
-            # strip off any trailing "/" characters
-            if origin.end_with?("/")
-                origin = origin[0..-2]
-            end
-
-            if publishers.has_key?(name)
-                # if we've seen this publisher before, simply update the origin
-                # array
-                publishers[name]["origin"] << origin
-            else
-                # create a new hash entry for this publisher
-                publishers[name] = {'sticky' => sticky, 'enable' => enabled,
-                                    'origin' => Array[origin]}
-                publishers[name]["proxy"] = proxy if proxy != "-"
-
-                index = publisher_order.index(name)
-                if index == 0
-                    publishers[name]["searchfirst"] = true
-                    publishers[name]["searchafter"] = nil
-                else
-                    publishers[name]["searchfirst"] = nil
-                    publishers[name]["searchafter"] = publisher_order[index-1]
-                end
-            end
-        end
-
-        # create new entries for the system
-        publishers.keys.collect do |publisher|
-            new(:name => publisher,
-                :ensure => :present,
-                :sticky => publishers[publisher]["sticky"],
-                :enable => publishers[publisher]["enable"],
-                :origin => publishers[publisher]["origin"],
-                :proxy => publishers[publisher]["proxy"],
-                :searchfirst => publishers[publisher]["searchfirst"],
-                :searchafter => publishers[publisher]["searchafter"],
-                :searchbefore => nil,
-                :sslkey => nil,
-                :sslcert => nil)
-        end
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        publishers = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = publishers.find{ |publisher| publisher.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    # property getters - each getter does exactly the same thing so create
-    # dynamic methods to handle them
-    [:sticky, :enable, :origin, :proxy, :searchfirst, :searchafter,
-     :searchbefore, :sslkey, :sslcert].each do |property|
-        define_method(property) do
-            begin
-                @property_hash[property]
-            rescue
-            end
-        end
-    end
-
-    def exists?
-        # only compare against @resource if one is provided via manifests
-        if @property_hash[:ensure] == :present and @resource[:origin] != nil
-            return @property_hash[:origin].sort() == @resource[:origin].sort()
-        end
-        @property_hash[:ensure] == :present
-    end
-
-    def build_origin
-        origins = []
-        
-        # add all the origins from the manifest
-        for o in @resource[:origin] do
-            origins << "-g" << o
-        end
-
-        # remove all the existing origins
-        if @property_hash != {}
-            for o in @property_hash[:origin] do
-                origins << "-G" << o
-            end
-        end
-        origins
-    end
-
-    def build_flags
-        flags = []
-
-        if searchfirst = @resource[:searchfirst] and searchfirst != ""
-            if searchfirst == :true
-                flags << "--search-first"
-            end
-        end
-
-        if sticky = @resource[:sticky] and sticky != nil
-            if sticky == :true
-                flags << "--sticky"
-            elsif sticky == :false
-                flags << "--non-sticky"
-            end
-        end
-
-        if searchafter = @resource[:searchafter] and searchafter != ""
-            if pkg(:publisher, "-H", "-F", "tsv").split("\n").detect \
-                { |line| line.split()[0] == searchafter }
-                    flags << "--search-after" << searchafter
-            else
-                Puppet.warning "Publisher #{searchafter} not found.  " \
-                               "Skipping --search-after argument"
-            end
-        end
-
-        if searchbefore = @resource[:searchbefore] and searchbefore != ""
-            if pkg(:publisher, "-H", "-F", "tsv").split("\n").detect \
-                { |line| line.split()[0] == searchbefore }
-                    flags << "--search-before" << searchbefore
-            else
-                Puppet.warning "Publisher #{searchbefore} not found.  " \
-                               "Skipping --search-before argument"
-            end
-        end
-
-        if proxy = @resource[:proxy]
-            flags << "--proxy" << proxy
-        end
-
-        if sslkey = @resource[:sslkey]
-            flags << "-k" << sslkey
-        end
-
-        if sslcert = @resource[:sslcert]
-            flags << "-c" << sslcert
-        end
-        flags
-    end
-
-    # property setters
-    def sticky=(value)
-        if value == :true
-            pkg("set-publisher", "--sticky", @resource[:name])
-        else
-            pkg("set-publisher", "--non-sticky", @resource[:name])
-        end
-    end
-
-    def enable=(value)
-        if value == :true
-            pkg("set-publisher", "--enable", @resource[:name])
-        else
-            pkg("set-publisher", "--disable", @resource[:name])
-        end
-    end
-
-    def searchfirst=(value)
-        if value == :true
-            pkg("set-publisher", "--search-first", @resource[:name])
-        end
-    end
-
-    def searchbefore=(value)
-        pkg("set-publisher", "--search-before", value, @resource[:name])
-    end
-
-    def searchafter=(value)
-        pkg("set-publisher", "--search-after", value, @resource[:name])
-    end
-
-    def proxy=(value)
-        pkg("set-publisher", "--proxy", value, @resource[:name])
-    end
-
-    def sslkey=(value)
-        pkg("set-publisher", "-k", value, @resource[:name])
-    end
-
-    def sslcert=(value)
-        pkg("set-publisher", "-c", value, @resource[:name])
-    end
-
-    # required puppet functions
-    def create
-        pkg("set-publisher", build_flags, build_origin, @resource[:name])
-        # pkg(5) does not allow for a new publisher to be set with the disabled
-        # flag, so check for it after setting the publisher
-        if enable = @resource[:enable] and enable != nil
-            if enable == :false
-                pkg("set-publisher", "--disable", @resource[:name])
-            end
-        end
-    end
-
-    def destroy
-        pkg("unset-publisher", @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/pkg_variant/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:pkg_variant).provide(:pkg_variant) do
-    desc "Provider for Oracle Solaris variants"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :pkg => '/usr/bin/pkg'
-
-    def self.instances
-        pkg(:variant, "-H", "-F", "tsv").split("\n").collect do |line|
-            name, value = line.split
-            new(:name => name,
-                :ensure => :present,
-                :value => value)
-        end 
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        variants = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = variants.find{ |variant| variant.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def value
-        @property_hash[:value]
-    end
-
-    def exists?
-        # only compare against @resource if one is provided via manifests
-        if @property_hash[:ensure] == :present and @resource[:value] != nil
-            # cast @resource[:value] to a string since it gets translated to an
-            # object by Puppet
-            return (@property_hash[:ensure] == :present and \
-                    @property_hash[:value] == @resource[:value].to_s)
-        end
-        @property_hash[:ensure] == :present
-    end
-
-    def create
-        pkg("change-variant", "#{@resource[:name]}=#{@resource[:value]}")
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/protocol_properties/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:protocol_properties).provide(:protocol_properties) do
-    desc "Provider for managing Oracle Solaris protocol object properties"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :ipadm => '/usr/sbin/ipadm'
-
-    def initialize(value={})
-        super(value)
-        @protoprops = {}
-    end
-
-    def self.instances
-        props = {}
-
-        ipadm("show-prop", "-c", "-o", "PROTO,PROPERTY,CURRENT").split(
-              "\n").collect do |line|
-            protocol, property, value = line.strip().split(":")
-            next if value == nil
-            if not props.has_key? protocol
-                props[protocol] = {}
-            end
-            props[protocol][property] = value
-        end
-
-        protocols = []
-        props.each do |key, value|
-            protocols << new(:name => key,
-                             :ensure => :present,
-                             :properties => value)
-        end
-        protocols
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        props = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = props.find{ |prop| prop.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def properties
-        @property_hash[:properties]
-    end
-
-    def properties=(value)
-        value.each do |key, value|
-            ipadm("set-prop", "-p", "#{key}=#{value}", @resource[:name])
-        end
-    end
-
-    def exists?
-        if @resource[:properties] == nil
-            return :false
-        end
-
-        @resource[:properties].each do |key, value|
-            p = exec_cmd(command(:ipadm), "show-prop","-c", "-p", key,
-                         "-o", "CURRENT", @resource[:protocol])
-            if p[:exit] == 1
-                Puppet.warning "Property '#{key}' not found for protocol " \
-                               "#{@resource[:protocol]}"
-                next
-            end
-
-            if p[:out].strip != value
-                @protoprops[key] = value
-            end
-        end
-
-        return @protoprops.empty?
-    end
-
-    def create
-        @protoprops.each do |key, value|
-            ipadm("set-prop", "-p", "#{key}=#{value}", @resource[:name])
-        end
-    end
-
-    def exec_cmd(*cmd)
-        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
-        {:out => output, :exit => $CHILD_STATUS.exitstatus}
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/solaris_vlan/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:solaris_vlan).provide(:solaris_vlan) do
-    desc "Provider for creating Solaris VLANs"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :dladm => '/usr/sbin/dladm'
-
-    def self.instances
-        dladm("show-vlan", "-p", "-o", "link,over,vid").split(
-              "\n").collect do |line|
-            link, over, vlanid = line.split(":")
-            new(:name => link,
-                :ensure => :present,
-                :lower_link => over,
-                :vlanid => vlanid)
-        end
-    end
-
-    def self.prefetch(resources)
-        # pull the instances on the system
-        vlans = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = vlans.find{ |vlan| vlan.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def lower_link
-        @property_hash[:lower_link]
-    end
-
-    def lower_link=(value)
-        dladm("modify-vlan", "-l", value, @resource[:name])
-    end
-
-    def vlanid
-        @property_hash[:vlanid]
-    end
-
-    def vlanid=(value)
-        dladm("modify-vlan", "-v", value, @resource[:name])
-    end
-
-    def add_options
-        options = []
-        if @resource[:temporary] == :true
-            options << "-t"
-        end
-        if @resource[:ensure] == :present and @resource[:force] == :true
-            options << "-f"
-        end
-        options
-    end
-
-    def exists?
-        @property_hash[:ensure] == :present
-    end
-
-    def create
-        dladm("create-vlan", add_options, "-l", @resource[:lower_link],
-              "-v", @resource[:vlanid], @resource[:name])
-    end
-
-    def destroy
-        dladm("delete-vlan", add_options, @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/svccfg/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:svccfg).provide(:svccfg) do
-    desc "Provider for svccfg actions on Oracle Solaris"
-    defaultfor :operatingsystem => :solaris
-    commands :svccfg => "/usr/sbin/svccfg", :svcprop => "/usr/bin/svcprop"
-
-    def exists?
-        p = exec_cmd(command(:svcprop), "-p", @resource[:property],
-                     @resource[:fmri])
-        if @resource[:ensure] == :absent
-            # only test for the existance of the property and not the value
-            return p[:exit] == 0
-        elsif @resource[:ensure] == :present
-            # if the property group or property doesn't exist at all, the exit
-            # code will be 1
-            return false if p[:exit] != 0
-
-            # turn @resource[:value] into a simple string by dropping the first
-            # and last array elements (the parens) and removing all double
-            # quotes
-            simple = @resource[:value][1..-2].join(" ")[1..-2].gsub(/\"/, "")
-
-            # For properties, check the value against what's in SMF.  For
-            # property groups, svcprop already verified the PG exists by not
-            # failing
-            if @resource[:property].include? "/"
-                return p[:out].strip == simple
-            else
-                return p[:exit] == 0
-            end
-        end
-    end
-
-    def create
-        # Check to see if the service instance exists
-        cmd = Array[command(:svccfg), "select", @resource[:fmri]]
-        svc_exist = exec_cmd(cmd)
-
-        # Raise an error if the entity does not exist
-        if svc_exist[:exit] != 0
-            raise Puppet::Error, "SMF entity #{@resource[:fmri]} does not exist"
-        end
-        
-        args = ["-s", @resource[:fmri]]
-
-        if @resource[:property].include? "/"
-            args << "setprop" << @resource[:property] << "="
-            if type = @resource[:type] and type != nil
-                args << @resource[:type] + ":"
-            end
-            args << @resource[:value]
-        else
-            args << "addpg" << @resource[:property] << @resource[:type]
-        end
-        svccfg(args)
-        svccfg("-s", @resource[:fmri], "refresh")
-    end
-
-    def destroy
-        if @resource[:property].include? "/"
-            svccfg("-s", @resource[:fmri], "delprop", @resource[:property])
-        else
-            svccfg("-s", @resource[:fmri], "delpg", @resource[:property])
-        end
-        svccfg("-s", @resource[:fmri], "refresh")
-    end
-
-    def delcust
-        list_cmd = Array[command(:svccfg), "-s", @resource[:fmri], "listprop",
-                         "-l", "admin"]
-        delcust_cmd = Array[command(:svccfg), "-s", @resource[:fmri]]
-        if @resource[:property] != nil
-            list_cmd += Array[@resource[:property]]
-            delcust_cmd += Array[@resource[:property]]
-        end
-
-        # look for any admin layer customizations for this entity
-        p = exec_cmd(list_cmd)
-        if p[:out].strip != ''
-            # there are admin customizations
-            if @resource[:property] == nil
-                svccfg("-s", @resource[:fmri], "delcust")
-            else
-                svccfg("-s", @resource[:fmri], "delcust", @resource[:property])
-            end
-            svccfg("-s", @resource[:fmri], "refresh")
-        end
-    end
-
-    def exec_cmd(*cmd)
-        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
-        {:out => output, :exit => $CHILD_STATUS.exitstatus}
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/vni_interface/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:vni_interface).provide(:vni_interface) do
-    desc "Provider for management of VNI interfaces for Oracle Solaris"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :ipadm => '/usr/sbin/ipadm'
-
-    def self.instances
-        vnis = []
-        ipadm("show-if", "-p", "-o", "IFNAME,CLASS").split(
-              "\n").each do |line|
-            ifname, ifclass = line.split(":", 2)
-            next if ifclass != "vni"
-            vnis << new(:name => ifname, :ensure => :present)
-        end
-        vnis
-    end
-
-    def add_options
-       options = []
-       if @resource[:temporary] == :true
-         options << "-t"
-       end
-       options
-    end
-
-    def exists?
-        p = exec_cmd(command(:ipadm), "show-if", "-p", "-o", "IFNAME,CLASS",
-                     @resource[:name])
-        if p[:exit] == 1
-            return false
-        end
-
-        ifname, ifclass = p[:out].strip().split(":", 2)
-        if ifclass == "vni"
-            return true
-        end
-
-        # for all other cases, return false
-        return false
-    end
-
-    def create
-        ipadm('create-vni', add_options, @resource[:name])
-    end
-
-    def destroy
-        ipadm('delete-vni', @resource[:name])
-    end
-
-    def exec_cmd(*cmd)
-        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
-        {:out => output, :exit => $CHILD_STATUS.exitstatus}
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/provider/vnic/solaris.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.type(:vnic).provide(:vnic) do
-    desc "Provider for creating VNICs in the Solaris OS"
-    confine :operatingsystem => [:solaris]
-    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :dladm => '/usr/sbin/dladm'
-
-    def self.instances
-        dladm("show-vnic", "-p", "-o", "link,over,macaddress").split(
-              "\n").collect do |line|
-            link, over, mac = line.split(":", 3)
-            new(:name => link,
-                :ensure => :present,
-                :lower_link => over,
-                :mac_address => mac.delete("\\"))  # remove the escape character
-        end
-    end
-        
-    def self.prefetch(resources)
-        # pull the instances on the system
-        vnics = instances
-
-        # set the provider for the resource to set the property_hash
-        resources.keys.each do |name|
-            if provider = vnics.find{ |vnic| vnic.name == name}
-                resources[name].provider = provider
-            end
-        end
-    end
-
-    def lower_link
-        @property_hash[:lower_link]
-    end
-
-    def lower_link=(value)
-        dladm("modify-vnic", "-l", value, @resource[:name])
-    end
-
-    def mac_address
-        @property_hash[:mac_address]
-    end
-
-    def mac_address=(value)
-        dladm("modify-vnic", "-m", value, @resource[:name])
-    end
-
-    def add_options
-       options = []
-       if @resource[:temporary] == :true
-         options << "-t"
-       end
-
-       if @resource[:mac_address]
-           options << "-m" << @resource[:mac_address]
-       end
-       options
-    end
-
-    def exists?
-        @property_hash[:ensure] == :present
-    end
-
-    def create
-        dladm('create-vnic', '-l', @resource[:lower_link], add_options,
-              @resource[:name])
-    end
-
-    def destroy
-        dladm('delete-vnic', @resource[:name])
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/address_object.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /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) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:address_object) do
-    @doc = "Manage the configuration of Oracle Solaris address objects"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the address object or interface"
-        isnamevar
-    end
-
-    newparam(:temporary) do
-        desc "Optional parameter that specifies that the address object is
-              temporary.  Temporary aggregation links last until the next
-              reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:address_type) do
-        desc "The type of address object to create.  Valid values are static,
-              dhcp, addrconf."
-        # add from_gz as a valid value, even though users should not specify it
-        newvalues(:static, :dhcp, :addrconf, :from_gz)
-    end
-
-    newproperty(:enable) do
-        desc "Specifies the address object should be enabled or disabled."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:address) do
-        desc "A literal IP address or a hostname corresponding to the local
-              end-point.  An optional prefix length may be specified.  Only
-              valid with an address_type of 'static'"
-    end
-
-    newproperty(:remote_address) do
-        desc "A literal IP address or a hostname corresponding to an optional
-              remote end-point.  An optional prefix length may be specified.
-              Only valid with an address_type of 'static'"
-    end
-
-    newproperty(:down) do
-        desc "Specifies that the configured address should be marked down.
-              Only valid with an address_type of 'static'."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:seconds) do
-        desc "Specifies the amount of time in seconds to wait until the
-              operation completes.  Only valid with an address_type of
-              'dhcp'.  Valid values are a numerical value in seconds or
-              'forever'"
-    end
-
-    newproperty(:hostname) do
-        desc "Specifies the hostname to which the client would like the DHCP
-              server to map the client's leased IPv4 address.  Only valid
-              with an address_type of 'dhcp'"
-    end
-
-    newproperty(:interface_id) do
-        desc "Specifies the local interface ID to be used for generating
-              auto-configured addresses.  Only valid with an address_type of
-              'addrconf'"
-    end
-
-    newproperty(:remote_interface_id) do
-        desc "Specifies an optional remote interface ID to be used for
-              generating auto-configured addresses.  Only valid with an
-              address_type of 'addrconf'"
-    end
-
-    newproperty(:stateful) do
-        desc "Specifies if stateful auto-configuration should be enabled or
-              not."
-        newvalues(:yes, :no)
-    end
-
-    newproperty(:stateless) do
-        desc "Specifies if stateless auto-configuration should be enabled or
-              not."
-        newvalues(:yes, :no)
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/address_properties.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:address_properties) do
-    @doc = "Manage Oracle Solaris address properties"
-
-    ensurable do
-        # remove the ability to specify :absent.  New values must be set.
-        newvalue(:present) do
-            provider.create
-        end
-    end
-
-    newparam(:address) do
-        desc "The name of the address object"
-        isnamevar
-    end
-
-    newparam(:temporary) do
-        desc "Optional parameter that specifies changes to the address object
-              are temporary.  Changes last until the next reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:properties) do
-        desc "A hash table of propname=propvalue entries to apply to an
-              address object"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/boot_environment.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:boot_environment) do
-    @doc = "Manage Oracle Solaris Boot Environments (BEs)"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The BE name"
-        validate do |value|
-            raise Puppet::Error, "Invalid BE name:  #{value}" unless
-                value =~ /^[\d\w\.\-\:\_]+$/
-        end
-        isnamevar
-    end
-
-    newparam(:description) do
-        desc "Description for the new BE"
-    end
-
-    newparam(:clone_be) do
-        desc "Create a new BE from an existing inactive BE"
-    end
-
-    newparam(:options) do
-        desc "Create the datasets for a new BE with specific ZFS
-              properties.  Specify options as a hash."
-    end
-
-    newparam(:zpool) do
-        desc "Create the new BE in the specified zpool"
-    end
-
-    newproperty(:activate) do
-        desc "Activate the specified BE"
-        newvalues(:true, :false)
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/dns.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-require 'ipaddr'
-require 'puppet/property/list'
-
-# DNS options
-simple_opts = ["debug", "rotate", "no-check-names", "inet6"]
-arg_opts =  ["ndots", "timeout", "retrans", "attempts", "retry"]
-
-Puppet::Type.newtype(:dns) do
-    @doc = "Manage the configuration of the DNS client for Oracle Solaris"
-
-    newparam(:name) do
-        desc "The symbolic name for the DNS client settings to use.  This name
-              is used for human reference only."
-        isnamevar
-    end
-
-    newproperty(:nameserver, :parent => Puppet::Property::List) do
-        desc "The IP address(es) the resolver is to query.  A maximum of
-              3 IP addresses may be specified.  Specify multiple IP addresses
-              as an array"
-
-        # ensure should remains an array as long as there's more than 1 entry
-        def should
-            if @should.length == 1
-                @should[0]
-            else
-                @should
-            end
-        end
-
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            if should.is_a? Array
-                is.sort == self.should.sort
-            end
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-        validate do |value|
-            begin
-                ip = IPAddr.new(value)
-            rescue ArgumentError
-                raise Puppet::Error, "nameserver IP address:  #{value} is 
-                    invalid"
-            end
-        end
-    end
-
-    newproperty(:domain) do
-        desc "The local domain name"
-    end
-
-    newproperty(:search, :parent => Puppet::Property::List) do
-        desc "The search list for host name lookup.  A maximum of 6 search
-              entries may be specified.  Specify multiple search entries as an
-              array."
-
-        # ensure should remains an array as long as there's more than 1 entry
-        def should
-            if @should.length == 1
-                @should[0]
-            else
-                @should
-            end
-        end
-
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            if should.is_a? Array
-                is.sort == self.should.sort
-            end
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-    end
-
-    newproperty(:sortlist, :parent => Puppet::Property::List) do
-        desc "Addresses returned by gethostbyname() to be sorted.  Entries must
-              be specified in IP 'slash notation'.  A maximum of 10 sortlist
-              entries may be specified.  Specify multiple entries as an array."
-
-        # ensure should remains an array as long as there's more than 1 entry
-        def should
-            if @should.length == 1
-                @should[0]
-            else
-                @should
-            end
-        end
-
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            if should.is_a? Array
-                is.sort == self.should.sort
-            end
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-        validate do |value|
-            begin
-                ip = IPAddr.new(value)
-            rescue ArgumentError
-                raise Puppet::Error, "sortlist IP address: #{value} is invalid"
-            end
-        end
-    end
-
-    newproperty(:options, :parent => Puppet::Property::List) do
-        desc "Set internal resolver variables.  Valid values are debug,
-              ndots:n, timeout:n, retrans:n, attempts:n, retry:n, rotate,
-              no-check-names, inet6.  For values with 'n', specify 'n' as an
-              integer.  Specify multiple options as an array."
-
-        # ensure should remains an array as long as there's more than 1 entry
-        def should
-            if @should.length == 1
-                @should[0]
-            else
-                @should
-            end
-        end
-
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            if should.is_a? Array
-                is.sort == self.should.sort
-            end
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-        validate do |value|
-            data = value.split(":")
-            if data.length == 1
-                raise Puppet::Error, "option #{value} is invalid" \
-                    if not simple_opts.include? data[0]
-            elsif data.length == 2
-                raise Puppet::Error, "option #{value} is invalid" \
-                    if not arg_opts.include? data[0]
-
-                # attempt to cast the integer specified
-                begin
-                    check = Integer(data[1])
-                rescue ArgumentError
-                    raise Puppet::Error, "option #{value} is invalid"
-                end 
-            else
-                raise Puppet::Error, "option #{value} is invalid"
-            end
-        end
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/etherstub.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:etherstub) do
-    @doc = "Manage the configuration of Solaris etherstubs"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the etherstub"
-        isnamevar
-    end
-
-    newparam(:temporary) do
-        desc "Optional parameter that specifies that the etherstub is 
-              temporary.  Temporary etherstubs last until the next reboot."
-        newvalues(:true, :false)
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/interface_properties.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:interface_properties) do
-    @doc = "Manage Oracle Solaris interface properties"
-
-    ensurable do
-        # remove the ability to specify :absent.  New values must be set.
-        newvalue(:present) do
-            provider.create
-        end
-    end
-
-    newparam(:interface) do
-        desc "The name of the interface with protocol (if appropriate)"
-        validate do |iface|
-            if not iface =~ /^.*?\/.*?$/i
-                raise Puppet::Error, "Invalid interface name.  Interface name
-                    must specify name and protocol."
-            end
-        end
-        isnamevar
-    end
-
-    newparam(:temporary) do
-        desc "Optional parameter that specifies changes to the interface are
-              temporary.  Changes last until the next reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:properties) do
-        desc "A hash table of propname=propvalue entries to apply to the
-              interface"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/ip_interface.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:ip_interface) do
-    @doc = "Manage the configuration of Oracle Solaris IP interfaces"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the IP interface"
-        isnamevar
-    end
-
-    newparam(:temporary)  do
-        desc "Optional parameter that specifies that the IP interface is
-              temporary.  Temporary interfaces last until the next reboot."
-        newvalues(:true, :false)
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:ip_tunnel) do
-    @doc = "Manage the configuration of Oracle Solaris IP Tunnel links"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the iptunnel link"
-        isnamevar
-    end
-
-    newparam(:temporary)  do
-        desc "Optional parameter that specifies that the IP tunnel is
-              temporary.  Temporary IP tunnels last until the next reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:tunnel_type) do
-        desc "Specifies the type of tunnel to be created."
-        newvalues("ipv4", "ipv6", "6to4")
-    end
-
-    newproperty(:local_address) do
-        desc "IP address or hostname corresponding to the local tunnel address"
-    end
-
-    newproperty(:remote_address) do
-        desc "IP address or hostname corresponding to the remote tunnel address"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/ipmp_interface.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-require 'puppet/property/list'
-
-Puppet::Type.newtype(:ipmp_interface) do
-    @doc = "Manage the configuration of Oracle Solaris IPMP interfaces"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the IP interface"
-        isnamevar
-    end
-
-    newparam(:temporary)  do
-        desc "Optional parameter that specifies that the IP interface is
-              temporary.  Temporary interfaces last until the next reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:interfaces, :parent => Puppet::Property::List) do
-        desc "An array of interface names to use for the IPMP interface"
-
-        # ensure should remains an array
-        def should
-            @should
-        end
-
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # ipadm returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-        validate do |name|
-            cmd = Array["/usr/sbin/ipadm", "show-if", "-p", "-o", "IFNAME"]
-            output = Puppet::Util::Execution.execute(cmd).split("\n")
-            if name.class == Array
-                check = output - name
-                raise Puppet::Error, "Invalid interface(s) specified:  "
-                    "#{check.inspect}" if not check.empty?
-            else
-                raise Puppet::Error, "Invalid interface specified: #{name}" \
-                    if not output.include?(name)
-            end
-        end
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/ldap.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-require 'ipaddr'
-require 'puppet/property/list'
-
-def valid_hostname?(hostname)
-    return false if hostname.length > 255 or hostname.scan('..').any?
-    hostname = hostname[0...-1] if hostname.index('.', -1)
-    return hostname.split('.').collect { |i|
-        i.size <= 63 and
-        not (i.rindex('-', 0) or i.index('-', -1) or i.scan(/[^a-z\d-]/i).any?)
-    }.all?
-end
-
-def valid_ip?(value)
-    begin
-        ip = IPAddr.new(value)
-    rescue ArgumentError
-        return false
-    end
-    return true
-end
-
-Puppet::Type.newtype(:ldap) do
-    @doc = "Manage the configuration of the LDAP client for Oracle Solaris"
-
-    newparam(:name) do
-        desc "The symbolic name for the LDAP client settings to use.  This name
-              is used for human reference only."
-        isnamevar
-    end
-
-    newproperty(:profile) do
-        desc "The LDAP profile name"
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-        desc "The LDAP profile name"
-    end
-
-    newproperty(:server_list, :parent => Puppet::Property::List) do
-        desc "LDAP server names or addresses.  Specify multiple servers as an
-              array"
-
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-
-        # ensure should remains an array
-        def should
-            @should
-        end
-        
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-        validate do |value|
-            raise Puppet::Error, "default_server entry:  #{value} is 
-                invalid" if not valid_ip?(value) and not valid_hostname?(value)
-        end
-    end
-
-    newproperty(:preferred_server_list, :parent => Puppet::Property::List) do
-        desc "LDAP server(s) to contact before any servers listed in
-              default_server_list"
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-
-        # ensure should remains an array
-        def should
-            @should
-        end
-        
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-        validate do |value|
-            raise Puppet::Error, "preferred_server entry:  #{value} is 
-                invalid" if not valid_ip?(value) and not valid_hostname?(value)
-        end
-    end
-
-    newproperty(:search_base) do
-        desc "The default search base DN"
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-    end
-
-    newproperty(:search_scope) do
-        desc "The default search scope for the client's search operations."
-        newvalues("base", "one", "sub")
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-    end
-
-    newproperty(:authentication_method, :parent => Puppet::Property::List) do
-        desc "The default authentication method(s).  Specify multiple methods
-              as an array."
-
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-        
-        # ensure should remains an array
-        def should
-            @should
-        end
-        
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-        newvalues("none", "simple", "sasl/CRAM-MD5", "sasl/DIGEST-MD5",
-                  "sasl/GSSAPI", "tls:simple", "tls:sasl/CRAM-MD5",
-                  "tls:sasl/DIGEST-MD5")
-    end
-
-    newproperty(:credential_level) do
-        desc "The credential level the client should use to contact the
-              directory."
-        newvalues("anonymous", "proxy", "self")
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-    end
-
-    newproperty(:search_time_limit) do
-        desc "The maximum number of seconds allowed for an LDAP search
-              operation."
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-    end
-
-    newproperty(:bind_time_limit) do
-        desc "The maximum number of seconds a client should spend performing a
-              bind operation."
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-    end
-
-    newproperty(:follow_referrals) do
-        desc "The referral setting."
-        newvalues(:true, :false)
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-    end
-
-    newproperty(:profile_ttl) do
-        desc "The TTL value in seconds for the client information"
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-    end
-
-    newproperty(:attribute_map, :parent => Puppet::Property::List) do
-        desc "A mapping from an attribute defined by a service to an attribute
-              in an alternative schema.  Specify multiple mappings as an array."
-
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-        
-        # ensure should remains an array
-        def should
-            @should
-        end
-        
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-    end
-
-    newproperty(:objectclass_map, :parent => Puppet::Property::List) do
-        desc "A  mapping from an objectclass defined by a service to an
-              objectclass in an alternative schema.  Specify multiple mappings
-              as an array."
-        
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-
-        # ensure should remains an array
-        def should
-            @should
-        end
-        
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-    end
-
-    newproperty(:service_credential_level) do
-        desc "The credential level to be used by a service."
-        newvalues("anonymous", "proxy")
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-    end
-
-    newproperty(:service_authentication_method,
-                :parent => Puppet::Property::List) do
-        desc "The authentication method to be used by a service.  Specify
-              multiple methods as an array."
-
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "config"
-
-        # ensure should remains an array
-        def should
-            @should
-        end
-        
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-    end
-
-    newproperty(:bind_dn, :parent => Puppet::Property::List) do
-        desc "An entry that has read permission for the requested database.
-              Specify multiple entries as an array."
-
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "cred"
-
-        # ensure should remains an array
-        def should
-            @should
-        end
-        
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-    end
-    
-    newproperty(:bind_passwd) do
-        desc "password to be used for authenticating the bind DN."
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "cred"
-    end
-
-    newproperty(:enable_shadow_update) do
-        desc "Specify whether the client is allowed to update shadow
-              information."
-        newvalues(:true, :false)
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "cred"
-    end
-
-    newproperty(:admin_bind_dn) do
-        desc "The Bind Distinguished Name for the administrator identity that
-              is used for shadow information update"
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "cred"
-    end
-
-    newproperty(:admin_bind_passwd) do
-        desc "The administrator password"
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "cred"
-    end
-
-    newproperty(:host_certpath) do
-        desc "The location of the certificate files"
-        class << self
-            attr_accessor :pg
-        end
-        self.pg = "cred"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/link_aggregation.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-require 'puppet/property/list'
-
-Puppet::Type.newtype(:link_aggregation) do
-    @doc = "Manage the configuration of Oracle Solaris link aggregations"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the link aggregration"
-        isnamevar
-    end
-
-    newparam(:temporary) do
-        desc "Optional parameter that specifies that the aggreation is
-              temporary.  Temporary aggregation links last until the next
-              reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:lower_links, :parent => Puppet::Property::List) do
-        desc "Specifies an array of links over which the aggrestion is created."
-
-        # ensure should remains an array
-        def should
-            @should
-        end
-
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        # dladm returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-    end
-
-    newproperty(:mode) do
-        desc "Specifies which mode to set."
-        newvalues(:trunk, :dlmp)
-    end
-
-    newproperty(:policy) do
-        desc "Specifies the port selection policy to use for load spreading
-              of outbound traffic."
-    end
-
-    newproperty(:lacpmode) do
-        desc "Specifies whether LACP should be used and, if used, the mode
-              in which it should operate"
-        newvalues(:off, :active, :passive)
-    end
-
-    newproperty(:lacptimer) do
-        desc "Specifies the LACP timer value"
-        newvalues(:short, :long)
-    end
-
-    newproperty(:address) do
-        desc "Specifies a fixed unicast hardware address to be used for the
-              aggregation"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/link_properties.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:link_properties) do
-    @doc = "Manage Oracle Solaris link properties"
-
-    ensurable
-
-    newparam(:link) do
-        desc "The name of the link"
-        isnamevar
-    end
-
-    newparam(:temporary) do
-        desc "Optional parameter that specifies changes to the link are
-              temporary.  Changes last until the next reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:properties) do
-        desc "A hash table of propname=propvalue entries to apply to the link"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/nis.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-require 'ipaddr'
-require 'puppet/property/list'
-
-def valid_hostname?(hostname)
-    return false if hostname.length > 255 or hostname.scan('..').any?
-    hostname = hostname[0...-1] if hostname.index('.', -1)
-    return hostname.split('.').collect { |i|
-        i.size <= 63 and 
-        not (i.rindex('-', 0) or i.index('-', -1) or i.scan(/[^a-z\d-]/i).any?)
-    }.all?
-end
-
-Puppet::Type.newtype(:nis) do
-    @doc = "Manage the configuration of the NIS client for Oracle Solaris"
-
-    newparam(:name) do
-       desc "The symbolic name for the NIS domain and client settings to use.
-              This name is used for human reference only."
-        isnamevar
-    end
-
-    newproperty(:domainname) do
-        desc "The NIS domainname"
-    end
-
-    newproperty(:ypservers, :parent => Puppet::Property::List) do
-        desc "The hosts or IP addresses to use as NIS servers.  Specify
-              multiple entries as an array"
-
-        # ensure should remains an array as long as there's more than 1 entry
-        def should
-            if @should.length == 1
-                @should[0]
-            else
-                @should
-            end
-        end
-
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            if should.is_a? Array
-                is.sort == self.should.sort
-            end
-        end
-
-        # svcprop returns multivalue entries delimited with a space
-        def delimiter
-            " "
-        end
-
-        validate do |value|
-            begin
-                ip = IPAddr.new(value)
-            rescue ArgumentError
-                # the value wasn't a valid IP address, so check the hostname
-                raise Puppet::Error, "ypserver entry:  #{value} is 
-                    invalid" if not valid_hostname? value
-            end
-        end
-    end
-
-    newproperty(:securenets) do
-        desc "Entries for /var/yp/securenets.  Each entry must be a hash.
-              The first element in the hash is either a host or a netmask.
-              The second element must be an IP network address.  Specify
-              multiple entries as separate entries in the hash."
-    end
-
-    newproperty(:use_broadcast) do
-        desc "Send a broadcast datagram requesting needed bind information for
-              a specific NIS server."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:use_ypsetme) do
-        desc "Only allow root on the client to change the binding to a desired
-              server."
-        newvalues(:true, :false)
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/nsswitch.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:nsswitch) do
-    @doc = "Name service switch configuration data"
-
-    newparam(:name) do
-        desc "The symbolic name for the nsswitch settings to use.  This name
-              is used for human reference only."
-        isnamevar
-    end
-
-    newproperty(:default) do
-        desc "The default configuration entry"
-    end
-
-    newproperty(:host) do
-        desc "The host database lookup override"
-    end
-
-    newproperty(:password) do
-        desc "The password database lookup override"
-    end
-
-    newproperty(:group) do
-        desc "The group database lookup override"
-    end
-
-    newproperty(:network) do
-        desc "The network database lookup override"
-    end
-
-    newproperty(:rpc) do
-        desc "The rpc database lookup override"
-    end
-
-    newproperty(:ether) do
-        desc "The ether database lookup override"
-    end
-
-    newproperty(:netmask) do
-        desc "The netmask database lookup override"
-    end
-
-    newproperty(:bootparam) do
-        desc "The bootparam database lookup override"
-    end
-
-    newproperty(:publickey) do
-        desc "The publickey database lookup override"
-    end
-
-    newproperty(:netgroup) do
-        desc "The netgroup database lookup override"
-    end
-
-    newproperty(:automount) do
-        desc "The automount database lookup override"
-    end
-
-    newproperty(:alias) do
-        desc "The alias database lookup override"
-    end
-
-    newproperty(:service) do
-        desc "The service database lookup override"
-    end
-
-    newproperty(:project) do
-        desc "The project database lookup override"
-    end
-
-    newproperty(:auth_attr) do
-        desc "The auth_attr database lookup override"
-    end
-
-    newproperty(:prof_attr) do
-        desc "The prof_attr database lookup override"
-    end
-
-    newproperty(:tnrhtp) do
-        desc "The tnrhtp database lookup override.  Requires trusted extensions"
-    end
-
-    newproperty(:tnrhdb) do
-        desc "The tnrhdb database lookup override.  Requires trusted extensions"
-    end
-
-    newproperty(:sudoer) do
-        desc "The sudoer database lookup override.  Used with sudo only"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/pkg_facet.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:pkg_facet) do
-    @doc = "Manage Oracle Solaris package facets"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The facet name"
-        isnamevar
-    end
-
-    newproperty(:value) do
-        desc "The value for the facet"
-        newvalues(/[tT]rue/, /[fF]alse/, /[nN]one/)
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/pkg_mediator.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:pkg_mediator) do
-    @doc = "Manage Oracle Solaris package mediators"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The mediator name"
-        isnamevar
-    end
-
-    newproperty(:version) do
-        desc "The version of the mediated interface to use"
-    end
-
-    newproperty(:implementation) do
-        desc "The implementation of the mediated interface to use"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/pkg_publisher.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /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) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-require 'puppet/property/list'
-Puppet::Type.newtype(:pkg_publisher) do
-    @doc = "Manage Oracle Solaris package publishers"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The publisher name"
-        isnamevar
-    end
-
-    newproperty(:origin, :parent => Puppet::Property::List) do
-        desc "Which origin URI(s) to set.  For multiple origins, specify them
-              as a list"
-
-        # ensure should remains an array
-        def should
-            @should
-        end
-
-        def insync?(is)
-            is = [] if is == :absent or is.nil?
-            is.sort == self.should.sort
-        end
-
-        def retrieve
-            provider.origin
-        end
-
-        # for origins with a file:// URI, strip any trailing / character
-        munge do |value|
-            if value.start_with? "file" and value.end_with? "/"
-                value = value.chomp("/")
-            else
-                value
-            end
-        end
-    end
-
-    newproperty(:enable) do
-        desc "Enable the publisher"
-        newvalues(:true, :false)
-    end
-
-    newproperty(:sticky) do
-        desc "Set the publisher 'sticky'"
-        newvalues(:true, :false)
-    end
-
-    newproperty(:searchfirst) do
-        desc "Set the publisher first in the search order"
-        newvalues(:true)
-    end
-
-    newproperty(:searchafter) do
-        desc "Set the publisher after the specified publisher in the search
-              order"
-    end
-
-    newproperty(:searchbefore) do
-        desc "Set the publisher before the specified publisher in the search
-              order"
-    end
-
-    newproperty(:proxy) do
-        desc "Use the specified web proxy URI to retrieve content for the
-              specified origin or mirror"
-    end
-
-    newproperty(:sslkey) do
-        desc "Specify the client SSL key"
-    end
-
-    newproperty(:sslcert) do
-        desc "Specify the client SSL certificate"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/pkg_variant.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:pkg_variant) do
-    @doc = "Manage Oracle Solaris package variants"
-
-    ensurable do
-        # remove the ability to specify :absent as deletion of variants is not
-        # supported.  New values must be set.
-        newvalue(:present) do
-            provider.create
-        end
-    end
-
-    newparam(:name) do
-        desc "The variant name"
-        isnamevar
-    end
-
-    newproperty(:value) do
-        desc "The value for the variant"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/protocol_properties.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:protocol_properties) do
-    @doc = "Manage Oracle Solaris protocol properties"
-
-    ensurable do
-        # remove the ability to specify :absent.  New values must be set.
-        newvalue(:present) do
-            provider.create
-        end
-    end
-
-    newparam(:protocol) do
-        desc "The name of the protocol"
-        isnamevar
-    end
-
-    newparam(:temporary) do
-        desc "Optional parameter that specifies changes to the protocol are
-              temporary.  Changes last until the next reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:properties) do
-        desc "A hash table of propname=propvalue entries to apply to an
-              protocol"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/solaris_vlan.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:solaris_vlan) do
-    @doc = "Manage the configuration of Oracle Solaris VLAN links"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the VLAN"
-        isnamevar
-    end
-
-    newparam(:force) do
-        desc "Optional parameter to force the creation of the VLAN link"
-        newvalues(:true, :false)
-    end
-
-    newparam(:temporary) do
-        desc "Optional parameter that specifies that the VLAN is 
-              temporary.  Temporary VLAN links last until the next reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:lower_link) do
-        desc "Specifies Ethernet link over which VLAN is created"
-    end
-
-    newproperty(:vlanid) do
-        desc "VLAN link ID"
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/svccfg.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:svccfg) do
-    @doc = "Manage SMF service properties with svccfg(1M)."
-
-    ensurable do
-        newvalue(:present) do
-            provider.create
-        end
-
-        newvalue(:absent) do
-            provider.destroy
-        end
-
-        newvalue(:delcust) do
-            provider.delcust
-        end
-    end
-
-    newparam(:name) do
-        desc "The symbolic name for properties to manipulate.  This name is
-              meaningful only within Puppet manifests and not expressed to
-              SMF in any way."
-        isnamevar
-    end
-
-    newparam(:fmri) do
-        desc "SMF service FMRI to manipulate"
-    end
-
-    newparam(:property) do
-        desc "Name of property - includes Property Group and Property.  If
-              the service, instance, or property group does not exist, they
-              will be created."
-    end
-
-    newparam(:type) do
-        desc "Type of the property"
-    end
-
-    newparam(:value) do
-        desc "Value of the property"
-        munge do |value|
-            # cast the value to an array.  This is done for the case where a
-            # property needs to be set.  exists? will undo all of this and
-            # revert the value into a simple string for comparisons.
-            if not value.is_a? Array
-                value = Array[value]
-            end
-
-            # wrap each entry in quotes
-            value = value.collect{ |v| "\"#{v}\"" }
-
-            value.insert(0, "(")
-            value.insert(-1, ")")
-        end
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/vni_interface.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:vni_interface) do
-    @doc = "Manage the configuration of Solaris VNI interfaces"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the VNI interface"
-        isnamevar
-    end
-
-    newparam(:temporary)  do
-        desc "Optional parameter that specifies that the VNI interface is
-              temporary.  Temporary interfaces last until the next reboot."
-        newvalues(:true, :false)
-    end
-end
--- a/components/puppet/files/solaris/lib/puppet/type/vnic.rb	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-#
-
-Puppet::Type.newtype(:vnic) do
-    @doc = "Manage the configuration of Oracle Solaris Virtual NICs (VNICs)"
-
-    ensurable
-
-    newparam(:name) do
-        desc "The name of the VNIC"
-
-        isnamevar
-
-        validate do |vnic_value|
-           if not vnic_value =~ /^[[:alpha:]]([\w.]){1,29}([\d])$/i
-               raise Puppet::Error, "Invalid VNIC name: #{vnic_value}"
-           end
-        end
-    end
-
-    newparam(:temporary)  do
-        desc "Optional parameter that specifies that  the  VNIC  is  temporary. 
-              Temporary VNICs last until the next reboot."
-        newvalues(:true, :false)
-    end
-
-    newproperty(:lower_link) do
-        desc "The name of the physical datalink over which the VNIC is 
-              operating"
-        validate do |link_value|
-            if not link_value =~ /^[[:alpha:]]([\w.]){1,29}([\d])$/i
-                raise Puppet::Error, "Invalid lower-link: #{link_value}"
-            end
-        end
-    end
-
-    newproperty(:mac_address) do
-        desc "Sets the VNIC's MAC address based on  the  specified value."
-        validate do |mac_value|
-            if not mac_value =~ /^([[:xdigit:]]{1,2}[:-]){5}[[:xdigit:]]{1,2}$/i
-                raise Puppet::Error, "Invalid MAC address: #{mac_value}" 
-            end
-        end
-    end
-end
--- a/components/puppet/files/user_attr	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-puppet::RO::audit_flags=cusa\:no
--- a/components/puppet/patches/puppet-00-s12pkg.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-Add Solaris 12 to the pkg(5) pkg provider
-
---- puppet-3.4.1/lib/puppet/provider/package/pkg.rb.orig	2012-10-19 22:57:51.000000000 -0600
-+++ puppet-3.4.1/lib/puppet/provider/package/pkg.rb	2012-10-24 15:55:23.203830708 -0600
-@@ -23,7 +23,7 @@
- 
-   confine :osfamily => :solaris
- 
--  defaultfor :osfamily => :solaris, :kernelrelease => '5.11'
-+  defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
- 
-   def self.instances
-     pkg(:list, '-H').split("\n").map{|l| new(parse_line(l))}
--- a/components/puppet/patches/puppet-01-installrb-nogzip-manpage.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-Prevent puppet's build script from gzipping the manpages.  Our version
-of man doesn't understand manpages with a .gz extension
-
---- puppet-3.4.1/install.rb.orig	2013-01-04 14:05:09.892870020 -0700
-+++ puppet-3.4.1/install.rb	2013-01-04 14:05:40.466062888 -0700
-@@ -146,9 +146,6 @@
-       FileUtils.chmod(0755, om)
-       FileUtils.install(mf, omf, {:mode => 0644, :verbose => true})
-     end
--    gzip = %x{which gzip}
--    gzip.chomp!
--    %x{#{gzip} -f #{omf}}
-   end
- end
- 
--- a/components/puppet/patches/puppet-02-zone-type.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-Enhance the zone type to configure zones using a zonecfg export file format.
-Enhance the output of the puppet resource zone.
-
---- puppet-3.4.1/lib/puppet/type/zone.rb.orig	2013-07-16 16:44:01.005467245 -0600
-+++ puppet-3.4.1/lib/puppet/type/zone.rb	2013-07-16 16:45:04.216692249 -0600
-@@ -1,10 +1,5 @@
--require 'puppet/property/list'
- Puppet::Type.newtype(:zone) do
--  @doc = "Manages Solaris zones.
--
--**Autorequires:** If Puppet is managing the directory specified as the root of
--the zone's filesystem (with the `path` attribute), the zone resource will
--autorequire that directory."
-+  @doc = "Manages Solaris zones."
- 
-   class StateMachine
-     # A silly little state machine.
-@@ -73,7 +68,7 @@
- 
-     # This is seq value because the order of declaration is important.
-     # i.e we go linearly from :absent -> :configured -> :installed -> :running
--    seqvalue :absent, :down => :destroy
-+    seqvalue :absent, :down => :unconfigure
-     seqvalue :configured, :up => :configure, :down => :uninstall
-     seqvalue :installed, :up => :install, :down => :stop
-     seqvalue :running, :up => :start
-@@ -102,10 +97,10 @@
-         sleep 1
-       end
-       provider.send(method)
--      provider.flush()
-     end
- 
-     def sync
-+
-       method = nil
-       direction = up? ? :up : :down
- 
-@@ -129,127 +124,34 @@
- 
-   newparam(:name) do
-     desc "The name of the zone."
--
-     isnamevar
-   end
- 
--  newparam(:id) do
--    desc "The numerical ID of the zone.  This number is autogenerated
--      and cannot be changed."
--  end
--
--  newparam(:clone) do
--    desc "Instead of installing the zone, clone it from another zone.
--      If the zone root resides on a zfs file system, a snapshot will be
--      used to create the clone; if it resides on a ufs filesystem, a copy of the
--      zone will be used. The zone from which you clone must not be running."
--  end
--
--  newproperty(:ip, :parent => Puppet::Property::List) do
--    require 'ipaddr'
--
--    desc "The IP address of the zone.  IP addresses must be specified
--      with the interface, separated by a colon, e.g.: bge0:192.168.0.1.
--      For multiple interfaces, specify them in an array."
--
--    # The default action of list should is to lst.join(' '). By specifying
--    # @should, we ensure the should remains an array. If we override should, we
--    # should also override insync?() -- property/list.rb
--    def should
--      @should
--    end
--
--    # overridden so that we match with self.should
--    def insync?(is)
--      return true unless is
--      is = [] if is == :absent
--      is.sort == self.should.sort
--    end
--  end
--
--  newproperty(:iptype) do
--    desc "The IP stack type of the zone."
--    defaultto :shared
--    newvalue :shared
--    newvalue :exclusive
--  end
--
--  newproperty(:autoboot, :boolean => true) do
--    desc "Whether the zone should automatically boot."
--    defaultto true
--    newvalues(:true, :false)
-+  newparam(:config_profile) do
-+    desc "Path to the config_profile to use to configure a solaris zone.
-+          This is set when providing a sysconfig profile instead of running the
-+	  sysconfig SCI tool on first boot of the zone."
-   end
- 
--  newproperty(:path) do
--    desc "The root of the zone's filesystem.  Must be a fully qualified
--      file name.  If you include `%s` in the path, then it will be
--      replaced with the zone's name.  Currently, you cannot use
--      Puppet to move a zone. Consequently this is a readonly property."
--
--    validate do |value|
--      raise ArgumentError, "The zone base must be fully qualified" unless value =~ /^\//
--    end
--
--    munge do |value|
--      if value =~ /%s/
--        value % @resource[:name]
--      else
--        value
--      end
--    end
--  end
--
--  newproperty(:pool) do
--    desc "The resource pool for this zone."
-+  newparam(:zonecfg_export) do
-+    desc "Contains the zone configuration information. This can be passed in
-+    in the form of a file generated by the zonecfg command, in the form
-+    of a template, or a string."
-   end
- 
--  newproperty(:shares) do
--    desc "Number of FSS CPU shares allocated to the zone."
-+  newparam(:archive) do
-+    desc "The archive file containing an archived zone."
-   end
- 
--  newproperty(:dataset, :parent => Puppet::Property::List ) do
--    desc "The list of datasets delegated to the non-global zone from the
--      global zone.  All datasets must be zfs filesystem names which are
--      different from the mountpoint."
--
--    def should
--      @should
--    end
--
--    # overridden so that we match with self.should
--    def insync?(is)
--      return true unless is
--      is = [] if is == :absent
--      is.sort == self.should.sort
--    end
--
--    validate do |value|
--      unless value !~ /^\//
--        raise ArgumentError, "Datasets must be the name of a zfs filesystem"
--      end
--    end
-+  newparam(:archived_zonename) do
-+    desc "The archived zone to configure and install"
-   end
--
--  newproperty(:inherit, :parent => Puppet::Property::List) do
--    desc "The list of directories that the zone inherits from the global
--      zone.  All directories must be fully qualified."
--
--    def should
--      @should
--    end
--
--    # overridden so that we match with self.should
--    def insync?(is)
--      return true unless is
--      is = [] if is == :absent
--      is.sort == self.should.sort
--    end
--
--    validate do |value|
--      unless value =~ /^\//
--        raise ArgumentError, "Inherited filesystems must be fully qualified"
--      end
--    end
-+  
-+  newparam(:clone) do
-+    desc "Instead of installing the zone, clone it from another zone.
-+      If the zone root resides on a zfs file system, a snapshot will be
-+      used to create the clone; if it resides on a ufs filesystem, a copy of the
-+      zone will be used. The zone from which you clone must not be running."
-   end
- 
-   # Specify the sysidcfg file.  This is pretty hackish, because it's
-@@ -286,70 +188,11 @@
-       so Puppet only checks for it at that time.}
-   end
- 
--  newparam(:create_args) do
--    desc "Arguments to the `zonecfg` create command.  This can be used to create branded zones."
--  end
--
-   newparam(:install_args) do
-     desc "Arguments to the `zoneadm` install command.  This can be used to create branded zones."
-   end
- 
--  newparam(:realhostname) do
--    desc "The actual hostname of the zone."
--  end
--
--  # If Puppet is also managing the base dir or its parent dir, list them
--  # both as prerequisites.
--  autorequire(:file) do
--    if @parameters.include? :path
--      [@parameters[:path].value, ::File.dirname(@parameters[:path].value)]
--    else
--      nil
--    end
--  end
--
--  # If Puppet is also managing the zfs filesystem which is the zone dataset
--  # then list it as a prerequisite.  Zpool's get autorequired by the zfs
--  # type.  We just need to autorequire the dataset zfs itself as the zfs type
--  # will autorequire all of the zfs parents and zpool.
--  autorequire(:zfs) do
--    # Check if we have datasets in our zone configuration and autorequire each dataset
--    self[:dataset] if @parameters.include? :dataset
--  end
--
--  def validate_ip(ip, name)
--    IPAddr.new(ip) if ip
--  rescue ArgumentError
--    self.fail "'#{ip}' is an invalid #{name}"
--  end
--
--  def validate_exclusive(interface, address, router)
--    return if !interface.nil? and address.nil?
--    self.fail "only interface may be specified when using exclusive IP stack: #{interface}:#{address}"
--  end
--  def validate_shared(interface, address, router)
--    self.fail "ip must contain interface name and ip address separated by a \":\"" if interface.nil? or address.nil?
--    [address, router].each do |ip|
--      validate_ip(address, "IP address") unless ip.nil?
--    end
--  end
--
--  validate do
--    return unless self[:ip]
--    # self[:ip] reflects the type passed from proeprty:ip.should. If we
--    # override it and pass @should, then we get an array here back.
--    self[:ip].each do |ip|
--      interface, address, router = ip.split(':')
--      if self[:iptype] == :shared
--        validate_shared(interface, address, router)
--      else
--        validate_exclusive(interface, address, router)
--      end
--    end
--  end
--
-   def retrieve
--    provider.flush
-     hash = provider.properties
-     return setstatus(hash) unless hash.nil? or hash[:ensure] == :absent
-     # Return all properties as absent.
-@@ -372,4 +215,25 @@
-     end
-     prophash
-   end
-+
-+  # Private Properties
-+  # The following properties are used in conjunction with the "puppet resource zone"
-+  # output. They are valid properties for configuring a zone.
-+
-+  newproperty(:id) do
-+    desc "The numerical ID of the zone.  This number is autogenerated
-+    and cannot be changed."
-+  end
-+
-+  newproperty(:zonepath) do
-+    desc "The path to zone's file system."
-+  end
-+
-+  newproperty(:iptype) do
-+    desc "Displays exclusive or shared instance of IP."
-+  end
-+
-+  newproperty(:brand) do
-+    desc "The zone's brand type"
-+  end
- end
--- a/components/puppet/patches/puppet-03-zone-provider.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-Enhance the zone provider to configure zones using a zonecfg export file format.
-Enhance the output of puppet resource zone, and fix zone clone functionality.
---- puppet-3.4.1/lib/puppet/provider/zone/solaris.rb.orig	2013-07-29 15:48:58.118553584 -0600
-+++ puppet-3.4.1/lib/puppet/provider/zone/solaris.rb	2013-07-29 15:49:21.053204412 -0600
-@@ -1,5 +1,5 @@
- Puppet::Type.type(:zone).provide(:solaris) do
--  desc "Provider for Solaris Zones."
-+  desc "Provider for Solaris zones."
- 
-   commands :adm => "/usr/sbin/zoneadm", :cfg => "/usr/sbin/zonecfg"
-   defaultfor :osfamily => :solaris
-@@ -8,20 +8,20 @@
- 
-   # Convert the output of a list into a hash
-   def self.line2hash(line)
--    fields = [:id, :name, :ensure, :path, :uuid, :brand, :iptype]
-+    fields = [:id, :name, :ensure, :zonepath, :uuid, :brand, :iptype ]
-     properties = Hash[fields.zip(line.split(':'))]
- 
--    del_id = [:brand, :uuid]
-+    del_id = [:id, :uuid]
-+
-     # Configured but not installed zones do not have IDs
-     del_id << :id if properties[:id] == "-"
-     del_id.each { |p| properties.delete(p) }
--
-     properties[:ensure] = properties[:ensure].intern
--    properties[:iptype] = 'exclusive' if properties[:iptype] == 'excl'
- 
-     properties
-   end
- 
-+
-   def self.instances
-     # LAK:NOTE See http://snurl.com/21zf8  [groups_google_com]
-     x = adm(:list, "-cp").split("\n").collect do |line|
-@@ -29,109 +29,64 @@
-     end
-   end
- 
--  def multi_conf(name, should, &action)
--    has = properties[name]
--    has = [] if has == :absent
--    rms = has - should
--    adds = should - has
--    (rms.map{|o| action.call(:rm,o)} + adds.map{|o| action.call(:add,o)}).join("\n")
--  end
--
--  def self.def_prop(var, str)
--    define_method('%s_conf' % var.to_s) do |v|
--      str % v
--    end
--    define_method('%s=' % var.to_s) do |v|
--      setconfig self.send( ('%s_conf'% var).intern, v)
--    end
--  end
-+  
-+  # Read in the zone configuration parameters and properties and
-+  # perform the zone configuration. Options are cloning the zone,
-+  # which needs a zonecfg_export file, configuring an archive, which
-+  # takes optional zonecfg_export and archived_zonename parameters,
-+  # or performing a zone configuration, which requires a zonecfg_export
-+  # file or string.
-+  def configure
- 
--  def self.def_multiprop(var, &conf)
--    define_method(var.to_s) do |v|
--      o = properties[var]
--      return '' if o.nil? or o == :absent
--      o.join(' ')
--    end
--    define_method('%s=' % var.to_s) do |v|
--      setconfig self.send( ('%s_conf'% var).intern, v)
--    end
--    define_method('%s_conf' % var.to_s) do |v|
--      multi_conf(var, v, &conf)
-+    if @resource[:archive].nil? && @resource[:zonecfg_export].nil?
-+      raise Puppet::Error, "No configuration resource is defined."
-     end
--  end
- 
--  def_prop :iptype, "set ip-type=%s"
--  def_prop :autoboot, "set autoboot=%s"
--  def_prop :path, "set zonepath=%s"
--  def_prop :pool, "set pool=%s"
--  def_prop :shares, "add rctl\nset name=zone.cpu-shares\nadd value (priv=privileged,limit=%s,action=none)\nend"
--
--  def_multiprop :ip do |action, str|
--    interface, ip, defrouter = str.split(':')
--    case action
--    when :add
--      cmd = ["add net"]
--      cmd << "set physical=#{interface}" if interface
--      cmd << "set address=#{ip}" if ip
--      cmd << "set defrouter=#{defrouter}" if defrouter
--      cmd << "end"
--      cmd.join("\n")
--    when :rm
--      if ip
--        "remove net address=#{ip}"
--      elsif interface
--        "remove net physical=#{interface}"
--      else
--        raise ArgumentError, "can not remove network based on default router"
-+    command = String.new
-+    if @resource[:clone]
-+      if !@resource[:zonecfg_export]
-+        raise Puppet::Error, "A zone configuration must be defined to
-+        clone a zone."
-+      end
-+      command = "#{command(:cfg)} -z #{@resource[:name]} -f #{@resource[:zonecfg_export]}"
-+    else
-+      unless @resource[:zonecfg_export].nil? || @resource[:zonecfg_export].empty?
-+        begin
-+          file = File.open(@resource[:zonecfg_export], "rb")
-+          str = file.read.gsub(/[\n]\n*\s*/, "; ")
-+        rescue
-+          str = @resource[:zonecfg_export].gsub(/[\n]\n*\s*/, "; ")
-+        ensure
-+          file.close unless file.nil?
-+        end
-+        @property_hash.clear
-       end
--    else self.fail action
--    end
--  end
- 
--  def_multiprop :dataset do |action, str|
--    case action
--    when :add; ['add dataset',"set name=#{str}",'end'].join("\n")
--    when :rm; "remove dataset name=#{str}"
--    else self.fail action
--    end
--  end
-+      unless @resource[:archive].nil? || @resource[:archive].empty?
-+        if !str.nil?
-+          command = "#{command(:cfg)} -z #{@resource[:name]} \'create -a #{@resource[:archive]};#{str}\'"
-+        else
-+          command = "#{command(:cfg)} -z #{@resource[:name]} create -a #{@resource[:archive]} "
-+        end
-+        if @resource[:archived_zonename]
-+          command << " -z #{@resource[:archived_zonename]}"
-+        end
-+      end
- 
--  def_multiprop :inherit do |action, str|
--    case action
--    when :add; ['add inherit-pkg-dir', "set dir=#{str}",'end'].join("\n")
--    when :rm; "remove inherit-pkg-dir dir=#{str}"
--    else self.fail action
-+      if !@resource[:zonecfg_export].nil? && @resource[:archive].nil?
-+        command = "#{command(:cfg)} -z #{@resource[:name]} \'#{str}\'"
-+      end
-     end
--  end
- 
--  def my_properties
--    [:path, :iptype, :autoboot, :pool, :shares, :ip, :dataset, :inherit]
--  end
--
--  # Perform all of our configuration steps.
--  def configure
--    self.fail "Path is required" unless @resource[:path]
--    arr = ["create -b #{@resource[:create_args]}"]
--
--    # Then perform all of our configuration steps.  It's annoying
--    # that we need this much internal info on the resource.
--    self.resource.properties.each do |property|
--      next unless my_properties.include? property.name
--      method = (property.name.to_s + '_conf').intern
--      arr << self.send(method ,@resource[property.name]) unless property.safe_insync?(properties[property.name])
-+    if command
-+      r = exec_cmd(:cmd => command)
-     end
--    setconfig(arr.join("\n"))
-   end
- 
-   def destroy
-     zonecfg :delete, "-F"
-   end
- 
--  def add_cmd(cmd)
--    @cmds = [] if @cmds.nil?
--    @cmds << cmd
--  end
--
-   def exists?
-     properties[:ensure] != :absent
-   end
-@@ -139,31 +94,31 @@
-   # We cannot use the execpipe in util because the pipe is not opened in
-   # read/write mode.
-   def exec_cmd(var)
--    # In bash, the exit value of the last command is the exit value of the
--    # entire pipeline
--    out = execute("echo \"#{var[:input]}\" | #{var[:cmd]}", :failonfail => false, :combine => true)
--    st = $?.exitstatus
--    {:out => out, :exit => st}
--  end
--
--  # Clear out the cached values.
--  def flush
--    return if @cmds.nil? || @cmds.empty?
--    str = (@cmds << "commit" << "exit").join("\n")
--    @cmds = []
--    @property_hash.clear
--
--    command = "#{command(:cfg)} -z #{@resource[:name]} -f -"
--    r = exec_cmd(:cmd => command, :input => str)
--    if r[:exit] != 0 or r[:out] =~ /not allowed/
--      raise ArgumentError, "Failed to apply configuration"
-+    if var[:input]
-+    	execute("echo \"#{var[:input]}\" | #{var[:cmd]}", :failonfail => true, :combine => true)
-+    else
-+        execute("#{var[:cmd]}", :failonfail => true, :combine => true)
-     end
-   end
- 
-+
-   def install(dummy_argument=:work_arround_for_ruby_GC_bug)
-+    if ['5.11', '5.12'].include? Facter.value(:kernelrelease)
-+       if !@resource[:install_args] and @resource[:config_profile]
-+         @resource[:install_args] = " -c " + @resource[:config_profile]
-+       elsif !@resource[:install_args] and @resource[:archive]
-+         @resource[:install_args] = " -a " + @resource[:archive]
-+	     if @resource[:archived_zonename]
-+	       @resource[:install_args] << " -z " + @resource[:archived_zonename]
-+	     end
-+       elsif @resource[:config_profile]
-+	     @resource[:install_args] << " -c " + @resource[:config_profile]
-+       end
-+    end
-+       
-     if @resource[:clone] # TODO: add support for "-s snapshot"
--      zoneadm :clone, @resource[:clone]
--    elsif @resource[:install_args]
-+      zoneadm :clone, @resource[:clone] 
-+    elsif @resource[:install_args] 
-       zoneadm :install, @resource[:install_args].split(" ")
-     else
-       zoneadm :install
-@@ -183,11 +138,12 @@
-       end
-     end
-     @property_hash.dup
-+    
-   end
- 
-   # We need a way to test whether a zone is in process.  Our 'ensure'
-   # property models the static states, but we need to handle the temporary ones.
--  def processing?
-+  def processing?  
-     hash = status
-     return false unless hash
-     ["incomplete", "ready", "shutting_down"].include? hash[:ensure]
-@@ -215,7 +171,6 @@
-   #
-   def getconfig
-     output = zonecfg :info
--
-     name = nil
-     current = nil
-     hash = {}
-@@ -245,14 +200,9 @@
-     hash
-   end
- 
--  # Execute a configuration string.  Can't be private because it's called
--  # by the properties.
--  def setconfig(str)
--    add_cmd str
--  end
--
-   def start
-     # Check the sysidcfg stuff
-+   if ['5.10'].include? Facter.value(:kernelrelease)
-     if cfg = @resource[:sysidcfg]
-       self.fail "Path is required" unless @resource[:path]
-       zoneetc = File.join(@resource[:path], "root", "etc")
-@@ -273,7 +223,9 @@
-         end
-       end
-     end
-+   end
- 
-+    # Boots the zone
-     zoneadm :boot
-   end
- 
-@@ -286,64 +238,35 @@
-     end
- 
-     main = self.class.line2hash(output.chomp)
--
--    # Now add in the configuration information
--    config_status.each do |name, value|
--      main[name] = value
--    end
--
-     main
-   end
- 
-   def ready
-+    # Prepare the zone
-     zoneadm :ready
-   end
- 
-   def stop
--    zoneadm :halt
-+     # Shutdown the zone
-+     zoneadm :halt
-   end
-+  
- 
-   def unconfigure
-+    # Unconfigure and delete the zone
-     zonecfg :delete, "-F"
-   end
- 
-   def uninstall
-+    # Uninstall the zone
-     zoneadm :uninstall, "-F"
-   end
- 
-   private
- 
--  # Turn the results of getconfig into status information.
--  def config_status
--    config = getconfig
--    result = {}
--
--    result[:autoboot] = config[:autoboot] ? config[:autoboot].intern : :true
--    result[:pool] = config[:pool]
--    result[:shares] = config[:shares]
--    if dir = config["inherit-pkg-dir"]
--      result[:inherit] = dir.collect { |dirs| dirs[:dir] }
--    end
--    if datasets = config["dataset"]
--      result[:dataset] = datasets.collect { |dataset| dataset[:name] }
--    end
--    result[:iptype] = config[:'ip-type'] if config[:'ip-type']
--    if net = config["net"]
--      result[:ip] = net.collect do |params|
--        if params[:defrouter]
--          "#{params[:physical]}:#{params[:address]}:#{params[:defrouter]}"
--        elsif params[:address]
--          "#{params[:physical]}:#{params[:address]}"
--        else
--          params[:physical]
--        end
--      end
--    end
--
--    result
--  end
--
-   def zoneadm(*cmd)
-+    # Execute the zoneadm command with the arguments
-+    # provided
-     adm("-z", @resource[:name], *cmd)
-   rescue Puppet::ExecutionFailure => detail
-     self.fail "Could not #{cmd[0]} zone: #{detail}"
--- a/components/puppet/patches/puppet-04-agent-auditing.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-Add auditing support to agent execution
-
---- puppet-3.4.1/lib/puppet/agent.rb.orig	2013-03-08 16:03:45.000000000 -0700
-+++ puppet-3.4.1/lib/puppet/agent.rb	2013-03-08 16:03:45.000000000 -0700
-@@ -1,4 +1,7 @@
- require 'puppet/application'
-+if Facter.value(:osfamily) == "Solaris"
-+  require 'PuppetAudit'
-+end
- 
- # A general class for triggering a run of another
- # class.
-@@ -35,6 +38,11 @@
-       return
-     end
- 
-+    if Facter.value(:osfamily) == "Solaris"
-+        audit_handle = PuppetAudit.new
-+        audit_handle.audit_start
-+    end
-+
-     result = nil
-     block_run = Puppet::Application.controlled_run do
-       splay
-@@ -50,6 +58,10 @@
-           end
-         end
-       end
-+      if Facter.value(:osfamily) == "Solaris"
-+          audit_handle.audit_stop
-+          audit_handle.audit_teardown
-+      end
-       true
-     end
-     Puppet.notice "Shutdown/restart in progress (#{Puppet::Application.run_status.inspect}); skipping run" unless block_run
--- a/components/puppet/patches/puppet-05-apply-auditing.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-Add auditing hooks for puppet apply
---- puppet-3.4.1/lib/puppet/application/apply.rb.orig	2013-06-13 12:15:55.000000000 -0600
-+++ puppet-3.4.1/lib/puppet/application/apply.rb	2013-07-01 14:02:10.263603171 -0600
-@@ -1,5 +1,8 @@
- require 'puppet/application'
- require 'puppet/configurer'
-+if Facter.value(:osfamily) == "Solaris"
-+  require 'PuppetAudit'
-+end
- 
- class Puppet::Application::Apply < Puppet::Application
- 
-@@ -204,6 +207,12 @@
-     end
- 
-     begin
-+      # configure auditing on Solaris
-+      if Facter.value(:osfamily) == "Solaris"
-+          audit_handle = PuppetAudit.new
-+          audit_handle.audit_start
-+      end
-+
-       # Compile our catalog
-       starttime = Time.now
-       catalog = Puppet::Resource::Catalog.indirection.find(node.name, :use_node => node)
-@@ -232,6 +241,12 @@
-     rescue => detail
-       Puppet.log_exception(detail)
-       exit(1)
-+    ensure
-+      # clean up auditing records on Solaris
-+      if Facter.value(:osfamily) == "Solaris"
-+          audit_handle.audit_stop
-+          audit_handle.audit_teardown
-+      end
-     end
-   end
- 
--- a/components/puppet/patches/puppet-06-provider-smf.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-Add check for existence of smf service
---- puppet-3.4.1/lib/puppet/provider/service/smf.rb.orig	2013-07-15 09:23:24.667341073 -0600
-+++ puppet-3.4.1/lib/puppet/provider/service/smf.rb	2013-07-15 10:13:03.196178924 -0600
-@@ -80,9 +80,18 @@
-       return
-     end
- 
-+    # get the current state and the next state, and if the next
-+    # state is set (i.e. not "-") use it for state comparison
-+
-+    # Check to see if the service exists
-+    cmd = Array[command(:svccfg), "select", @resource[:name]]
-+    output = Puppet::Util::Execution.execute(
-+        cmd, :combine => true, :failonfail => false)
-+    if $CHILD_STATUS.exitstatus != 0
-+      info output
-+    end
-+
-     begin
--      # get the current state and the next state, and if the next
--      # state is set (i.e. not "-") use it for state comparison
-       states = svcs("-H", "-o", "state,nstate", @resource[:name]).chomp.split
-       state = states[1] == "-" ? states[0] : states[1]
-     rescue Puppet::ExecutionFailure
--- a/components/puppet/patches/puppet-07-PUP-2641.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-In-house patch to fix upstream bug PUP-2641
-https://tickets.puppetlabs.com/browse/PUP-2641
-Patch has been submitted upstream but not yet accepted.
-
---- puppet-3.4.1/lib/puppet/application/describe.rb.orig	2014-05-29 08:14:12.779421080 -0600
-+++ puppet-3.4.1/lib/puppet/application/describe.rb	2014-05-29 08:14:37.064254740 -0600
-@@ -70,13 +70,8 @@
-     }.each do |name|
-       type = @types[name]
-       s = type.doc.gsub(/\s+/, " ")
--      n = s.index(". ")
--      if n.nil?
--        s = ".. no documentation .."
--      elsif n > 45
-+      if s.length > 45
-         s = s[0, 45] + " ..."
--      else
--        s = s[0, n]
-       end
-       printf "%-15s - %s\n", name, s
-     end
--- a/components/puppet/patches/puppet-08-PUP-2509.patch	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-In-house patch to fix upstream bug PUP-2509
-https://tickets.puppetlabs.com/browse/PUP-2509
-Patch has been submitted upstream but not yet accepted.
-
---- puppet-3.4.1/lib/puppet/provider/service/smf.rb.orig	2014-05-29 08:23:38.214504274 -0600
-+++ puppet-3.4.1/lib/puppet/provider/service/smf.rb	2014-05-29 08:23:51.968114765 -0600
-@@ -32,7 +32,7 @@
-   end
- 
-   def self.instances
--   svcs.split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
-+   svcs("-H").split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
-      state,stime,fmri = line.split(/\s+/)
-      status =  case state
-                when /online/; :running
--- a/components/puppet/puppet.license	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-   Puppet - Automating Configuration Management.
-
-   Copyright (C) 2005-2012 Puppet Labs Inc
-
-   Puppet Labs can be contacted at: [email protected]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-
-The following applies to all products licensed under the Apache 2.0 License:
-
-You may not use the identified files except in compliance with the Apache License, Version 2.0 (the "License.")
- 
-You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.  A copy of the license is also reproduced below.
-
-Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-
-See the License for the specific language governing permissions and limitations under the License.
-
-		                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--- a/components/puppet/puppet.p5m	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1185 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
-#
-
-<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
-
-# do not look for .pyc files as the install.rb script does not compile
-# .py files as it installs
-<transform file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/.*\.py$ -> default pkg.tmp.autopyc false>
-set name=pkg.fmri \
-    value=pkg:/system/management/puppet@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-set name=pkg.summary value="Puppet - configuration management toolkit"
-set name=pkg.description \
-    value='Puppet is a flexible, customizable framework designed to help system administrators automate the many repetitive tasks they regularly perform. As a declarative, model-based approach to IT automation, it lets you define the desired state - or the "what" - of your infrastructure using the Puppet configuration language. Once these configurations are deployed, Puppet automatically installs the necessary packages and starts the related services, and then regularly enforces the desired state.'
-set name=com.oracle.info.description \
-    value="Puppet, a configuration management toolkit"
-set name=com.oracle.info.tpno value=16191
-set name=info.classification \
-    value="org.opensolaris.category.2008:System/Administration and Configuration"
-set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
-set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2013/005 value=PSARC/2013/218 \
-    value=PSARC/2013/221 value=PSARC/2013/288 value=PSARC/2013/426
-set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=etc/puppet owner=puppet group=puppet mode=0755
-file path=etc/puppet/auth.conf owner=puppet group=bin mode=0444
-file files/solaris/lib/puppet/provider/address_object/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/address_object/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/address_properties/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/address_properties/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/boot_environment/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/boot_environment/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/dns/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/dns/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/etherstub/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/etherstub/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/interface_properties/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/interface_properties/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/ip_interface/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/ip_interface/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/ip_tunnel/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/ip_tunnel/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/ipmp_interface/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/ipmp_interface/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/ldap/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/ldap/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/link_aggregation/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/link_aggregation/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/link_properties/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/link_properties/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/nis/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/nis/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/nsswitch/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/nsswitch/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/pkg_facet/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/pkg_facet/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/pkg_mediator/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/pkg_mediator/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/pkg_publisher/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/pkg_publisher/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/pkg_variant/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/pkg_variant/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/protocol_properties/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/protocol_properties/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/solaris_vlan/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/solaris_vlan/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/svccfg/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/svccfg/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/vni_interface/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/vni_interface/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/provider/vnic/solaris.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/provider/vnic/solaris.rb \
-    mode=0555
-file files/solaris/lib/puppet/type/address_object.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/address_object.rb mode=0555
-file files/solaris/lib/puppet/type/address_properties.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/address_properties.rb \
-    mode=0555
-file files/solaris/lib/puppet/type/boot_environment.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/boot_environment.rb \
-    mode=0555
-file files/solaris/lib/puppet/type/dns.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/dns.rb mode=0555
-file files/solaris/lib/puppet/type/etherstub.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/etherstub.rb mode=0555
-file files/solaris/lib/puppet/type/interface_properties.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/interface_properties.rb \
-    mode=0555
-file files/solaris/lib/puppet/type/ip_interface.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/ip_interface.rb mode=0555
-file files/solaris/lib/puppet/type/ip_tunnel.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/ip_tunnel.rb mode=0555
-file files/solaris/lib/puppet/type/ipmp_interface.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/ipmp_interface.rb mode=0555
-file files/solaris/lib/puppet/type/ldap.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/ldap.rb mode=0555
-file files/solaris/lib/puppet/type/link_aggregation.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/link_aggregation.rb \
-    mode=0555
-file files/solaris/lib/puppet/type/link_properties.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/link_properties.rb \
-    mode=0555
-file files/solaris/lib/puppet/type/nis.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/nis.rb mode=0555
-file files/solaris/lib/puppet/type/nsswitch.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/nsswitch.rb mode=0555
-file files/solaris/lib/puppet/type/pkg_facet.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/pkg_facet.rb mode=0555
-file files/solaris/lib/puppet/type/pkg_mediator.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/pkg_mediator.rb mode=0555
-file files/solaris/lib/puppet/type/pkg_publisher.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/pkg_publisher.rb mode=0555
-file files/solaris/lib/puppet/type/pkg_variant.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/pkg_variant.rb mode=0555
-file files/solaris/lib/puppet/type/protocol_properties.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/protocol_properties.rb \
-    mode=0555
-file files/solaris/lib/puppet/type/solaris_vlan.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/solaris_vlan.rb mode=0555
-file files/solaris/lib/puppet/type/svccfg.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/svccfg.rb mode=0555
-file files/solaris/lib/puppet/type/vni_interface.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/vni_interface.rb mode=0555
-file files/solaris/lib/puppet/type/vnic.rb \
-    path=etc/puppet/modules/solaris/lib/puppet/type/vnic.rb mode=0555
-file files/auth_attr path=etc/security/auth_attr.d/puppet
-file files/prof_attr path=etc/security/prof_attr.d/puppet
-file files/user_attr path=etc/user_attr.d/puppet
-file files/puppet.xml path=lib/svc/manifest/application/puppet.xml
-file files/puppet.stencil path=lib/svc/stencils/puppet.stencil
-file ext/PuppetAudit.so \
-    path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/$(MACH64)-solaris$(SOLARIS_VERSION)/PuppetAudit.so
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/hiera/backend/puppet_backend.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/hiera/scope.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/hiera_puppet.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/agent.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/agent/disabler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/agent/locker.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/agent.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/apply.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/catalog.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/cert.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/certificate.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/certificate_request.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/certificate_revocation_list.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/config.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/describe.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/device.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/doc.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/face_base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/facts.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/filebucket.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/help.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/indirection_base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/inspect.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/instrumentation_data.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/instrumentation_listener.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/instrumentation_probe.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/key.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/kick.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/man.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/master.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/module.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/node.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/plugin.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/queue.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/report.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/resource.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/resource_type.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/secret_agent.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/status.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/bindings.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/coercion.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/configurer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/configurer/downloader.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/configurer/fact_handler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/configurer/plugin_handler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/exists.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/false.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/feature.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/true.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/variable.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine_collection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confiner.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/daemon.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/data_binding.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/defaults.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/dsl.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/dsl/resource_api.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/dsl/resource_type_api.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/error.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/dot.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios/base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios/grammar.ry
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios/makefile
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/common.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/pure.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/pure/generator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/pure/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/version.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/catalog.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/catalog/select.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/certificate.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/certificate_request.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/certificate_revocation_list.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/config.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/facts.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/file/download.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/file/store.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help/action.erb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help/face.erb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help/global.erb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help/man.erb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/instrumentation_data.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/instrumentation_listener.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/instrumentation_probe.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/key.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/man.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/build.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/changes.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/generate.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/install.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/list.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/search.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/uninstall.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/upgrade.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/node.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/node/clean.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/plugin.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/report.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/resource.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/resource_type.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/secret_agent.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/status.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/eventlog.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/external_facts.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/libuser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/msgpack.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/pson.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/rack.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/rails.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/rdoc1.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/rubygems.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/selinux.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/ssh.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/stomp.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/zlib.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_bucket.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_bucket/dipper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_bucket/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_collection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_collection/lookup.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/configuration.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/configuration/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/content.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/fileset.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/metadata.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount/modules.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount/pluginfacts.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount/plugins.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/terminus_helper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/terminus_selector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/file18.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/file19.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/file19windows.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/memory_file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/path_pattern.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/tempfile.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/forge.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/forge/cache.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/forge/errors.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/forge/repository.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/key.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/prioritizer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/random_prioritizer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/rb_tree_map.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/relationship_graph.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/sequential_prioritizer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/simple_graph.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/title_hash_prioritizer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/active_record.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/active_record.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/compiler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/json.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/queue.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/static_compiler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/store_configs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate/ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate/disabled_ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/disabled_ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/memory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_revocation_list/ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_revocation_list/disabled_ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_revocation_list/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_revocation_list/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_status.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_status/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_status/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/code.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/couch.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/data_binding/hiera.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/data_binding/none.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/direct_file_server.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/envelope.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/errors.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/exec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/face.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/active_record.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/couch.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/facter.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/inventory_active_record.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/inventory_service.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/memory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/network_device.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/store_configs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_bucket_file/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_bucket_file/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_bucket_file/selector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content/file_server.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content/selector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata/file_server.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata/selector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_server.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/indirection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_data.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_data/local.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_data/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_listener.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_listener/local.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_listener/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_probe.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_probe/local.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_probe/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/json.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/key/ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/key/disabled_ca.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/key/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/key/memory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/ldap.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/memory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/active_record.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/exec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/ldap.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/memory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/plain.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/store_configs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/write_only_yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/none.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/plain.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/queue.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/report/processor.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/report/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/report/yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/request.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/active_record.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/ral.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/store_configs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/validator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource_type.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource_type/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource_type/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/run/local.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/run/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/ssl_file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/status.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/status/local.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/status/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/store_configs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/terminus.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/action.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/action_builder.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/action_manager.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/documentation.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/face_collection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/option.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/option_builder.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/option_manager.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/metatype/manager.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/application.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/builder.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/checksummer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/generator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/installer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/searcher.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/uninstaller.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/unpacker.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/upgrader.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/checksums.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/contents_description.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/dependency.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/installer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/shared.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/uninstaller.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/upgrader.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/install_directory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/metadata.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/modulefile.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/shared_behaviors.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/Modulefile.erb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/README.erb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/tar.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/tar/gnu.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/tar/mini.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/tar/solaris.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/auth_config_parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/authconfig.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/authentication.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/authorization.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/authstore.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/client_request.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/format.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/format_handler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/format_support.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/formats.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/api.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/api/v1.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/compression.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/connection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/handler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/rack.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/rack/httphandler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/rack/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/webrick.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/webrick/rest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http_pool.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/resolver.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/rest_controller.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/rights.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/server.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/node.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/node/environment.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/node/facts.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/boolean.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/package_options.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/path.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/value.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/value_collection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/arithmetic_operator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/astarray.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/asthash.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/block_expression.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/boolean_operator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/branch.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/caseopt.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/casestatement.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/collection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/collexpr.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/comparison_operator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/definition.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/else.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/function.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/hostclass.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/ifstatement.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/in_operator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/lambda.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/leaf.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/match_operator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/method_call.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/minus.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/node.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/nop.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/not.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/relationship.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource_defaults.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource_instance.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource_override.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource_reference.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resourceparam.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/selector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/tag.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/top_level_construct.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/vardef.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/collector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/compiler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/e_parser_adapter.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/files.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/collect.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/contain.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/create_resources.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/defined.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/each.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/extlookup.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/fail.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/filter.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/fqdn_rand.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/generate.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/hiera.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/hiera_array.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/hiera_hash.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/hiera_include.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/include.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/inline_template.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/lookup.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/map.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/md5.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/realize.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/reduce.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/regsubst.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/require.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/search.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/select.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/sha1.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/shellquote.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/slice.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/split.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/sprintf.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/tag.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/tagged.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/template.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/versioncmp.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/grammar.ra
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/lexer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/makefile
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/methods.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/parser_factory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/parser_support.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/relationship.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/resource.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/resource/param.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/scope.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/templatewrapper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/type_loader.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/yaml_trimmer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/adaptable.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/adapters.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/binder.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/binder_issues.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_checker.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_composer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_factory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_label_provider.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_loader.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_model.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_model_dumper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_validator_factory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/config/binder_config.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/config/binder_config_checker.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/config/diagnostic_producer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/config/issues.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/hiera2.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/hiera2/bindings_provider.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/hiera2/config.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/hiera2/config_checker.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/hiera2/diagnostic_producer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/hiera2/issues.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/hiera2/json_backend.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/hiera2/yaml_backend.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/injector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/injector_entry.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/key_factory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/producers.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/scheme_handler/confdir_hiera_scheme.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/scheme_handler/confdir_scheme.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/scheme_handler/module_hiera_scheme.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/scheme_handler/module_scheme.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/scheme_handler/symbolic_scheme.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/system_bindings.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/containment.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/issue_reporter.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/issues.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/label_provider.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/ast_transformer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/ast_tree_dumper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/factory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/model.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/model_label_provider.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/model_tree_dumper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/tree_dumper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/egrammar.ra
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/eparser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/evaluating_parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/grammar.ra
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/lexer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/makefile
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/parser_support.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/patterns.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/class_loader.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/type_calculator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/type_factory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/type_parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/types.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/utils.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/validation.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/validation/checker3_1.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/validation/validator_factory_3_1.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/visitable.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/visitor.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/boolean.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/ensure.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/keyvalue.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/list.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/ordered_list.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/aixobject.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/augeas/augeas.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/cisco.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/command.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/computer/computer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/confine.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/cron/crontab.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/exec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/exec/posix.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/exec/shell.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/exec/windows.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/file/posix.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/file/windows.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/aix.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/directoryservice.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/groupadd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/ldap.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/pw.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/windows_adsi.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/host/parsed.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/interface/cisco.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/ldap.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/macauthorization/macauthorization.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/mailalias/aliases.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/maillist/mailman.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/mcx/mcxcontent.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/mount.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/mount/parsed.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/naginator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/nameservice.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/nameservice/directoryservice.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/nameservice/objectadd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/nameservice/pw.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/network_device.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/aix.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/appdmg.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/apple.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/apt.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/aptitude.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/aptrpm.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/blastwave.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/dpkg.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/fink.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/freebsd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/gem.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/hpux.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/macports.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/msi.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/nim.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/openbsd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/opkg.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pacman.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pip.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pkg.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pkgdmg.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pkgin.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pkgutil.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/portage.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/ports.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/portupgrade.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/rpm.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/rug.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/sun.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/sunfreeware.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/up2date.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/urpmi.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/windows.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/windows/exe_package.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/windows/msi_package.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/windows/package.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/yum.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/yumhelper.py
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/zypper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/parsedfile.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/port/parsed.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/scheduled_task/win32_taskscheduler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/selboolean/getsetsebool.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/selmodule/semodule.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/bsd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/daemontools.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/debian.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/freebsd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/gentoo.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/init.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/launchd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/openbsd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/openrc.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/openwrt.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/redhat.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/runit.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/service.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/smf.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/src.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/systemd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/upstart.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/windows.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/ssh_authorized_key/parsed.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/sshkey/parsed.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/aix.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/directoryservice.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/hpux.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/ldap.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/pw.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/user_role_add.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/useradd.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/windows_adsi.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/vlan/cisco.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/zfs/zfs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/zone/solaris.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/zpool/zpool.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/benchmark.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/001_add_created_at_to_all_tables.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/003_add_environment_to_host.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/004_add_inventory_service_tables.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/schema.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/fact_name.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/fact_value.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/host.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/inventory_fact.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/inventory_node.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/param_name.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/param_value.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/puppet_tag.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/resource.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/resource_tag.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/source_file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/configuration.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/function.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/indirection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/metaparameter.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/providers.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/report.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/type.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/relationship.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/http.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/log.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/rrdgraph.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/store.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/tagmail.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/catalog.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/status.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/type.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/type_collection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/type_collection_helper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/run.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler/job.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler/scheduler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler/splay_job.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler/timer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/autosign_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/base_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/boolean_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/config_file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/directory_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/duration_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/enum_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/errors.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/file_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/path_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/priority_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/string_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/terminus_setting.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/value_translator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_authority.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_authority/autosign_command.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_authority/interface.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_factory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_request.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_request_attributes.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_revocation_list.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_signer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/configuration.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/digest.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/host.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/inventory.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/key.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/oids.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/validator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/validator/default_validator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/validator/no_validator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/status.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/test/test_helper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/additional_resource_generator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/event.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/event_manager.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/report.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/resource_harness.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/augeas.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/component.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/computer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/cron.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/exec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/checksum.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/content.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/ctime.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/ensure.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/group.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/mode.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/mtime.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/owner.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/selcontext.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/source.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/target.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/type.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/filebucket.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/group.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/host.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/interface.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/k5login.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/macauthorization.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/mailalias.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/maillist.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/mcx.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/mount.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_command.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_contact.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_contactgroup.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_host.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_hostdependency.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_hostescalation.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_hostextinfo.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_hostgroup.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_service.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_servicedependency.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_serviceescalation.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_serviceextinfo.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_servicegroup.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_timeperiod.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/notify.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/package.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/port.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/resources.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/router.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/schedule.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/scheduled_task.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/selboolean.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/selmodule.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/service.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/ssh_authorized_key.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/sshkey.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/stage.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/tidy.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/user.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/vlan.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/whit.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/yumrepo.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/zfs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/zone.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/zpool.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/adsi.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/autoload.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/backups.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/cacher.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/checksums.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/classgen.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/colors.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/command_line.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/command_line/puppet_option_parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/command_line/trollop.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/constant_inflector.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/diff.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/docs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/errors.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/execution.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/execution_stub.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/feature.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/file_watcher.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/fileparsing.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/filetype.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/http_proxy.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/inifile.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/inline_docs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instance_loader.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/data.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/indirection_probe.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/instrumentable.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/listener.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/listeners/log.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/listeners/performance.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/json_lockfile.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ldap.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ldap/connection.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ldap/generator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ldap/manager.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/libuser.conf
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/libuser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/limits.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/lockfile.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/log.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/log/destination.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/log/destinations.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/log/rate_limited_logger.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/logging.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/metaid.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/methodhelper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/metric.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/monkey_patches.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/monkey_patches/lines.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/nagios_maker.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/cisco.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/cisco/device.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/cisco/facts.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/cisco/interface.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/config.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/ipcalc.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/transport.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/transport/base.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/transport/ssh.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/transport/telnet.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/package.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/pidlock.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/platform.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/plugins.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/posix.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler/logging.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler/none.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler/object_counts.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler/wall_clock.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/provider_features.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/pson.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/queue.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/queue/stomp.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rails/cache_accumulator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rails/collection_merger.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rails/reference_serializer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/code_objects.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/generators/puppet_generator.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/generators/template/puppet/puppet.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/parser.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/parser/puppet_parser_core.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/parser/puppet_parser_rdoc1.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/reference.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/resource_template.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/retryaction.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rubygems.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/run_mode.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/selinux.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ssl.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/storage.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/suidmanager.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/symbolic_file_mode.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/tag_set.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/tagging.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/terminal.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/user_attr.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/warnings.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watched_file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watcher.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watcher/change_watcher.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watcher/periodic_watcher.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watcher/timer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/access_control_entry.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/access_control_list.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/error.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/file.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/process.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/registry.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/root_certs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/security.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/security_descriptor.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/sid.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/user.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/zaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/load_safe_yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/require_vendored.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/CHANGES.md
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/Gemfile
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/LICENSE.txt
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/README.md
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/Rakefile
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/safe_yaml.gemspec
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/exploit.$(RUBY_VERSION).2.yaml
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/exploit.$(RUBY_VERSION).3.yaml
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/resolver_specs.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/spec_helper.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml_patches.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/version.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx/puppet/bindings_scheme_handler.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx/puppet/hiera2_backend.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx/puppet/syntax_checker.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx/puppetlabs/syntax_checkers/json.rb
-file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/semver.rb
-file path=usr/sbin/extlookup2hiera
-file path=usr/sbin/puppet
-file path=usr/share/man/man5/puppet.conf.5
-file path=usr/share/man/man8/extlookup2hiera.8
-file path=usr/share/man/man8/puppet-agent.8
-file path=usr/share/man/man8/puppet-apply.8
-file path=usr/share/man/man8/puppet-ca.8
-file path=usr/share/man/man8/puppet-catalog.8
-file path=usr/share/man/man8/puppet-cert.8
-file path=usr/share/man/man8/puppet-certificate.8
-file path=usr/share/man/man8/puppet-certificate_request.8
-file path=usr/share/man/man8/puppet-certificate_revocation_list.8
-file path=usr/share/man/man8/puppet-config.8
-file path=usr/share/man/man8/puppet-describe.8
-file path=usr/share/man/man8/puppet-device.8
-file path=usr/share/man/man8/puppet-doc.8
-file path=usr/share/man/man8/puppet-facts.8
-file path=usr/share/man/man8/puppet-file.8
-file path=usr/share/man/man8/puppet-filebucket.8
-file path=usr/share/man/man8/puppet-help.8
-file path=usr/share/man/man8/puppet-inspect.8
-file path=usr/share/man/man8/puppet-instrumentation_data.8
-file path=usr/share/man/man8/puppet-instrumentation_listener.8
-file path=usr/share/man/man8/puppet-instrumentation_probe.8
-file path=usr/share/man/man8/puppet-key.8
-file path=usr/share/man/man8/puppet-kick.8
-file path=usr/share/man/man8/puppet-man.8
-file path=usr/share/man/man8/puppet-master.8
-file path=usr/share/man/man8/puppet-module.8
-file path=usr/share/man/man8/puppet-node.8
-file path=usr/share/man/man8/puppet-parser.8
-file path=usr/share/man/man8/puppet-plugin.8
-file path=usr/share/man/man8/puppet-queue.8
-file path=usr/share/man/man8/puppet-report.8
-file path=usr/share/man/man8/puppet-resource.8
-file path=usr/share/man/man8/puppet-resource_type.8
-file path=usr/share/man/man8/puppet-secret_agent.8
-file path=usr/share/man/man8/puppet-status.8
-file path=usr/share/man/man8/puppet.8
-dir  path=var/lib/puppet owner=puppet group=puppet mode=0755
-dir  path=var/log/puppet owner=puppet group=puppet mode=0755
-group groupname=puppet gid=40
-user username=puppet ftpuser=false gcos-field="Puppet Admin" group=puppet \
-    home-dir=/etc/puppet login-shell=/bin/false uid=40
-license puppet.license license="Apache v2.0"
-# Puppet has a hard dependency on facter.
-# Since ruby paths were changed in S11.2 build 36, ensure if puppet 
-# is updated using new ruby paths, facter is updated as well.
-depend type=require fmri=system/management/[email protected],5.11-0.175.2.0.0.36.0
--- a/components/puppet/resolve.deps	Wed Nov 05 23:11:09 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-runtime/ruby-19
-shell/ksh93
-system/core-os
-system/library
-system/library/gcc/gcc-c-runtime
-system/library/math
-system/linker
-system/network
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/Makefile	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,79 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+include ../../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=		puppet
+COMPONENT_VERSION=	3.6.2
+COMPONENT_PROJECT_URL=	http://puppetlabs.com/
+COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH=	\
+    sha256:9114c63108c58e39db84937cb8f7e1add3dcbaa08fd730f631de6a7f64a3c360
+COMPONENT_ARCHIVE_URL=	$(COMPONENT_PROJECT_URL)downloads/puppet/$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=	utility/puppet
+
+TPNO=			18128
+
+include $(WS_TOP)/make-rules/prep.mk
+include $(WS_TOP)/make-rules/install.rb.mk
+include $(WS_TOP)/make-rules/ips.mk
+
+# puppet requires facter and hiera as part of the install phase 
+COMPONENT_INSTALL_ENV	+= RUBYLIB="$(COMPONENT_DIR)/../facter/build/$(MACH64)/lib:$(COMPONENT_DIR)/../hiera/build/$(MACH64)/lib"
+
+../facter/build/%/.installed:
+	(cd ../facter ; $(GMAKE) install)
+
+../hiera/build/%/.installed:
+	(cd ../hiera ; $(GMAKE) install)
+
+# set the bindir to /usr/sbin
+INSTALL_RB_BINDIR =	$(USRSBINDIR)
+
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+
+# pass Ruby values onto the package manfiest
+PKG_MACROS +=	RUBY_VERSION=$(RUBY_VERSION)
+PKG_MACROS +=	RUBY_LIB_VERSION=$(RUBY_LIB_VERSION)
+
+# common targets
+build:		$(BUILD_64)
+	# Ruby extension for auditing
+	(cd ext; $(RUBY) extconf.rb; $(GMAKE))
+
+# make sure facter and hiera are installed first
+install:	../facter/build/$(MACH64)/.installed ../hiera/build/$(MACH64)/.installed $(INSTALL_64)
+
+clean::
+	@if [ -f ext/Makefile ]; then \
+		(cd ext; $(GMAKE) clean; $(RM) Makefile) \
+	fi
+
+# puppet requires the installation of the following rubygems to run
+# the unittests:  rspec rspec-expectations mocha rack rgen
+# Disable the tests until these rubygems are available.
+test:		$(NO_TESTS)
+
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
+
+include $(WS_TOP)/make-rules/depend.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/depend.mk	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,1 @@
+ruby/puppet:		ruby/facter ruby/hiera
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/ext/extconf.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,5 @@
+require 'mkmf'
+$CPPFLAGS = "-I/usr/include -I/usr/include/bsm"
+$LDFLAGS  = "-L/usr/lib"
+$LOCAL_LIBS = "-lbsm"
+create_makefile("PuppetAudit")
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/ext/puppet_audit.c	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,169 @@
+/*
+ * 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.
+ */
+
+/*
+ * Ruby binding for libbsm used by Puppet to record audit events
+ */
+
+#include <ruby.h>
+#include <pwd.h>
+#include <nss_dbdefs.h>
+#include <bsm/adt.h>
+#include <bsm/adt_event.h>
+
+VALUE cPuppetAudit;
+
+VALUE
+audit_new(VALUE class)
+{
+	adt_session_data_t	*ah;
+	VALUE			data;
+
+	if (adt_start_session(&ah, NULL, 0) != 0) {
+		perror("puppet adt_start_session");
+		exit(1);
+	}
+	data = Data_Wrap_Struct(class, 0, 0, ah);
+	rb_obj_call_init(data, 0, 0);
+	return (data);
+}
+
+static VALUE
+audit_init(VALUE self)
+{
+	adt_session_data_t	*ah;
+	adt_termid_t		*tid;
+	struct passwd		pwd, *result;
+	char			*buffer;
+	size_t			size = NSS_BUFLEN_PASSWD;
+
+	Data_Get_Struct(self, adt_session_data_t, ah);
+
+	if (adt_load_hostname(NULL, &tid) != 0) {
+		perror("puppet adt_load_hostname");
+		(void) adt_end_session(ah);
+		exit(1);
+	}
+
+	if ((buffer = malloc(size)) == NULL)
+		exit(1);
+
+	/* set "puppet" as user name and preselection */
+	if (getpwnam_r("puppet", &pwd, buffer, size, &result) != 0) {
+		perror("puppet getpwnam_r(puppet)");
+		(void) adt_end_session(ah);
+		free(buffer);
+		exit(1);
+	}
+
+	if (result == NULL) {
+		perror("puppet getpwnam_r(puppet)");
+		(void) adt_end_session(ah);
+		free(buffer);
+		exit(1);
+	}
+
+	if (adt_set_user(ah, result->pw_uid, result->pw_gid, result->pw_uid,
+	    result->pw_gid, tid, ADT_NEW) != 0) {
+		perror("puppet adt_set_user");
+		free(tid);
+		(void) adt_end_session(ah);
+		free(buffer);
+		exit(1);
+	}
+	free(tid);
+
+	/* set audit context on this process */
+	if (adt_set_proc(ah) != 0) {
+		perror("puppet adt_set_proc");
+		(void) adt_end_session(ah);
+		free(buffer);
+		exit(1);
+	}
+	free(buffer);
+	return (self);
+}
+
+static VALUE
+audit_start(VALUE self)
+{
+	adt_event_data_t	*event;
+	adt_session_data_t	*ah;
+
+	Data_Get_Struct(self, adt_session_data_t, ah);
+
+	if ((event = adt_alloc_event(ah, ADT_puppet_session_start)) == NULL) {
+		perror("adt_alloc_event(ADT_puppet_session_start)");
+		(void) adt_end_session(ah);
+		ah = NULL;
+	} else {
+		if (adt_put_event(event, ADT_SUCCESS, ADT_SUCCESS) != 0) {
+			perror("adt_put_event(ADT_puppet_session_start)");
+		}
+		adt_free_event(event);
+	}
+	return (self);
+}
+
+static VALUE
+audit_stop(VALUE self)
+{
+	adt_event_data_t	*event;
+	adt_session_data_t	*ah;
+
+	Data_Get_Struct(self, adt_session_data_t, ah);
+
+	if ((event = adt_alloc_event(ah, ADT_puppet_session_end)) == NULL) {
+		perror("adt_alloc_event(ADT_puppet_session_end)");
+	} else {
+		if (adt_put_event(event, ADT_SUCCESS, ADT_SUCCESS) != 0) {
+			perror("adt_put_event(ADT_puppet_session_end)");
+		}
+		adt_free_event(event);
+	}
+	return (self);
+}
+
+static VALUE
+audit_teardown(VALUE self)
+{
+	adt_session_data_t	*ah;
+
+	Data_Get_Struct(self, adt_session_data_t, ah);
+
+	(void) adt_end_session(ah);
+	return (self);
+}
+
+void
+Init_PuppetAudit()
+{
+	cPuppetAudit = rb_define_class("PuppetAudit", rb_cObject);
+	rb_define_singleton_method(cPuppetAudit, "new", audit_new, 0);
+	rb_define_method(cPuppetAudit, "initialize", audit_init, 0);
+	rb_define_method(cPuppetAudit, "audit_start", audit_start, 0);
+	rb_define_method(cPuppetAudit, "audit_stop", audit_stop, 0);
+	rb_define_method(cPuppetAudit, "audit_teardown", audit_teardown, 0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/UPDATE_README.txt	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,33 @@
+When updating puppet to a newer version one of the required update
+steps is to update the puppet SMF configuration file.  To aid in
+that process the update_smf.py utility can be used to automate the
+regeneration of this file.  To use this utility follow the outlined
+steps below.
+
+
+1. Update the puppet release and perform all update activities
+   associated with it.
+
+2. Generate and install the puppet release on a system.
+
+3. Execute the following puppet command
+
+$ puppet agent --genconfig > puppet.conf
+
+4. Copy or make available the puppet.conf file created in step 3
+   to the system with the userland tree
+
+5. Execute the following commands:
+
+$ cd <userland>/components/puppet/files
+$ python update_smf.py -c <path>/puppet.conf -s puppet.xml 
+      -v <puppet_version> -o puppet.new.xml
+
+6. Perform a quick check of the resulting SMF file puppet.new.xml
+   to make sure everything looks correct. 
+
+7. Update the current puppet.xml file with the new version
+
+$ mv puppet.new.xml puppet.xml
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/auth_attr	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,2 @@
+solaris.smf.manage.puppet:::Manage puppet master states::
+solaris.smf.value.puppet:::Change puppet master properties::
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/prof_attr	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,1 @@
+Puppet Management:RO::Manage the puppet master service:auths=solaris.smf.manage.puppet,solaris.smf.value.puppet
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/puppet.stencil	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,13 @@
+# WARNING: THIS FILE GENERATED FROM SMF DATA.
+#     DO NOT EDIT THIS FILE.  EDITS WILL BE LOST.
+#
+# See puppet.conf(5) and http://docs.puppetlabs.com/guides/configuring.html
+# for details.
+; walk each instance and extract all properties from the config PG
+$%/(svc:/$%s:(.*)/:properties)/ {
+$%{$%1/general/enabled:?
+[$%2]
+$%/$%1/config/(.*)/ {
+$%3 = $%{$%1/config/$%3} }
+}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/puppet.xml	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,2192 @@
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+ 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, 2014, Oracle and/or its affiliates. All rights reserved.
+
+ NOTE:  This service manifest is not editable; its contents will
+ be overwritten by package or patch operations, including
+ operating system upgrade.  Make customizations in a different
+ file.
+-->
+<service_bundle type="manifest" name="puppet">
+  <service name="application/puppet" type="service" version="1">
+    <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+      <service_fmri value="svc:/system/filesystem/minimal"/>
+    </dependency>
+    <dependency name="network" grouping="require_all" restart_on="error" type="service">
+      <service_fmri value="svc:/milestone/network"/>
+    </dependency>
+    <dependency name="identity" grouping="require_all" restart_on="error" type="service">
+      <service_fmri value="svc:/system/identity:node"/>
+    </dependency>
+    <exec_method type="method" name="start" exec=":true" timeout_seconds="60"/>
+    <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60"/>
+    <property_group name="general" type="framework">
+      <!-- to start stop puppet -->
+      <propval name="action_authorization" type="astring" value="solaris.smf.manage.puppet"/>
+      <!-- to change puppet properties -->
+      <propval name="value_authorization" type="astring" value="solaris.smf.value.puppet"/>
+    </property_group>
+    <property_group name="puppet_stencil" type="configfile">
+      <propval name="path" type="astring" value="/etc/puppet/puppet.conf"/>
+      <propval name="stencil" type="astring" value="puppet.stencil"/>
+      <propval name="mode" type="astring" value="0444"/>
+    </property_group>
+    <instance name="master" enabled="false">
+      <exec_method type="method" name="start" exec="/usr/sbin/puppet master --logdest %{config/logdest}" timeout_seconds="600"/>
+      <property_group name="config" type="application">
+        <propval name="logdest" type="astring" value="/var/log/puppet/puppet-master.log"/>
+      </property_group>
+    </instance>
+    <instance name="agent" enabled="false">
+      <exec_method type="method" name="start" exec="/usr/sbin/puppet agent --logdest %{config/logdest}" timeout_seconds="600"/>
+      <property_group name="config" type="application">
+        <propval name="logdest" type="astring" value="/var/log/puppet/puppet-agent.log"/>
+      </property_group>
+    </instance>
+    <stability value="Unstable"/>
+    <template>
+      <common_name>
+        <loctext xml:lang="C">Puppet version 3.6.2</loctext>
+      </common_name>
+      <documentation>
+        <manpage title="puppet-master" section="8" manpath="/usr/share/man"/>
+      </documentation>
+      <pg_pattern required="false" type="application" name="config">
+        <prop_pattern required="false" type="astring" name="agent_catalog_run_lockfile">
+          <description>
+            <loctext xml:lang="C">
+A lock file to indicate that a puppet agent catalog run is currently in progress.
+The file contains the pid of the process that holds the lock on the catalog run.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="agent_disabled_lockfile">
+          <description>
+            <loctext xml:lang="C">
+A lock file to indicate that puppet agent runs have been administratively
+disabled.  File contains a JSON object with state information.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="allow_duplicate_certs">
+          <description>
+            <loctext xml:lang="C">
+Whether to allow a new certificate
+request to overwrite an existing certificate.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="allow_variables_with_dashes">
+          <description>
+            <loctext xml:lang="C">
+Permit hyphens (`-`) in variable names and issue deprecation warnings about
+them. This setting **should always be `false`;** setting it to `true`
+will cause subtle and wide-ranging bugs. It will be removed in a future version.
+
+Hyphenated variables caused major problems in the language, but were allowed
+between Puppet 2.7.3 and 2.7.14. If you used them during this window, we
+apologize for the inconvenience --- you can temporarily set this to `true`
+in order to upgrade, and can rename your variables at your leisure. Please
+revert it to `false` after you have renamed all affected variables.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="archive_file_server">
+          <description>
+            <loctext xml:lang="C">
+During an inspect run, the file bucket server to archive files to if archive_files is set.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="archive_files">
+          <description>
+            <loctext xml:lang="C">
+During an inspect run, whether to archive files whose contents are audited to a file bucket.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="async_storeconfigs">
+          <description>
+            <loctext xml:lang="C">
+Whether to use a queueing system to provide asynchronous database integration.
+Requires that `puppet queue` be running.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="autoflush">
+          <description>
+            <loctext xml:lang="C">
+Whether log files should always flush to disk.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="autosign">
+          <description>
+            <loctext xml:lang="C">
+Whether (and how) to autosign certificate requests. This setting
+is only relevant on a puppet master acting as a certificate authority (CA).
+
+Valid values are true (autosigns all certificate requests; not recommended),
+false (disables autosigning certificates), or the absolute path to a file.
+
+The file specified in this setting may be either a **configuration file**
+or a **custom policy executable.** Puppet will automatically determine
+what it is: If the Puppet user (see the `user` setting) can execute the
+file, it will be treated as a policy executable; otherwise, it will be
+treated as a config file.
+
+If a custom policy executable is configured, the CA puppet master will run it
+every time it receives a CSR. The executable will be passed the subject CN of the
+request _as a command line argument,_ and the contents of the CSR in PEM format
+_on stdin._ It should exit with a status of 0 if the cert should be autosigned
+and non-zero if the cert should not be autosigned.
+
+If a certificate request is not autosigned, it will persist for review. An admin
+user can use the `puppet cert sign` command to manually sign it, or can delete
+the request.
+
+For info on autosign configuration files, see
+[the guide to Puppet's config files](http://docs.puppetlabs.com/guides/configuring.html).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="basemodulepath">
+          <description>
+            <loctext xml:lang="C">
+The search path for **global** modules. Should be specified as a
+list of directories separated by the system path separator character. (The
+POSIX path separator is ':', and the Windows path separator is ';'.)
+
+If you are using directory environments, these are the modules that will
+be used by _all_ environments. Note that the `modules` directory of the active
+environment will have priority over any global directories. For more info, see
+http://docs.puppetlabs.com/puppet/latest/reference/environments.html
+
+This setting also provides the default value for the deprecated `modulepath`
+setting, which is used when directory environments are disabled.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="biff">
+          <description>
+            <loctext xml:lang="C">
+Turns on Biff the catalog builder, future parser, and future evaluator.
+This is an experimental feature - and this setting may go away before
+release of Pupet 3.6.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="net_address" name="bindaddress">
+          <description>
+            <loctext xml:lang="C">
+The address a listening server should bind to.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="binder">
+          <description>
+            <loctext xml:lang="C">
+Turns the binding system on or off. This includes bindings in modules.
+The binding system aggregates data from modules and other locations and makes them available for lookup.
+The binding system is experimental and any or all of it may change.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="binder_config">
+          <description>
+            <loctext xml:lang="C">
+The binder configuration file. Puppet reads this file on each request to configure the bindings system.
+If set to nil (the default), a $confdir/binder_config.yaml is optionally loaded. If it does not exists, a default configuration
+is used. If the setting :binding_config is specified, it must reference a valid and existing yaml file.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="bucketdir">
+          <description>
+            <loctext xml:lang="C">
+Where FileBucket files are stored.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="ca">
+          <description>
+            <loctext xml:lang="C">
+Whether the master should function as a certificate authority.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ca_name">
+          <description>
+            <loctext xml:lang="C">
+The name to use the Certificate Authority certificate.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="ca_port">
+          <description>
+            <loctext xml:lang="C">
+The port to use for the certificate authority.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="ca_server">
+          <description>
+            <loctext xml:lang="C">
+The server to use for certificate
+authority requests.  It's a separate server because it cannot
+and does not need to horizontally scale.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="ca_ttl">
+          <description>
+            <loctext xml:lang="C">
+The default TTL for new certificates.
+This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="cacert">
+          <description>
+            <loctext xml:lang="C">
+The CA certificate.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="cacrl">
+          <description>
+            <loctext xml:lang="C">
+The certificate revocation list (CRL) for the CA. Will be used if present but otherwise ignored.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="cadir">
+          <description>
+            <loctext xml:lang="C">
+The root directory for the certificate authority.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="cakey">
+          <description>
+            <loctext xml:lang="C">
+The CA private key.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="capass">
+          <description>
+            <loctext xml:lang="C">
+Where the CA stores the password for the private key.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="caprivatedir">
+          <description>
+            <loctext xml:lang="C">
+Where the CA stores private certificate information.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="capub">
+          <description>
+            <loctext xml:lang="C">
+The CA public key.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="catalog_cache_terminus">
+          <description>
+            <loctext xml:lang="C">
+How to store cached catalogs. Valid values are 'json', 'msgpack' and 'yaml'. The agent application defaults to 'json'.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="catalog_format">
+          <description>
+            <loctext xml:lang="C">
+(Deprecated for 'preferred_serialization_format') What format to
+use to dump the catalog.  Only supports 'marshal' and 'yaml'.  Only
+matters on the client, since it asks the server for a specific format.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="catalog_terminus">
+          <description>
+            <loctext xml:lang="C">
+Where to get node catalogs.  This is useful to change if, for instance,
+you'd like to pre-compile catalogs and store them in memcached or some other easily-accessed store.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="cert_inventory">
+          <description>
+            <loctext xml:lang="C">
+The inventory file. This is a text file to which the CA writes a
+complete listing of all certificates.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="certdir">
+          <description>
+            <loctext xml:lang="C">
+The certificate directory.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="certdnsnames">
+          <description>
+            <loctext xml:lang="C">
+The `certdnsnames` setting is no longer functional,
+after CVE-2011-3872. We ignore the value completely.
+
+For your own certificate request you can set `dns_alt_names` in the
+configuration and it will apply locally.  There is no configuration option to
+set DNS alt names, or any other `subjectAltName` value, for another nodes
+certificate.
+
+Alternately you can use the `--dns_alt_names` command line option to set the
+labels added while generating your own CSR.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="certificate_expire_warning">
+          <description>
+            <loctext xml:lang="C">
+The window of time leading up to a certificate's expiration that a notification
+will be logged. This applies to CA, master, and agent certificates. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="certificate_revocation">
+          <description>
+            <loctext xml:lang="C">
+Whether certificate revocation should be supported by downloading a
+Certificate Revocation List (CRL)
+to all clients.  If enabled, CA chaining will almost definitely not work.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="hostname" name="certname">
+          <description>
+            <loctext xml:lang="C">
+The name to use when handling certificates.  Defaults
+to the fully qualified domain name.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="classfile">
+          <description>
+            <loctext xml:lang="C">
+The file in which puppet agent stores a list of the classes
+associated with the retrieved configuration.  Can be loaded in
+the separate `puppet` executable using the `--loadclasses`
+option.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="client_datadir">
+          <description>
+            <loctext xml:lang="C">
+The directory in which serialized data is stored on the client.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="clientbucketdir">
+          <description>
+            <loctext xml:lang="C">
+Where FileBucket files are stored locally.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="clientyamldir">
+          <description>
+            <loctext xml:lang="C">
+The directory in which client-side YAML data is stored.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="code">
+          <description>
+            <loctext xml:lang="C">
+Code to parse directly.  This is essentially only used
+by `puppet`, and should only be set if you're writing your own Puppet
+executable.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="color">
+          <description>
+            <loctext xml:lang="C">
+Whether to use colors when logging to the console.  Valid values are
+`ansi` (equivalent to `true`), `html`, and `false`, which produces no color.
+Defaults to false on Windows, as its console does not support ansi colors.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="confdir">
+          <description>
+            <loctext xml:lang="C">
+The main Puppet configuration directory.  The default for this setting
+is calculated based on the user.  If the process is running as root or
+the user that Puppet is supposed to run as, it defaults to a system
+directory, but if it's running as any other user, it defaults to being
+in the user's home directory.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="config">
+          <description>
+            <loctext xml:lang="C">
+The configuration file for the current puppet application.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="config_file_name">
+          <description>
+            <loctext xml:lang="C">
+The name of the puppet config file.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="config_version">
+          <description>
+            <loctext xml:lang="C">
+How to determine the configuration version.  By default, it will be the
+time that the configuration is parsed, but you can provide a shell script to override how the
+version is determined.  The output of this script will be added to every log message in the
+reports, allowing you to correlate changes on your hosts to the source version on the server.
+
+Setting a global value for config_version in puppet.conf is deprecated. Please set a
+per-environment value in environment.conf instead. For more info, see
+http://docs.puppetlabs.com/puppet/latest/reference/environments.html
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="configprint">
+          <description>
+            <loctext xml:lang="C">
+Print the value of a specific configuration setting.  If the name of a
+setting is provided for this, then the value is printed and puppet
+exits.  Comma-separate multiple values.  For a list of all values,
+specify 'all'.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="configtimeout">
+          <description>
+            <loctext xml:lang="C">
+How long the client should wait for the configuration to be retrieved
+before considering it a failure.  This can help reduce flapping if too
+many clients contact the server at one time. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="uri" name="couchdb_url">
+          <description>
+            <loctext xml:lang="C">
+The url where the puppet couchdb database will be created.
+Only used when `facts_terminus` is set to `couch`.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="csr_attributes">
+          <description>
+            <loctext xml:lang="C">
+An optional file containing custom attributes to add to certificate signing
+requests (CSRs). You should ensure that this file does not exist on your CA
+puppet master; if it does, unwanted certificate extensions may leak into
+certificates created with the `puppet cert generate` command.
+
+If present, this file must be a YAML hash containing a `custom_attributes` key
+and/or an `extension_requests` key. The value of each key must be a hash, where
+each key is a valid OID and each value is an object that can be cast to a string.
+
+Custom attributes can be used by the CA when deciding whether to sign the
+certificate, but are then discarded. Attribute OIDs can be any OID value except
+the standard CSR attributes (i.e. attributes described in RFC 2985 section 5.4).
+This is useful for embedding a pre-shared key for autosigning policy executables
+(see the `autosign` setting), often by using the `1.2.840.113549.1.9.7`
+("challenge password") OID.
+
+Extension requests will be permanently embedded in the final certificate.
+Extension OIDs must be in the "ppRegCertExt" (`1.3.6.1.4.1.34380.1.1`) or
+"ppPrivCertExt" (`1.3.6.1.4.1.34380.1.2`) OID arcs. The ppRegCertExt arc is
+reserved for four of the most common pieces of data to embed: `pp_uuid` (`.1`),
+`pp_instance_id` (`.2`), `pp_image_name` (`.3`), and `pp_preshared_key` (`.4`)
+--- in the YAML file, these can be referred to by their short descriptive names
+instead of their full OID. The ppPrivCertExt arc is unregulated, and can be used
+for site-specific extensions.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="csrdir">
+          <description>
+            <loctext xml:lang="C">
+Where the CA stores certificate requests
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="daemonize">
+          <description>
+            <loctext xml:lang="C">
+Whether to send the process into the background.  This defaults
+to true on POSIX systems, and to false on Windows (where Puppet
+currently cannot daemonize).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="data_binding_terminus">
+          <description>
+            <loctext xml:lang="C">
+Where to retrive information about data.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dbadapter">
+          <description>
+            <loctext xml:lang="C">
+The type of database to use. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dbconnections">
+          <description>
+            <loctext xml:lang="C">
+The number of database connections for networked
+databases.  Will be ignored unless the value is a positive integer. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dblocation">
+          <description>
+            <loctext xml:lang="C">
+The sqlite database file. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="dbmigrate">
+          <description>
+            <loctext xml:lang="C">
+Whether to automatically migrate the database. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dbname">
+          <description>
+            <loctext xml:lang="C">
+The name of the database to use. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dbpassword">
+          <description>
+            <loctext xml:lang="C">
+The database password for caching. Only
+used when networked databases are used. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dbport">
+          <description>
+            <loctext xml:lang="C">
+The database password for caching. Only
+used when networked databases are used. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="dbserver">
+          <description>
+            <loctext xml:lang="C">
+The database server for caching. Only
+used when networked databases are used.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dbsocket">
+          <description>
+            <loctext xml:lang="C">
+The database socket location. Only used when networked
+databases are used.  Will be ignored if the value is an empty string. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dbuser">
+          <description>
+            <loctext xml:lang="C">
+The database user for caching. Only
+used when networked databases are used. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="default_file_terminus">
+          <description>
+            <loctext xml:lang="C">
+The default source for files if no server is given in a
+uri, e.g. puppet:///file. The default of `rest` causes the file to be
+retrieved using the `server` setting. When running `apply` the default
+is `file_server`, causing requests to be filled locally.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="default_schedules">
+          <description>
+            <loctext xml:lang="C">
+Boolean; whether to generate the default schedule resources. Setting this to
+false is useful for keeping external report processors clean of skipped schedule resources.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="deviceconfig">
+          <description>
+            <loctext xml:lang="C">
+Path to the device config file for puppet device.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="devicedir">
+          <description>
+            <loctext xml:lang="C">
+The root directory of devices' $vardir.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="diff">
+          <description>
+            <loctext xml:lang="C">
+Which diff command to use when printing differences between files. This setting
+has no default value on Windows, as standard `diff` is not available, but Puppet can use many
+third-party diff tools.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="diff_args">
+          <description>
+            <loctext xml:lang="C">
+Which arguments to pass to the diff command when printing differences between
+files. The command to use can be chosen with the `diff` setting.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="digest_algorithm">
+          <description>
+            <loctext xml:lang="C">
+Which digest algorithm to use for file resources and the filebucket.
+Valid values are md5, sha256. Default is md5.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="disable_warnings">
+          <description>
+            <loctext xml:lang="C">
+A list of warning types to disable. Currently the only warning type that can be
+disabled are deprecations, but more warning types may be added later.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="dns_alt_names">
+          <description>
+            <loctext xml:lang="C">
+The comma-separated list of alternative DNS names to use for the local host.
+
+When the node generates a CSR for itself, these are added to the request
+as the desired `subjectAltName` in the certificate: additional DNS labels
+that the certificate is also valid answering as.
+
+This is generally required if you use a non-hostname `certname`, or if you
+want to use `puppet kick` or `puppet resource -H` and the primary certname
+does not match the DNS name you use to communicate with the host.
+
+This is unnecessary for agents, unless you intend to use them as a server for
+`puppet kick` or remote `puppet resource` management.
+
+It is rarely necessary for servers; it is usually helpful only if you need to
+have a pool of multiple load balanced masters, or for the same master to
+respond on two physically separate networks under different names.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="document_all">
+          <description>
+            <loctext xml:lang="C">
+Whether to document all resources when using `puppet doc` to
+generate manifest documentation.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="dynamicfacts">
+          <description>
+            <loctext xml:lang="C">
+(Deprecated) Facts that are dynamic; these facts will be ignored when deciding whether
+changed facts should result in a recompile.  Multiple facts should be
+comma-separated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="environment">
+          <description>
+            <loctext xml:lang="C">
+The environment Puppet is running in.  For clients
+(e.g., `puppet agent`) this determines the environment itself, which
+is used to find modules and much more.  For servers (i.e., `puppet master`)
+this provides the default environment for nodes we know nothing about.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="environment_timeout">
+          <description>
+            <loctext xml:lang="C">
+The time to live for a cached environment. The time is either given This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y)., or
+the word 'unlimited' which causes the environment to be cached until the master is restarted.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="environmentpath">
+          <description>
+            <loctext xml:lang="C">
+A search path for directory environments, as a list of directories
+separated by the system path separator character. (The POSIX path separator
+is ':', and the Windows path separator is ';'.)
+
+This setting must have a value set to enable **directory environments.** The
+recommended value is `$confdir/environments`. For more details, see
+http://docs.puppetlabs.com/puppet/latest/reference/environments.html
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="evaltrace">
+          <description>
+            <loctext xml:lang="C">
+Whether each resource should log when it is
+being evaluated.  This allows you to interactively see exactly
+what is being done.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="evaluator">
+          <description>
+            <loctext xml:lang="C">
+Which evaluator to use when compiling Puppet manifests. Valid values
+are `current` and `future` (the default).
+
+**Note:** This setting is only used when `parser = future`. It allows
+testers to turn off the `future` evaluator when doing detailed tests and
+comparisons of the new compilation system.
+
+Evaluation is the second stage of catalog compilation. After the parser
+converts a manifest to a model of expressions, the evaluator processes
+each expression. (For example, a resource declaration signals the
+evaluator to add a resource to the catalog).
+
+The `future` parser and evaluator are slated to become default in Puppet
+4. Their purpose is to add new features and improve consistency
+and reliability.
+
+Available Since Puppet 3.5.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="external_nodes">
+          <description>
+            <loctext xml:lang="C">
+An external command that can produce node information.  The command's output
+must be a YAML dump of a hash, and that hash must have a `classes` key and/or
+a `parameters` key, where `classes` is an array or hash and
+`parameters` is a hash.  For unknown nodes, the command should
+exit with a non-zero exit code.
+
+This command makes it straightforward to store your node mapping
+information in other data sources like databases.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="factpath">
+          <description>
+            <loctext xml:lang="C">
+Where Puppet should look for facts.  Multiple directories should
+be separated by the system path separator character. (The POSIX path
+separator is ':', and the Windows path separator is ';'.)
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="facts_terminus">
+          <description>
+            <loctext xml:lang="C">
+The node facts terminus.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="fileserverconfig">
+          <description>
+            <loctext xml:lang="C">
+Where the fileserver configuration is stored.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="filetimeout">
+          <description>
+            <loctext xml:lang="C">
+The minimum time to wait between checking for updates in
+configuration files.  This timeout determines how quickly Puppet checks whether
+a file (such as manifests or templates) has changed on disk. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="freeze_main">
+          <description>
+            <loctext xml:lang="C">
+Freezes the 'main' class, disallowing any code to be added to it.  This
+essentially means that you can't have any code outside of a node,
+class, or definition other than in the site manifest.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="genmanifest">
+          <description>
+            <loctext xml:lang="C">
+Whether to just print a manifest to stdout and exit.  Only makes
+sense when specified on the command line as `--genmanifest`.  Takes into account arguments specified
+on the CLI.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="graph">
+          <description>
+            <loctext xml:lang="C">
+Whether to create dot graph files for the different
+configuration graphs.  These dot files can be interpreted by tools
+like OmniGraffle or dot (which is part of ImageMagick).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="graphdir">
+          <description>
+            <loctext xml:lang="C">
+Where to store dot-outputted graphs.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="group">
+          <description>
+            <loctext xml:lang="C">
+The group puppet master should run as.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="hiera_config">
+          <description>
+            <loctext xml:lang="C">
+The hiera configuration file. Puppet only reads this file on startup, so you must restart the puppet master every time you edit it.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="hostcert">
+          <description>
+            <loctext xml:lang="C">
+Where individual hosts store and look for their certificates.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="hostcrl">
+          <description>
+            <loctext xml:lang="C">
+Where the host's certificate revocation list can be found.
+This is distinct from the certificate authority's CRL.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="hostcsr">
+          <description>
+            <loctext xml:lang="C">
+Where individual hosts store and look for their certificate requests.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="hostprivkey">
+          <description>
+            <loctext xml:lang="C">
+Where individual hosts store and look for their private key.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="hostpubkey">
+          <description>
+            <loctext xml:lang="C">
+Where individual hosts store and look for their public key.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="http_compression">
+          <description>
+            <loctext xml:lang="C">
+Allow http compression in REST communication with the master.
+This setting might improve performance for agent -&gt; master
+communications over slow WANs. Your puppet master needs to support
+compression (usually by activating some settings in a reverse-proxy in
+front of the puppet master, which rules out webrick). It is harmless to
+activate this settings if your master doesn't support compression, but
+if it supports it, this setting might reduce performance on high-speed LANs.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="http_proxy_host">
+          <description>
+            <loctext xml:lang="C">
+The HTTP proxy host to use for outgoing connections.  Note: You
+may need to use a FQDN for the server hostname when using a proxy.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="http_proxy_port">
+          <description>
+            <loctext xml:lang="C">
+The HTTP proxy port to use for outgoing connections
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="httplog">
+          <description>
+            <loctext xml:lang="C">
+Where the puppet agent web server logs.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="ignorecache">
+          <description>
+            <loctext xml:lang="C">
+Ignore cache and always recompile the configuration.  This is
+useful for testing new configurations, where the local cache may in
+fact be stale even if the timestamps are up to date - if the facts
+change or if the server changes.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="ignoreimport">
+          <description>
+            <loctext xml:lang="C">
+If true, allows the parser to continue without requiring
+all files referenced with `import` statements to exist. This setting was primarily
+designed for use with commit hooks for parse-checking.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="ignoremissingtypes">
+          <description>
+            <loctext xml:lang="C">
+Skip searching for classes and definitions that were missing during a
+prior compilation. The list of missing objects is maintained per-environment and
+persists until the environment is cleared or the master is restarted.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="ignoreschedules">
+          <description>
+            <loctext xml:lang="C">
+Boolean; whether puppet agent should ignore schedules.  This is useful
+for initial puppet agent runs.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="immutable_node_data">
+          <description>
+            <loctext xml:lang="C">
+When true, also prevents $trusted and $facts from being overridden in any scope
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="inventory_port">
+          <description>
+            <loctext xml:lang="C">
+The port to communicate with the inventory_server.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="inventory_server">
+          <description>
+            <loctext xml:lang="C">
+The server to send facts to.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="inventory_terminus">
+          <description>
+            <loctext xml:lang="C">
+Should usually be the same as the facts terminus
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="keylength">
+          <description>
+            <loctext xml:lang="C">
+The bit length of keys.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="lastrunfile">
+          <description>
+            <loctext xml:lang="C">
+Where puppet agent stores the last run report summary in yaml format.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="lastrunreport">
+          <description>
+            <loctext xml:lang="C">
+Where puppet agent stores the last run report in yaml format.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ldapattrs">
+          <description>
+            <loctext xml:lang="C">
+The LDAP attributes to include when querying LDAP for nodes.  All
+returned attributes are set as variables in the top-level scope.
+Multiple values should be comma-separated.  The value 'all' returns
+all attributes.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ldapbase">
+          <description>
+            <loctext xml:lang="C">
+The search base for LDAP searches.  It's impossible to provide
+a meaningful default here, although the LDAP libraries might
+have one already set.  Generally, it should be the 'ou=Hosts'
+branch under your main directory.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ldapclassattrs">
+          <description>
+            <loctext xml:lang="C">
+The LDAP attributes to use to define Puppet classes.  Values
+should be comma-separated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ldapparentattr">
+          <description>
+            <loctext xml:lang="C">
+The attribute to use to define the parent node.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ldappassword">
+          <description>
+            <loctext xml:lang="C">
+The password to use to connect to LDAP.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="ldapport">
+          <description>
+            <loctext xml:lang="C">
+The LDAP port.  Only used if `node_terminus` is set to `ldap`.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="ldapserver">
+          <description>
+            <loctext xml:lang="C">
+The LDAP server.  Only used if `node_terminus` is set to `ldap`.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="ldapssl">
+          <description>
+            <loctext xml:lang="C">
+Whether SSL should be used when searching for nodes.
+Defaults to false because SSL usually requires certificates
+to be set up on the client side.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ldapstackedattrs">
+          <description>
+            <loctext xml:lang="C">
+The LDAP attributes that should be stacked to arrays by adding
+the values in all hierarchy elements of the tree.  Values
+should be comma-separated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ldapstring">
+          <description>
+            <loctext xml:lang="C">
+The search string used to find an LDAP node.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="ldaptls">
+          <description>
+            <loctext xml:lang="C">
+Whether TLS should be used when searching for nodes.
+Defaults to false because TLS usually requires certificates
+to be set up on the client side.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="hostname" name="ldapuser">
+          <description>
+            <loctext xml:lang="C">
+The user to use to connect to LDAP.  Must be specified as a
+full DN.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="legacy_query_parameter_serialization">
+          <description>
+            <loctext xml:lang="C">
+The serialization format to use when sending file_metadata
+query parameters.  Older versions of puppet master expect certain query
+parameters to be serialized as yaml, which is deprecated.
+
+This should almost always be false. It can be temporarily set to true
+to let agents using this Puppet version connect to a puppet master
+running Puppet 3.0.0 through 3.2.x.
+
+Note that this is set to true automatically if the agent detects an
+older master, so should never need to be set explicitly.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="libdir">
+          <description>
+            <loctext xml:lang="C">
+An extra search path for Puppet.  This is only useful
+for those files that Puppet will load on demand, and is only
+guaranteed to work for those cases.  In fact, the autoload
+mechanism is responsible for making sure this directory
+is in Ruby's search path
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="listen">
+          <description>
+            <loctext xml:lang="C">
+Whether puppet agent should listen for
+connections.  If this is true, then puppet agent will accept incoming
+REST API requests, subject to the default ACLs and the ACLs set in
+the `rest_authconfig` file. Puppet agent can respond usefully to
+requests on the `run`, `facts`, `certificate`, and `resource` endpoints.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="localcacert">
+          <description>
+            <loctext xml:lang="C">
+Where each client stores the CA certificate.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="localconfig">
+          <description>
+            <loctext xml:lang="C">
+Where puppet agent caches the local configuration.  An
+extension indicating the cache format is added automatically.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="log_level">
+          <description>
+            <loctext xml:lang="C">
+Default logging level
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="logdir">
+          <description>
+            <loctext xml:lang="C">
+The directory in which to store log files
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="manage_internal_file_permissions">
+          <description>
+            <loctext xml:lang="C">
+Whether Puppet should manage the owner, group, and mode of files it uses internally
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="manifest">
+          <description>
+            <loctext xml:lang="C">
+The entry-point manifest for puppet master. This can be one file
+or a directory of manifests to be evaluated in alphabetical order. Puppet manages
+this path as a directory if one exists or if the path ends with a / or \.
+
+Setting a global value for `manifest` in puppet.conf is deprecated. Please use
+directory environments instead. If you need to use something other than the
+environment's `manifests` directory as the main manifest, you can set
+`manifest` in environment.conf. For more info, see
+http://docs.puppetlabs.com/puppet/latest/reference/environments.html
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="manifestdir">
+          <description>
+            <loctext xml:lang="C">
+Used to build the default value of the `manifest` setting. Has no other purpose.
+
+This setting is deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="masterhttplog">
+          <description>
+            <loctext xml:lang="C">
+Where the puppet master web server logs.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="masterlog">
+          <description>
+            <loctext xml:lang="C">
+Where puppet master logs.  This is generally not used,
+since syslog is the default log destination.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="masterport">
+          <description>
+            <loctext xml:lang="C">
+The port for puppet master traffic. For puppet master,
+this is the port to listen on; for puppet agent, this is the port
+to make requests on. Both applications use this setting to get the port.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="max_deprecations">
+          <description>
+            <loctext xml:lang="C">
+Sets the max number of logged/displayed parser validation deprecation
+warnings in case multiple errors have been detected. A value of 0 is the
+same as value 1. The count is per manifest.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="max_errors">
+          <description>
+            <loctext xml:lang="C">
+Sets the max number of logged/displayed parser validation errors in case
+multiple errors have been detected. A value of 0 is the same as value 1.
+The count is per manifest.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="max_warnings">
+          <description>
+            <loctext xml:lang="C">
+Sets the max number of logged/displayed parser validation warnings in
+case multiple errors have been detected. A value of 0 is the same as
+value 1. The count is per manifest.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="maximum_uid">
+          <description>
+            <loctext xml:lang="C">
+The maximum allowed UID.  Some platforms use negative UIDs
+but then ship with tools that do not know how to handle signed ints,
+so the UIDs show up as huge numbers that can then not be fed back into
+the system.  This is a hackish way to fail in a slightly more useful
+way when that happens.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="mkusers">
+          <description>
+            <loctext xml:lang="C">
+Whether to create the necessary user and group that puppet agent will run as.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="uri" name="module_repository">
+          <description>
+            <loctext xml:lang="C">
+The module repository
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="module_skeleton_dir">
+          <description>
+            <loctext xml:lang="C">
+The directory which the skeleton for module tool generate is stored.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="module_working_dir">
+          <description>
+            <loctext xml:lang="C">
+The directory into which module tool data is stored
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="modulepath">
+          <description>
+            <loctext xml:lang="C">
+The search path for modules, as a list of directories separated by the system
+path separator character. (The POSIX path separator is ':', and the
+Windows path separator is ';'.)
+
+Setting a global value for `modulepath` in puppet.conf is deprecated. Please use
+directory environments instead. If you need to use something other than the
+default modulepath of `&lt;ACTIVE ENVIRONMENT'S MODULES DIR&gt;:$basemodulepath`,
+you can set `modulepath` in environment.conf. For more info, see
+http://docs.puppetlabs.com/puppet/latest/reference/environments.html
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="name">
+          <description>
+            <loctext xml:lang="C">
+The name of the application, if we are running as one.  The
+default is essentially $0 without the path or `.rb`.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="node_cache_terminus">
+          <description>
+            <loctext xml:lang="C">
+How to store cached nodes.
+Valid values are (none), 'json', 'msgpack', 'yaml' or write only yaml ('write_only_yaml').
+The master application defaults to 'write_only_yaml', all others to none.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="node_name">
+          <description>
+            <loctext xml:lang="C">
+How the puppet master determines the client's identity
+and sets the 'hostname', 'fqdn' and 'domain' facts for use in the manifest,
+in particular for determining which 'node' statement applies to the client.
+Possible values are 'cert' (use the subject's CN in the client's
+certificate) and 'facter' (use the hostname that the client
+reported in its facts)
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="node_name_fact">
+          <description>
+            <loctext xml:lang="C">
+The fact name used to determine the node name used for all requests the agent
+makes to the master. WARNING: This setting is mutually exclusive with
+node_name_value.  Changing this setting also requires changes to the default
+auth.conf configuration on the Puppet Master.  Please see
+http://links.puppetlabs.com/node_name_fact for more information.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="node_name_value">
+          <description>
+            <loctext xml:lang="C">
+The explicit value used for the node name for all requests the agent
+makes to the master. WARNING: This setting is mutually exclusive with
+node_name_fact.  Changing this setting also requires changes to the default
+auth.conf configuration on the Puppet Master.  Please see
+http://links.puppetlabs.com/node_name_value for more information.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="node_terminus">
+          <description>
+            <loctext xml:lang="C">
+Where to find information about nodes.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="noop">
+          <description>
+            <loctext xml:lang="C">
+Whether to apply catalogs in noop mode, which allows Puppet to
+partially simulate a normal run. This setting affects puppet agent and
+puppet apply.
+
+When running in noop mode, Puppet will check whether each resource is in sync,
+like it does when running normally. However, if a resource attribute is not in
+the desired state (as declared in the catalog), Puppet will take no
+action, and will instead report the changes it _would_ have made. These
+simulated changes will appear in the report sent to the puppet master, or
+be shown on the console if running puppet agent or puppet apply in the
+foreground. The simulated changes will not send refresh events to any
+subscribing or notified resources, although Puppet will log that a refresh
+event _would_ have been sent.
+
+**Important note:**
+noop)
+allows you to apply individual resources in noop mode, and will override
+the global value of the `noop` setting. This means a resource with
+`noop =&gt; false` _will_ be changed if necessary, even when running puppet
+agent with `noop = true` or `--noop`. (Conversely, a resource with
+`noop =&gt; true` will only be simulated, even when noop mode is globally disabled.)
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="onetime">
+          <description>
+            <loctext xml:lang="C">
+Perform one configuration run and exit, rather than spawning a long-running
+daemon. This is useful for interactively running puppet agent, or
+running puppet agent from cron.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ordering">
+          <description>
+            <loctext xml:lang="C">
+How unrelated resources should be ordered when applying a catalog.
+Allowed values are `title-hash`, `manifest`, and `random`. This
+setting affects puppet agent and puppet apply, but not puppet master.
+
+* `title-hash` (the default) will order resources randomly, but will use
+  the same order across runs and across nodes.
+* `manifest` will use the order in which the resources were declared in
+  their manifest files.
+* `random` will order resources randomly and change their order with each
+  run. This can work like a fuzzer for shaking out undeclared dependencies.
+
+Regardless of this setting's value, Puppet will always obey explicit
+dependencies set with the before/require/notify/subscribe metaparameters
+and the `-&gt;`/`~&gt;` chaining arrows; this setting only affects the relative
+ordering of _unrelated_ resources.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="parser">
+          <description>
+            <loctext xml:lang="C">
+Selects the parser to use for parsing puppet manifests (in puppet DSL
+language/'.pp' files). Available choices are `current` (the default)
+and `future`.
+
+The `curent` parser means that the released version of the parser should
+be used.
+
+The `future` parser is a "time travel to the future" allowing early
+exposure to new language features. What these features are will vary from
+release to release and they may be invididually configurable.
+
+Available Since Puppet 3.2.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="passfile">
+          <description>
+            <loctext xml:lang="C">
+Where puppet agent stores the password for its private key.
+Generally unused.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="path">
+          <description>
+            <loctext xml:lang="C">
+The shell search path.  Defaults to whatever is inherited
+from the parent process.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="pidfile">
+          <description>
+            <loctext xml:lang="C">
+The file containing the PID of a running process.
+This file is intended to be used by service management frameworks
+and monitoring systems to determine if a puppet process is still in
+the process table.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="plugindest">
+          <description>
+            <loctext xml:lang="C">
+Where Puppet should store plugins that it pulls down from the central
+server.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="pluginfactdest">
+          <description>
+            <loctext xml:lang="C">
+Where Puppet should store external facts that are being handled by pluginsync
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="pluginfactsource">
+          <description>
+            <loctext xml:lang="C">
+Where to retrieve external facts for pluginsync
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="pluginsignore">
+          <description>
+            <loctext xml:lang="C">
+What files to ignore when pulling down plugins.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="pluginsource">
+          <description>
+            <loctext xml:lang="C">
+From where to retrieve plugins.  The standard Puppet `file` type
+is used for retrieval, so anything that is a valid file source can
+be used here.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="pluginsync">
+          <description>
+            <loctext xml:lang="C">
+Whether plugins should be synced with the central server.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="postrun_command">
+          <description>
+            <loctext xml:lang="C">
+A command to run after every agent run.  If this command returns a non-zero
+return code, the entire Puppet run will be considered to have failed, even though it might have
+performed work during the normal run.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="preferred_serialization_format">
+          <description>
+            <loctext xml:lang="C">
+The preferred means of serializing
+ruby instances for passing over the wire.  This won't guarantee that all
+instances will be serialized using this method, since not all classes
+can be guaranteed to support this format, but it will be used for all
+classes that support it.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="prerun_command">
+          <description>
+            <loctext xml:lang="C">
+A command to run before every agent run.  If this command returns a non-zero
+return code, the entire Puppet run will fail.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="priority">
+          <description>
+            <loctext xml:lang="C">
+The scheduling priority of the process.  Valid values are 'high',
+'normal', 'low', or 'idle', which are mapped to platform-specific
+values.  The priority can also be specified as an integer value and
+will be passed as is, e.g. -5.  Puppet must be running as a privileged
+user in order to increase scheduling priority.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="privatedir">
+          <description>
+            <loctext xml:lang="C">
+Where the client stores private certificate information.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="privatekeydir">
+          <description>
+            <loctext xml:lang="C">
+The private key directory.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="profile">
+          <description>
+            <loctext xml:lang="C">
+Whether to enable experimental performance profiling
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="publickeydir">
+          <description>
+            <loctext xml:lang="C">
+The public key directory.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="puppetdlog">
+          <description>
+            <loctext xml:lang="C">
+The log file for puppet agent.  This is generally not used.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="puppetport">
+          <description>
+            <loctext xml:lang="C">
+Which port puppet agent listens on.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="uri" name="queue_source">
+          <description>
+            <loctext xml:lang="C">
+Which type of queue to use for asynchronous processing.  If your stomp server requires
+authentication, you can include it in the URI as long as your stomp client library is at least 1.1.1
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="queue_type">
+          <description>
+            <loctext xml:lang="C">
+Which type of queue to use for asynchronous processing.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="rails_loglevel">
+          <description>
+            <loctext xml:lang="C">
+The log level for Rails connections.  The value must be
+a valid log level within Rails.  Production environments normally use `info`
+and other environments normally use `debug`. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="railslog">
+          <description>
+            <loctext xml:lang="C">
+Where Rails-specific logs are sent. This setting is only used by the ActiveRecord storeconfigs and inventory backends, which are deprecated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="report">
+          <description>
+            <loctext xml:lang="C">
+Whether to send reports after every transaction.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="report_port">
+          <description>
+            <loctext xml:lang="C">
+The port to communicate with the report_server.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="report_serialization_format">
+          <description>
+            <loctext xml:lang="C">
+The serialization format to use when sending reports to the
+`report_server`. Possible values are `pson` and `yaml`. This setting
+affects puppet agent, but not puppet apply (which processes its own
+reports).
+
+This should almost always be set to `pson`. It can be temporarily set to
+`yaml` to let agents using this Puppet version connect to a puppet master
+running Puppet 3.0.0 through 3.2.x.
+
+Note that this is set to 'yaml' automatically if the agent detects an
+older master, so should never need to be set explicitly.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="report_server">
+          <description>
+            <loctext xml:lang="C">
+The server to send transaction reports to.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="reportdir">
+          <description>
+            <loctext xml:lang="C">
+The directory in which to store reports. Each node gets
+a separate subdirectory in this directory. This setting is only
+used when the `store` report processor is enabled (see the
+`reports` setting).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="reportfrom">
+          <description>
+            <loctext xml:lang="C">
+The 'from' email address for the reports.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="reports">
+          <description>
+            <loctext xml:lang="C">
+The list of report handlers to use. When using multiple report handlers,
+their names should be comma-separated, with whitespace allowed. (For example,
+`reports = http, tagmail`.)
+
+This setting is relevant to puppet master and puppet apply. The puppet
+master will call these report handlers with the reports it receives from
+agent nodes, and puppet apply will call them with its own report. (In
+all cases, the node applying the catalog must have `report = true`.)
+
+See the report reference for information on the built-in report
+handlers; custom report handlers can also be loaded from modules.
+(Report handlers are loaded from the lib directory, at
+`puppet/reports/NAME.rb`.)
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="uri" name="reporturl">
+          <description>
+            <loctext xml:lang="C">
+The URL that reports should be forwarded to. This setting
+is only used when the `http` report processor is enabled (see the
+`reports` setting).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="req_bits">
+          <description>
+            <loctext xml:lang="C">
+The bit length of the certificates.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="requestdir">
+          <description>
+            <loctext xml:lang="C">
+Where host certificate requests are stored.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="resourcefile">
+          <description>
+            <loctext xml:lang="C">
+The file in which puppet agent stores a list of the resources
+associated with the retrieved configuration.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="rest_authconfig">
+          <description>
+            <loctext xml:lang="C">
+The configuration file that defines the rights to the different
+rest indirections.  This can be used as a fine-grained
+authorization system for `puppet master`.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="route_file">
+          <description>
+            <loctext xml:lang="C">
+The YAML file containing indirector route configuration.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="rrddir">
+          <description>
+            <loctext xml:lang="C">
+The directory where RRD database files are stored.
+Directories for each reporting host will be created under
+this directory.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="rrdinterval">
+          <description>
+            <loctext xml:lang="C">
+How often RRD should expect data.
+This should match how often the hosts report back to the server. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="rundir">
+          <description>
+            <loctext xml:lang="C">
+Where Puppet PID files are kept.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="runinterval">
+          <description>
+            <loctext xml:lang="C">
+How often puppet agent applies the catalog.
+Note that a runinterval of 0 means "run continuously" rather than
+"never run." If you want puppet agent to never run, you should start
+it with the `--no-client` option. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="sendmail">
+          <description>
+            <loctext xml:lang="C">
+Where to find the sendmail binary with which to send email.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="serial">
+          <description>
+            <loctext xml:lang="C">
+Where the serial number for certificates is stored.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="server">
+          <description>
+            <loctext xml:lang="C">
+The puppet master server to which the puppet agent should connect.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="server_datadir">
+          <description>
+            <loctext xml:lang="C">
+The directory in which serialized data is stored, usually in a subdirectory.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="show_diff">
+          <description>
+            <loctext xml:lang="C">
+Whether to log and report a contextual diff when files are being replaced.
+This causes partial file contents to pass through Puppet's normal
+logging and reporting system, so this setting should be used with
+caution if you are sending Puppet's reports to an insecure
+destination. This feature currently requires the `diff/lcs` Ruby
+library.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="signeddir">
+          <description>
+            <loctext xml:lang="C">
+Where the CA stores signed certificates.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="smtphelo">
+          <description>
+            <loctext xml:lang="C">
+The name by which we identify ourselves in SMTP HELO for reports.
+If you send to a smtpserver which does strict HELO checking (as with Postfix's
+`smtpd_helo_restrictions` access controls), you may need to ensure this resolves.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="smtpport">
+          <description>
+            <loctext xml:lang="C">
+The TCP port through which to send email reports.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="smtpserver">
+          <description>
+            <loctext xml:lang="C">
+The server through which to send email reports.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="splay">
+          <description>
+            <loctext xml:lang="C">
+Whether to sleep for a pseudo-random (but consistent) amount of time before
+a run.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="splaylimit">
+          <description>
+            <loctext xml:lang="C">
+The maximum time to delay before runs.  Defaults to being the same as the
+run interval. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="host" name="srv_domain">
+          <description>
+            <loctext xml:lang="C">
+The domain which will be queried to find the SRV records of servers to use.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ssl_client_ca_auth">
+          <description>
+            <loctext xml:lang="C">
+Certificate authorities who issue server certificates.  SSL servers will not be
+considered authentic unless they possess a certificate issued by an authority
+listed in this file.  If this setting has no value then the Puppet master's CA
+certificate (localcacert) will be used.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ssl_client_header">
+          <description>
+            <loctext xml:lang="C">
+The header containing an authenticated client's SSL DN.
+This header must be set by the proxy to the authenticated client's SSL
+DN (e.g., `/CN=puppet.puppetlabs.com`).  Puppet will parse out the Common
+Name (CN) from the Distinguished Name (DN) and use the value of the CN
+field for authorization.
+
+Note that the name of the HTTP header gets munged by the web server
+common gateway inteface: an `HTTP_` prefix is added, dashes are converted
+to underscores, and all letters are uppercased.  Thus, to use the
+`X-Client-DN` header, this setting should be `HTTP_X_CLIENT_DN`.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ssl_client_verify_header">
+          <description>
+            <loctext xml:lang="C">
+The header containing the status message of the client
+verification. This header must be set by the proxy to 'SUCCESS' if the
+client successfully authenticated, and anything else otherwise.
+
+Note that the name of the HTTP header gets munged by the web server
+common gateway inteface: an `HTTP_` prefix is added, dashes are converted
+to underscores, and all letters are uppercased.  Thus, to use the
+`X-Client-Verify` header, this setting should be
+`HTTP_X_CLIENT_VERIFY`.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ssl_server_ca_auth">
+          <description>
+            <loctext xml:lang="C">
+Certificate authorities who issue client certificates.  SSL clients will not be
+considered authentic unless they possess a certificate issued by an authority
+listed in this file.  If this setting has no value then the Puppet master's CA
+certificate (localcacert) will be used.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="ssldir">
+          <description>
+            <loctext xml:lang="C">
+Where SSL certificates are kept.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="statedir">
+          <description>
+            <loctext xml:lang="C">
+The directory where Puppet state is stored.  Generally,
+this directory can be removed without causing harm (although it
+might result in spurious service restarts).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="statefile">
+          <description>
+            <loctext xml:lang="C">
+Where puppet agent and puppet master store state associated
+with the running configuration.  In the case of puppet master,
+this file reflects the state discovered through interacting
+with clients.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="storeconfigs">
+          <description>
+            <loctext xml:lang="C">
+Whether to store each client's configuration, including catalogs, facts,
+and related data.  This also enables the import and export of resources in
+the Puppet language - a mechanism for exchange resources between nodes.
+
+By default this uses ActiveRecord and an SQL database to store and query
+the data; this, in turn, will depend on Rails being available.
+
+You can adjust the backend using the storeconfigs_backend setting.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="storeconfigs_backend">
+          <description>
+            <loctext xml:lang="C">
+Configure the backend terminus used for StoreConfigs.
+By default, this uses the ActiveRecord store, which directly talks to the
+database from within the Puppet Master process.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="strict_hostname_checking">
+          <description>
+            <loctext xml:lang="C">
+Whether to only search for the complete
+hostname as it is in the certificate when searching for node information
+in the catalogs.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="strict_variables">
+          <description>
+            <loctext xml:lang="C">
+Makes the parser raise errors when referencing unknown variables. (This does not affect
+referencing variables that are explicitly set to undef).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="stringify_facts">
+          <description>
+            <loctext xml:lang="C">
+to_s. Means you can't have arrays or
+hashes as fact values.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="summarize">
+          <description>
+            <loctext xml:lang="C">
+Whether to print a transaction summary.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="syslogfacility">
+          <description>
+            <loctext xml:lang="C">
+What syslog facility to use when logging to syslog.
+Syslog has a fixed list of valid facilities, and you must
+choose one of those; you cannot just make one up.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="tagmap">
+          <description>
+            <loctext xml:lang="C">
+The mapping between reporting tags and email addresses.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="tags">
+          <description>
+            <loctext xml:lang="C">
+Tags to use to find resources.  If this is set, then
+only resources tagged with the specified tags will be applied.
+Values must be comma-separated.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="templatedir">
+          <description>
+            <loctext xml:lang="C">
+Where Puppet looks for template files.  Can be a list of colon-separated
+directories.
+
+This setting is deprecated. Please put your templates in modules instead.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="thin_storeconfigs">
+          <description>
+            <loctext xml:lang="C">
+Boolean; whether Puppet should store only facts and exported resources in the storeconfigs
+database. This will improve the performance of exported resources with the older
+`active_record` backend, but will disable external tools that search the storeconfigs database.
+Thinning catalogs is generally unnecessary when using PuppetDB to store catalogs.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="trace">
+          <description>
+            <loctext xml:lang="C">
+Whether to print stack traces on some errors
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="trusted_node_data">
+          <description>
+            <loctext xml:lang="C">
+Stores trusted node data in a hash called $trusted.
+When true also prevents $trusted from being overridden in any scope.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="use_cached_catalog">
+          <description>
+            <loctext xml:lang="C">
+Whether to only use the cached catalog rather than compiling a new catalog
+on every run.  Puppet can be run with this enabled by default and then selectively
+disabled when a recompile is desired.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="use_srv_records">
+          <description>
+            <loctext xml:lang="C">
+Whether the server will search for SRV records in DNS for the current domain.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="usecacheonfailure">
+          <description>
+            <loctext xml:lang="C">
+Whether to use the cached configuration when the remote
+configuration will not compile.  This option is useful for testing
+new configurations, where you want to fix the broken configuration
+rather than reverting to a known-good one.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="user">
+          <description>
+            <loctext xml:lang="C">
+The user puppet master should run as.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="vardir">
+          <description>
+            <loctext xml:lang="C">
+Where Puppet stores dynamic and growing data.  The default for this
+setting is calculated specially, like `confdir`_.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="integer" name="waitforcert">
+          <description>
+            <loctext xml:lang="C">
+How frequently puppet agent should ask for a signed certificate.
+
+When starting for the first time, puppet agent will submit a certificate
+signing request (CSR) to the server named in the `ca_server` setting
+(usually the puppet master); this may be autosigned, or may need to be
+approved by a human, depending on the CA server's configuration.
+
+Puppet agent cannot apply configurations until its approved certificate is
+available. Since the certificate may or may not be available immediately,
+puppet agent will repeatedly try to fetch it at this interval. You can
+turn off waiting for certificates by specifying a time of 0, in which case
+puppet agent will exit if it cannot get a cert.
+This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="astring" name="yamldir">
+          <description>
+            <loctext xml:lang="C">
+The directory in which YAML data is stored, usually in a subdirectory.
+	    </loctext>
+          </description>
+        </prop_pattern>
+        <prop_pattern required="false" type="boolean" name="zlib">
+          <description>
+            <loctext xml:lang="C">
+Boolean; whether to use the zlib library
+	    </loctext>
+          </description>
+        </prop_pattern>
+      </pg_pattern>
+    </template>
+  </service>
+</service_bundle>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/address_object/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,150 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:address_object).provide(:address_object) do
+    desc "Provider for creating Oracle Solaris address objects"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :ipadm => '/usr/sbin/ipadm'
+
+    def self.instances
+        ipadm("show-addr", "-p", "-o", "addrobj,type,state,addr").split(
+              "\n").collect do |line|
+            addrobj, type, state, addr = line.split(":", 4)
+
+            # replace any hypen with an underscore
+            type = type.gsub(/\-/, "_")
+
+            # look to see if this is a point-to-point address object
+            if addr.include?("->")
+                local, remote = addr.split("->")
+                local = locale.delete("\\")
+                remote = remote.delete("\\")
+            elsif type.downcase == "dhcp" and addr == "?"
+                local = nil
+                remote = nil
+            else
+                local = addr.delete("\\")
+                remote = nil
+            end
+
+            if state == "ok"
+                enable = :true
+            else
+                enable = :false
+            end
+
+            new(:name => addrobj,
+                :ensure => :present,
+                :address_type => type,
+                :enable => enable,
+                :address => local,
+                :remote_address => remote)
+        end
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        addrobjs = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = addrobjs.find{ |addrobj| addrobj.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    # property getters
+    Puppet::Type.type(:address_object).validproperties.each do |field|
+        next if field == :ensure
+        define_method(field) do
+            @property_hash[field]
+        end
+    end
+
+    def add_options
+        options = []
+        if @resource[:temporary] == :true
+            options << "-t"
+        end
+
+        if address_type = @resource[:address_type]
+            options << "-T" << address_type
+        end
+
+        if address = @resource[:address]
+            options << "-a" << "local=#{address}"
+        end
+
+        if remote_address = @resource[:remote_address]
+            options << "-a" << "remote=#{remote_address}"
+        end
+
+        if down = @resource[:down]
+            options << "-d" << down
+        end
+
+        if seconds = @resource[:seconds]
+            options << "-w" << seconds
+        end
+
+        if hostname = @resource[:hostname]
+            options << "-h" << hostname
+        end
+
+        if interface_id = @resource[:interface_id]
+            options << "-i" << "local=#{interface_id}"
+        end
+
+        if remote_interface_id = @resource[:remote_interface_id]
+            options << "-i" << "remote=#{remote_interface_id}"
+        end
+
+        if stateful = @resource[:stateful]
+            options << "-p" << "stateful=#{stateful}"
+        end
+
+        if stateless = @resource[:stateless]
+            options << "-p" << "stateless=#{stateless}"
+        end
+        options
+    end
+
+    def exists?
+        @property_hash[:ensure] == :present
+    end
+
+    def create
+        ipadm("create-addr", add_options, @resource[:name])
+        if @resource[:enable] == :true
+            ipadm("enable-addr", @resource[:name])
+        end
+    end
+
+    def destroy
+        ipadm("delete-addr", @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/address_properties/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,113 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:address_properties).provide(:address_properties) do
+    desc "Provider for managing Oracle Solaris address object properties"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :ipadm => '/usr/sbin/ipadm'
+
+    def initialize(value={})
+        super(value)
+        @addrprops = {}
+    end
+
+    def self.instances
+        props = {}
+
+        ipadm("show-addrprop", "-c", "-o", "ADDROBJ,PROPERTY,CURRENT").split(
+              "\n").collect do |line|
+            addrobj, property, value = line.strip().split(":")
+            next if value == nil
+            if not props.has_key? addrobj
+                props[addrobj] = {}
+            end
+            props[addrobj][property] = value
+        end
+
+        addresses = []
+        props.each do |key, value|
+            addresses << new(:name => key,
+                             :ensure => :present,
+                             :properties => value)
+        end
+        addresses
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        props = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = props.find{ |prop| prop.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def properties
+        @property_hash[:properties]
+    end
+
+    def properties=(value)
+        value.each do |key, value|
+            ipadm("set-addrprop", "-p", "#{key}=#{value}", @resource[:name])
+        end
+    end
+
+    def exists?
+        if @resource[:properties] == nil
+            return :false
+        end
+
+        @resource[:properties].each do |key, value|
+            p = exec_cmd(command(:ipadm), "show-addrprop","-c", "-p", key,
+                         "-o", "CURRENT", @resource[:address])
+            if p[:exit] == 1
+                Puppet.warning "Property '#{key}' not found for address " \
+                               "#{@resource[:address]}"
+                next
+            end
+
+            if p[:out].strip != value
+                @addrprops[key] = value
+            end
+        end
+
+        return @addrprops.empty?
+    end
+
+    def create
+        @addrprops.each do |key, value|
+            ipadm("set-addrprop", "-p", "#{key}=#{value}", @resource[:address])
+        end
+    end
+
+    def exec_cmd(*cmd)
+        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
+        {:out => output, :exit => $CHILD_STATUS.exitstatus}
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/boot_environment/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,136 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:boot_environment).provide(:boot_environment) do
+    desc "Provider for Oracle Solaris Boot Environments (BEs)"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :beadm => '/usr/sbin/beadm', :zpool => '/usr/sbin/zpool'
+
+    def self.instances
+        beadm(:list, "-H").split("\n").collect do |line|
+            data = line.split(";")
+            name = data[0]
+            if data[2].include? "R"
+                activate = :true
+            else
+                activate = :false
+            end
+
+            new(:name => name,
+                :ensure => :present,
+                :activate => activate)
+        end
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        bes = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = bes.find{ |be| be.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def activate
+        @property_hash[:activate]
+    end
+
+    def activate=(value)
+        if value == :true
+            beadm("activate", @resource[:name])
+        end
+    end
+
+    def exists?
+        @property_hash[:ensure] == :present
+    end
+
+    def build_flags
+        flags = []
+
+        if description = @resource[:description]
+            flags << "-d" << "'#{description}'"
+        end
+
+        if clone_be = @resource[:clone_be]
+            if clone_be.include? "@"
+                if beadm(:list, "-H", "-s").split("\n").detect \
+                    { |line| line.split(";")[1] == clone_be }
+                        flags << "-e" << clone_be
+                else
+                    Puppet.warning "BE #{clone_be} not found.  Skipping -e
+                                    argument."
+                end
+            else
+                if beadm(:list, "-H").split("\n").detect \
+                    { |line| line.split(";")[0] == clone_be }
+                        flags << "-e" << clone_be
+                else
+                    Puppet.warning "BE #{clone_be} not found.  Skipping -e 
+                                    argument."
+                end
+            end
+        end
+
+        if options = @resource[:options]
+            options.each { |key, value| flags << "-o" << "#{key}=#{value}" }
+        end
+
+        if zp = @resource[:zpool]
+            found = false
+            for line in zpool(:list, "-o", "name", "-H").each_line do
+                if zp == line.strip
+                    found = true
+                    flags << "-p" << zp
+                end
+            end
+            if not found
+                raise Puppet::Error, \
+                    "Unable to create BE in zpool #{zp} -- #{zp} does not exist"
+            end
+        end
+        flags
+    end
+
+    def create
+        beadm(:create, build_flags, @resource[:name])
+        if @resource[:activate] == :true
+            beadm(:activate, @resource[:name])
+        end
+    end
+
+    def destroy
+        if beadm(:list, "-H", @resource[:name]).split(";")[2] =~ /N/
+            Puppet.warning "Unable to destroy #{@resource[:name]} as it is 
+                            the active BE."
+        else
+            beadm(:destroy, "-f", "-F", @resource[:name])
+        end
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/dns/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,92 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:dns).provide(:dns) do
+    desc "Provider for management of DNS for Oracle Solaris"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :svccfg => '/usr/sbin/svccfg', :svcprop => '/usr/bin/svcprop'
+
+    Dns_fmri = "svc:/network/dns/client"
+
+    def self.instances
+        props = {}
+        svcprop("-p", "config", Dns_fmri).split("\n").each do |line|
+            fullprop, type, value = line.split(" ", 2)
+            pg, prop = fullprop.split("/")
+            props[prop] = value \
+                if Puppet::Type.type(:dns).validproperties.include? prop
+        end
+
+        props[:name] = "current"
+        return Array new(props)
+    end
+
+    Puppet::Type.type(:dns).validproperties.each do |field|
+        define_method(field) do
+            begin
+                svcprop("-p", "config/" + field.to_s, Dns_fmri).strip()
+            rescue
+                # if the property isn't set, don't raise an error
+                nil
+            end
+        end
+
+        define_method(field.to_s + "=") do |should|
+            begin
+                if should.is_a? Array
+                    # in Solaris 11, the list of values needs to be single
+                    # argument to svccfg.
+                    values = ""
+                    for entry in should
+                        values += "\"#{entry}\" "
+                    end
+                    values = "(" + values + ")"
+                    svccfg("-s", Dns_fmri, "setprop",
+                           "config/" + field.to_s, "=", values)
+                else
+                    # Puppet seems to get confused about when to pass an empty
+                    # string or "\"\"".  Catch either condition to handle
+                    # passing values to SMF correctly
+                    if should.to_s.empty? or should.to_s == '""'
+                        value = should.to_s
+                    else
+                        value = "\"" + should.to_s + "\""
+                    end
+                    svccfg("-s", Dns_fmri, "setprop",
+                           "config/" + field.to_s, "=", value)
+                end
+            rescue => detail
+                raise Puppet::Error,
+                    "Unable to set #{field.to_s} to #{should.inspect}\n"
+                    "#{detail}\n"
+            end
+        end
+    end
+
+    def flush
+        svccfg("-s", Dns_fmri, "refresh")
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/etherstub/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,71 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:etherstub).provide(:etherstub) do
+    desc "Provider for creating Solaris etherstubs"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :dladm => '/usr/sbin/dladm'
+
+    def self.instances
+        dladm("show-etherstub", "-p", "-o", "link").split(
+              "\n").collect do |line|
+            link = line.strip()
+            new(:name => link, :ensure => :present)
+        end
+    end
+
+    def add_options
+        options = []
+        if @resource[:temporary] == :true
+            options << "-t"
+        end
+        options
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        etherstubs = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = etherstubs.find{ |etherstub| etherstub.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def exists?
+        @property_hash[:ensure] == :present
+    end
+
+    def create
+        dladm("create-etherstub", add_options, @resource[:name])
+    end
+
+    def destroy
+        dladm("delete-etherstub", add_options, @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/interface_properties/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,117 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:interface_properties).provide(:interface_properties) do
+    desc "Provider for managing Oracle Solaris interface properties"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :ipadm => '/usr/sbin/ipadm'
+
+    def initialize(value={})
+        super(value)
+        @ifprops = {}
+    end
+
+    def self.instances
+        props = {}
+
+        ipadm("show-ifprop", "-c", "-o",
+              "IFNAME,PROPERTY,PROTO,CURRENT").split("\n").collect do |line|
+            ifname, property, proto, value = line.strip().split(":")
+            fullname = ifname + "/" + proto
+            if not props.has_key? fullname
+                props[fullname] = {}
+            end
+            props[fullname][property] = value
+        end
+
+        interfaces = []
+        props.each do |key, value|
+            interfaces << new(:name => key,
+                              :ensure => :present,
+                              :properties => value)
+        end
+        interfaces
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        props = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = props.find{ |prop| prop.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def properties
+        @property_hash[:properties]
+    end
+
+    def properties=(value)
+        value.each do |key, value|
+            ipadm("set-ifprop", "-p", "#{key}=#{value}", @resource[:name])
+        end
+    end
+
+    def exists?
+        if @resource[:properties] == nil
+            return :false
+        end
+
+        ifname, protocol = @resource[:interface].split("/")
+
+        @resource[:properties].each do |key, value|
+            p = exec_cmd(command(:ipadm), "show-ifprop", "-m", protocol,
+                         "-p", key, "-c", "-o", "CURRENT", ifname)
+
+            if p[:exit] == 1
+                Puppet.warning "Property '#{key}' not found for interface
+                                #{ifname}"
+                next
+            end
+
+            if p[:out].strip != value
+                @ifprops[key] = value
+            end
+        end
+
+        return @ifprops.empty?
+    end
+
+    def create
+        name, proto = @resource[:interface].split("/")
+        @ifprops.each do |key, value|
+            ipadm("set-ifprop", "-m", proto, "-p", "#{key}=#{value}", name)
+        end
+    end
+
+    def exec_cmd(*cmd)
+        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
+        {:out => output, :exit => $CHILD_STATUS.exitstatus}
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,60 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:ip_interface).provide(:ip_interface) do
+    desc "Provider for management of IP interfaces for Oracle Solaris"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :ipadm => '/usr/sbin/ipadm', :dladm => '/usr/sbin/dladm'
+
+    def self.instances
+        (dladm("show-link", "-p", "-o", "link").split("\n") &
+         ipadm("show-if", "-p", "-o", "ifname").split("\n")).collect do |ifname|
+            new(:name => ifname,
+                :ensure => :present)
+        end
+    end
+
+    def add_options
+       options = []
+       if @resource[:temporary] == :true
+         options << "-t"
+       end
+       options
+    end
+
+    def exists?
+        ipadm("show-if", "-p", "-o", "IFNAME").split(
+              "\n").include? @resource[:name]
+    end
+
+    def create
+        ipadm('create-ip', add_options, @resource[:name])
+    end
+
+    def destroy
+        ipadm('delete-ip', @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/ip_tunnel/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,103 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:ip_tunnel).provide(:ip_tunnel) do
+    desc "Provider for managing Oracle Solaris IP Tunnel links"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :dladm => '/usr/sbin/dladm'
+
+    def self.instances
+        dladm("show-iptun", "-p", "-o", "link,type,local,remote").split(
+              "\n").collect do |line|
+            link, type, local, remote = line.split(":")
+            new(:name => link,
+                :ensure => :present,
+                :tunnel_type => type,
+                :local_address => local,
+                :remote_address => remote)
+        end
+    end
+        
+    def self.prefetch(resources)
+        # pull the instances on the system
+        ip_tunnels = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = ip_tunnels.find{ |ip_tunnel| ip_tunnel.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    [:tunnel_type, :local_address, :remote_address].each do |field|
+        define_method(field) do
+            begin
+                @property_hash[field]
+            end
+        end
+    end
+
+    def local_address=(value)
+        dladm("modify-iptun", "-a", "local=#{value}", @resource[:name])
+    end
+
+    def remote_address=(value)
+        dladm("modify-iptun", "-a", "remote=#{value}", @resource[:name])
+    end
+
+    def add_options
+       options = []
+       if @resource[:temporary] == :true
+         options << "-t"
+       end
+
+       if tunnel_type = @resource[:tunnel_type] and tunnel_type != nil
+           options << "-T" << resource[:tunnel_type]
+       end
+
+       if local = @resource[:local_address] and local != nil
+           options << "-a" << "local=#{local}"
+       end
+
+       if remote = @resource[:remote_address] and remote != nil
+           options << "-a" << "remote=#{remote}"
+       end
+       options
+    end
+
+    def exists?
+        @property_hash[:ensure] == :present
+    end
+
+    def create
+        dladm('create-iptun', add_options, @resource[:name])
+    end
+
+    def destroy
+        dladm('delete-iptun', @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/ipmp_interface/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,107 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:ipmp_interface).provide(:ipmp_interface) do
+    desc "Provider for management of IPMP interfaces for Oracle Solaris"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :ipadm => '/usr/sbin/ipadm'
+
+    def self.instances
+        ifaces = []
+        ipadm("show-if", "-p", "-o", "IFNAME,CLASS,OVER").each_line do |line|
+            name, linkclass, over = line.strip().split(":", 3)
+            next if linkclass != "ipmp"
+            ifaces << new(:name => name.strip(),
+                          :ensure => :present,
+                          :interfaces => over)
+        end
+        ifaces
+    end
+        
+    def self.prefetch(resources)
+        # pull the instances on the system
+        ifaces = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = ifaces.find{ |iface| iface.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def interfaces
+        @property_hash[:interfaces]
+    end
+
+    def interfaces=(value)
+        current = self.interfaces.split()
+
+        remove_list = []
+        for entry in current - value
+            remove_list << "-i" << entry
+        end
+
+        add_list = []
+        for entry in value - current
+            add_list << "-i" << entry
+        end
+
+        if not add_list.empty?
+            ipadm("add-ipmp", add_list, @resource[:name])
+        end
+
+        if not remove_list.empty?
+            ipadm("remove-ipmp", remove_list, @resource[:name])
+        end
+    end
+
+    def add_options
+        options = []
+        if @resource[:temporary] == :true
+            options << "-t"
+        end
+        for iface in @resource[:interfaces] do
+            options << "-i" << iface
+        end
+        options
+    end
+
+    def exists?
+        @property_hash[:ensure] == :present
+    end
+
+    def create
+        ipadm('create-ipmp', add_options, @resource[:name])
+    end
+
+    def destroy
+        for iface in self.interfaces.each_line do
+            ipadm("remove-ipmp", "-i", iface, @resource[:name])
+        end
+        ipadm('delete-ipmp', @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/ldap/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,121 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:ldap).provide(:ldap) do
+    desc "Provider for management of the LDAP client for Oracle Solaris"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :svccfg => '/usr/sbin/svccfg', :svcprop => '/usr/bin/svcprop'
+
+    Ldap_fmri = "svc:/network/ldap/client"
+
+    def initialize(resource)
+        super
+        @refresh_needed = false
+    end
+
+    def self.instances
+        if Process.euid != 0
+            return []
+        end
+        props = {}
+        validprops = Puppet::Type.type(:ldap).validproperties
+
+        svcprop("-p", "config", Ldap_fmri).each_line.collect do |line|
+            data = line.split()
+            fullprop = data[0]
+            type = data[1]
+            if data.length > 2
+                value = data[2..-1].join(" ")
+            else
+                value = nil
+            end
+
+            pg, prop = fullprop.split("/")
+            props[prop] = value if validprops.include? prop.to_sym
+        end
+        begin
+            props[:bind_passwd] = svcprop("-p", "cred/bind_passwd",
+                                          "svc:/network/ldap/client").strip
+        rescue
+        end
+
+        props[:name] = "current"
+        return Array new(props)
+    end
+
+    Puppet::Type.type(:ldap).validproperties.each do |field|
+        # get the property group
+        pg = Puppet::Type.type(:ldap).propertybyname(field).pg
+        define_method(field) do
+            begin
+                svcprop("-p", pg + "/" + field.to_s, Ldap_fmri).strip()
+            rescue
+                # if the property isn't set, don't raise an error
+                nil
+            end
+        end
+
+        define_method(field.to_s + "=") do |should|
+            begin
+                if should.is_a? Array
+                    should.collect! { |value| value.to_s }
+
+                    # in Solaris 11, the list of values needs to be single
+                    # argument to svccfg.
+                    values = ""
+                    for entry in should
+                        values += "\"#{entry}\" "
+                    end
+                    values = "(" + values + ")"
+                    svccfg("-s", Ldap_fmri, "setprop",
+                           pg + "/" + field.to_s, "=", values)
+                else
+                    # Puppet seems to get confused about when to pass an empty
+                    # string or "\"\"".  Catch either condition to handle
+                    # passing values to SMF correctly
+                    if should.to_s.empty? or should.to_s == '""'
+                        value = should.to_s
+                    else
+                        value = "\"" + should.to_s + "\""
+                    end
+                    svccfg("-s", Ldap_fmri, "setprop",
+                           pg + "/" + field.to_s, "=", value)
+                end
+                @refresh_needed = true
+            rescue => detail
+                raise Puppet::Error,
+                    "Unable to set #{field.to_s} to #{should.inspect}\n"
+                    "#{detail}\n"
+            end
+        end
+    end
+
+    def flush
+        if @refresh_needed == true
+            svccfg("-s", Ldap_fmri, "refresh")
+        end
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,186 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:link_aggregation).provide(:link_aggregation) do
+    desc "Provider for creating Oracle Solaris link aggregations"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :dladm => '/usr/sbin/dladm'
+
+    def self.instances
+        dladm("show-aggr", "-p", "-o",
+              "link,mode,policy,addrpolicy,lacpactivity,lacptimer").split(
+              "\n").collect do |line|
+            link, mode, policy, addrpolicy, lacpactivity, lacptimer = \
+                line.split(":")
+
+            links = []
+            dladm("show-aggr", "-x", "-p", "-o", "port", link).split(
+                  "\n").each do |portline|
+                next if portline.strip() == ""
+                links << portline.strip()
+            end
+
+            new(:name => link,
+                :ensure => :present,
+                :lower_links => links.join(" "),
+                :mode => mode,
+                :policy => policy,
+                :address => addrpolicy,
+                :lacpmode => lacpactivity,
+                :lacptimer => lacptimer)
+        end
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        aggrs = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = aggrs.find{ |aggr| aggr.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    # property getters
+    [:lower_links, :mode, :policy, :lacpmode, :lacptimer,
+     :address].each do |field|
+        define_method(field) do
+            @property_hash[field]
+        end
+    end
+
+    # property setters
+    def lower_links=(value)
+        is_temporary?(@resource[:name])
+        current = self.lower_links.split()
+        remove_list = []
+        for entry in current - value
+            remove_list << "-l" << entry
+        end
+
+        add_list = []
+        for entry in value - current
+            add_list << "-l" << entry
+        end
+
+        if not add_list.empty?
+            dladm("add-aggr", add_list, @resource[:name])
+        end
+
+        if not remove_list.empty?
+            dladm("remove-aggr", remove_list, @resource[:name])
+        end
+    end
+
+    def mode=(value)
+        is_temporary?(@resource[:name])
+        dladm("modify-aggr", "-m", value, @resource[:name])
+    end
+
+    def policy=(value)
+        is_temporary?(@resource[:name])
+        dladm("modify-aggr", "-P", value, @resource[:name])
+    end
+
+    def lacpmode=(value)
+        is_temporary?(@resource[:name])
+        dladm("modify-aggr", "-L", value, @resource[:name])
+    end
+
+    def lacptimer=(value)
+        is_temporary?(@resource[:name])
+        dladm("modify-aggr", "-T", value, @resource[:name])
+    end
+
+    def address=(value)
+        is_temporary?(@resource[:name])
+        dladm("modify-aggr", "-u", value, @resource[:name])
+    end
+
+    def add_options
+        options = []
+        if @resource[:temporary] == :true
+            options << "-t"
+        end
+
+        if lowerlinks = @resource[:lower_links]
+            if lowerlinks.is_a? Array
+                for link in lowerlinks
+                    options << "-l" << link
+                end
+            else
+                options << "-l" << lowerlinks
+            end
+        end
+
+        if mode = @resource[:mode]
+            options << "-m" << mode
+        end
+
+        if policy = @resource[:policy]
+            options << "-P" << policy
+        end
+
+        if lacpmode = @resource[:lacpmode]
+            options << "-L" << lacpmode
+        end
+
+        if lacptimer = @resource[:lacptimer]
+            options << "-T" << lacptimer
+        end
+
+        if address = @resource[:address]
+            options << "-u" << address
+        end
+        options
+    end
+
+    def exists?
+        @property_hash[:ensure] == :present
+    end
+
+    def create
+        dladm("create-aggr", add_options, @resource[:name])
+    end
+
+    def destroy
+        dladm("delete-aggr", add_options, @resource[:name])
+    end
+
+    def is_temporary?(name)
+        p = exec_cmd(command(:dladm), "show-aggr", "-P", name)
+        raise Puppet::Error, "Unable to change attributes of temporary " \
+            "aggregation #{@resource[:name]}" if p[:exit] == 1
+    end
+
+    def exec_cmd(*cmd)
+        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
+        {:out => output, :exit => $CHILD_STATUS.exitstatus}
+    end
+end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/link_properties/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,106 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:link_properties).provide(:link_properties) do
+    desc "Provider for managing Oracle Solaris link properties"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :dladm => '/usr/sbin/dladm'
+
+    def initialize(value={})
+        super(value)
+        @linkprops = {}
+    end
+
+    def self.instances
+        dladm("show-link", "-p", "-o", "link").
+        split("\n").collect do |link|
+            props = {}
+            dladm("show-linkprop", "-c", "-o", "property,value",
+                  link.strip()).split("\n").collect do |line|
+                next if line.strip.end_with? ":"
+                data = line.split(":", 2)
+                name, value = data
+                props[name] = value.delete("\\")  # remove the escape character
+            end
+
+            new(:name => link.strip(),
+                :ensure => :present,
+                :properties => props)
+        end
+    end
+
+    def properties
+        @property_hash[:properties]
+    end
+
+    def properties=(value)
+        value.each do |key, value|
+            dladm("set-linkprop", "-p", "#{key}=#{value}", @resource[:name])
+        end
+    end
+
+    def add_properties
+        return [] if not @linkprops
+        if @linkprops
+            a = []
+            @linkprops.each do |key, value|
+                a << "#{key}=#{value}"
+            end
+        end
+        properties = Array["-p", a.join(",")]
+    end
+
+    def exists?
+        if @resource[:properties] == nil
+            return :false
+        end
+
+        @resource[:properties].each do |key, value|
+            p = exec_cmd(command(:dladm), "show-linkprop", @resource[:link],
+                         "-c", "-p", key, "-o", "value")
+            if p[:exit] == 1
+                Puppet.warning "Property '#{key}' not found for link " \
+                               "#{@resource[:link]}"
+                next
+            end
+
+            if p[:out].strip != value
+                @linkprops[key] = value
+            end
+        end
+
+        return @linkprops.empty?
+    end
+
+    def create
+        dladm("set-linkprop", add_properties, @resource[:link])
+    end
+
+    def exec_cmd(*cmd)
+        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
+        {:out => output, :exit => $CHILD_STATUS.exitstatus}
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/nis/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,146 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:nis).provide(:nis) do
+    desc "Provider for management of NIS client for Oracle Solaris"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :svccfg => '/usr/sbin/svccfg', :svcprop => '/usr/bin/svcprop'
+
+    class << self; attr_accessor :client_fmri, :domain_fmri end
+    Client_fmri = "svc:/network/nis/client"
+    Domain_fmri = "svc:/network/nis/domain"
+
+    def initialize(value={})
+        super(value)
+        @client_refresh = false
+        @domain_refresh = false
+    end
+
+    def self.instances
+        props = {}
+        validprops = Puppet::Type.type(:nis).validproperties
+
+        [Client_fmri, Domain_fmri].each do |svc|
+            svcprop("-p", "config", svc).split("\n").collect do |line|
+                data = line.split()
+                fullprop = data[0]
+                type = data[1]
+                if data.length > 2
+                    value = data[2..-1].join(" ")
+                else
+                    value = nil
+                end
+
+                pg, prop = fullprop.split("/")
+                props[prop] = value if validprops.include? prop.to_sym
+            end
+        end
+        props[:name] = "current"
+        return Array new(props)
+    end
+
+    # svc:/network/nis/client properties
+    [:use_broadcast, :use_ypsetme].each do |field|
+        define_method(field) do
+            begin
+                svcprop("-p", "config/" + field.to_s, Client_fmri).strip()
+            rescue
+                # if the property isn't set, don't raise an error
+                nil
+            end
+        end
+
+        define_method(field.to_s + "=") do |should|
+            begin
+                if not should.to_s.empty?
+                    value = "\"" + should.to_s + "\""
+                else
+                    value = should.to_s
+                end
+                svccfg("-s", Client_fmri, "setprop", "config/" + field.to_s,
+                       "=", value)
+            rescue => detail
+                raise Puppet::Error,
+                    "Unable to set #{field.to_s} to #{should.inspect}\n"
+                    "#{detail}\n"
+            end
+            @client_refresh = true
+        end
+    end
+
+    # svc:/network/nis/domain properties
+    [:domainname, :ypservers, :securenets].each do |field|
+        define_method(field) do
+            begin
+                svcprop("-p", "config/" + field.to_s, Domain_fmri).strip()
+            rescue
+                # if the property isn't set, don't raise an error
+                nil
+            end
+        end
+
+        define_method(field.to_s + "=") do |should|
+            begin
+                if should.is_a? Array
+                    # in Solaris 11, the list of values needs to be single
+                    # argument to svccfg.
+                    values = ""
+                    for entry in should
+                        values += "\"#{entry}\" "
+                    end
+                    values = "(" + values + ")"
+                    svccfg("-s", Domain_fmri, "setprop",
+                           "config/" + field.to_s, "=", values)
+                else
+                    # Puppet seems to get confused about when to pass an empty
+                    # string or "\"\"".  Catch either condition to handle
+                    # passing values to SMF correctly
+                    if should.to_s.empty? or should.to_s == '""'
+                        value = should.to_s
+                    else
+                        value = "\"" + should.to_s + "\""
+                    end
+                    svccfg("-s", Domain_fmri, "setprop",
+                           "config/" + field.to_s, "=", value)
+                end
+            rescue => detail
+                raise Puppet::Error,
+                    "Unable to set #{field.to_s} to #{should.inspect}\n"
+                    "#{detail}\n"
+            end
+            @domain_refresh = true
+        end
+    end
+
+    def flush
+        if @domain_refresh == true
+            svccfg("-s", Domain_fmri, "refresh")
+        end
+        if @client_refresh == true
+            svccfg("-s", Client_fmri, "refresh")
+        end
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/nsswitch/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,74 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:nsswitch).provide(:nsswitch) do
+    desc "Provider for name service switch configuration data"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :svccfg => '/usr/sbin/svccfg', :svcprop => '/usr/bin/svcprop'
+
+    Nsswitch_fmri = "svc:/system/name-service/switch"
+
+    def self.instances
+        props = {}
+        svcprop("-p", "config", Nsswitch_fmri).each_line.collect do |line|
+            fullprop, type, value = line.split(" ", 2)
+            pg, prop = fullprop.split("/")
+            props[prop] = value \
+                if Puppet::Type.type(:nsswitch).validproperties.include? prop
+        end
+
+        props[:name] = "current"
+        return Array new(props)
+    end
+
+    Puppet::Type.type(:nsswitch).validproperties.each do |field|
+        define_method(field) do
+            begin
+                out = svcprop("-p", "config/" + field.to_s,
+                              Nsswitch_fmri).strip()
+                out = out.delete("\\")
+            rescue
+                # if the property isn't set, don't raise an error
+                nil
+            end
+        end
+
+        define_method(field.to_s + "=") do |should|
+            begin
+                svccfg("-s", Nsswitch_fmri, "setprop",
+                       "config/" + field.to_s, "=", '"' + should + '"')
+            rescue => detail
+                raise Puppet::Error,
+                    "Unable to set #{field.to_s} to #{should.inspect}\n"
+                    "#{detail}\n"
+            end
+        end
+    end
+
+    def flush
+        svccfg("-s", Nsswitch_fmri, "refresh")
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_facet/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,77 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:pkg_facet).provide(:pkg_facet) do
+    desc "Provider for Oracle Solaris facets"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :pkg => '/usr/bin/pkg'
+
+    def self.instances
+        pkg(:facet, "-H", "-F", "tsv").split("\n").collect do |line|
+            name, value = line.split
+            new(:name => name,
+                :ensure => :present,
+                :value => value.downcase)
+        end 
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        facets = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = facets.find{ |facet| facet.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def value
+        @property_hash[:value]
+    end
+
+    def exists?
+        # only compare against @resource if one is provided via manifests
+        if @property_hash[:ensure] == :present and @resource[:value] != nil
+            # retrieve the string representation of @resource[:value] since it
+            # gets translated to an object by Puppet
+            return (@property_hash[:ensure] == :present and \
+                    @property_hash[:value].downcase == \
+                        @resource[:value].downcase)
+        end
+        @property_hash[:ensure] == :present
+    end
+
+    # required puppet functions
+    def create
+        pkg("change-facet", "#{@resource[:name]}=#{@resource[:value]}")
+    end
+
+    def destroy
+        pkg("change-facet", "#{@resource[:name]}=None")
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_mediator/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,99 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:pkg_mediator).provide(:pkg_mediator) do
+    desc "Provider for Oracle Solaris mediators"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :pkg => '/usr/bin/pkg'
+
+    def self.instances
+        pkg(:mediator, "-H", "-F", "tsv").split("\n").collect do |line|
+            name, ver_src, version, impl_src, impl, impl_ver = line.split("\t")
+            
+            # Because implementation is an optional parameter, it may not be set.
+            # If the implementation is not set, that needs to be captured in 
+            # the output.
+            if not impl
+                impl = 'None'
+            end
+
+            new(:name => name,
+                :ensure => :present,
+                :implementation => impl,
+                :version => version)
+        end 
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        mediators = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = mediators.find{ |mediator| mediator.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def exists?
+        # only compare against @resource if one is provided via manifests
+        if @property_hash[:ensure] == :present and @resource[:version] != nil
+            return (@property_hash[:ensure] == :present and \
+                   @property_hash[:version] == @resource[:version])
+        end
+        @property_hash[:ensure] == :present
+    end
+
+    def version
+        @property_hash[:version]
+    end
+
+    def implementation
+        @property_hash[:implementation]
+    end
+
+    def build_flags
+        flags = []
+        if version = @resource[:version] and version != nil
+            flags << "-V" << @resource[:version]
+        end
+
+        if implementation = @resource[:implementation] and implementation != nil
+            flags << "-I" << @resource[:implementation]
+        end
+        flags
+    end
+
+    # required puppet functions
+    def create
+        pkg("set-mediator", build_flags, @resource[:name])
+    end
+
+    def destroy
+        pkg("unset-mediator", build_flags, @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_publisher/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,244 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:pkg_publisher).provide(:pkg_publisher) do
+    desc "Provider for Solaris publishers"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :pkg => '/usr/bin/pkg'
+
+    def self.instances
+        publishers = {}
+        publisher_order = []
+        pkg(:publisher, "-H", "-F", "tsv").split("\n").collect do |line|
+            name, sticky, syspub, enabled, type, status, origin, proxy = \
+                line.split("\t")
+
+            # set the order of the publishers
+            if not publisher_order.include?("name")
+                publisher_order << name
+            end
+
+            # strip off any trailing "/" characters
+            if origin.end_with?("/")
+                origin = origin[0..-2]
+            end
+
+            if publishers.has_key?(name)
+                # if we've seen this publisher before, simply update the origin
+                # array
+                publishers[name]["origin"] << origin
+            else
+                # create a new hash entry for this publisher
+                publishers[name] = {'sticky' => sticky, 'enable' => enabled,
+                                    'origin' => Array[origin]}
+                publishers[name]["proxy"] = proxy if proxy != "-"
+
+                index = publisher_order.index(name)
+                if index == 0
+                    publishers[name]["searchfirst"] = true
+                    publishers[name]["searchafter"] = nil
+                else
+                    publishers[name]["searchfirst"] = nil
+                    publishers[name]["searchafter"] = publisher_order[index-1]
+                end
+            end
+        end
+
+        # create new entries for the system
+        publishers.keys.collect do |publisher|
+            new(:name => publisher,
+                :ensure => :present,
+                :sticky => publishers[publisher]["sticky"],
+                :enable => publishers[publisher]["enable"],
+                :origin => publishers[publisher]["origin"],
+                :proxy => publishers[publisher]["proxy"],
+                :searchfirst => publishers[publisher]["searchfirst"],
+                :searchafter => publishers[publisher]["searchafter"],
+                :searchbefore => nil,
+                :sslkey => nil,
+                :sslcert => nil)
+        end
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        publishers = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = publishers.find{ |publisher| publisher.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    # property getters - each getter does exactly the same thing so create
+    # dynamic methods to handle them
+    [:sticky, :enable, :origin, :proxy, :searchfirst, :searchafter,
+     :searchbefore, :sslkey, :sslcert].each do |property|
+        define_method(property) do
+            begin
+                @property_hash[property]
+            rescue
+            end
+        end
+    end
+
+    def exists?
+        # only compare against @resource if one is provided via manifests
+        if @property_hash[:ensure] == :present and @resource[:origin] != nil
+            return @property_hash[:origin].sort() == @resource[:origin].sort()
+        end
+        @property_hash[:ensure] == :present
+    end
+
+    def build_origin
+        origins = []
+        
+        # add all the origins from the manifest
+        for o in @resource[:origin] do
+            origins << "-g" << o
+        end
+
+        # remove all the existing origins
+        if @property_hash != {}
+            for o in @property_hash[:origin] do
+                origins << "-G" << o
+            end
+        end
+        origins
+    end
+
+    def build_flags
+        flags = []
+
+        if searchfirst = @resource[:searchfirst] and searchfirst != ""
+            if searchfirst == :true
+                flags << "--search-first"
+            end
+        end
+
+        if sticky = @resource[:sticky] and sticky != nil
+            if sticky == :true
+                flags << "--sticky"
+            elsif sticky == :false
+                flags << "--non-sticky"
+            end
+        end
+
+        if searchafter = @resource[:searchafter] and searchafter != ""
+            if pkg(:publisher, "-H", "-F", "tsv").split("\n").detect \
+                { |line| line.split()[0] == searchafter }
+                    flags << "--search-after" << searchafter
+            else
+                Puppet.warning "Publisher #{searchafter} not found.  " \
+                               "Skipping --search-after argument"
+            end
+        end
+
+        if searchbefore = @resource[:searchbefore] and searchbefore != ""
+            if pkg(:publisher, "-H", "-F", "tsv").split("\n").detect \
+                { |line| line.split()[0] == searchbefore }
+                    flags << "--search-before" << searchbefore
+            else
+                Puppet.warning "Publisher #{searchbefore} not found.  " \
+                               "Skipping --search-before argument"
+            end
+        end
+
+        if proxy = @resource[:proxy]
+            flags << "--proxy" << proxy
+        end
+
+        if sslkey = @resource[:sslkey]
+            flags << "-k" << sslkey
+        end
+
+        if sslcert = @resource[:sslcert]
+            flags << "-c" << sslcert
+        end
+        flags
+    end
+
+    # property setters
+    def sticky=(value)
+        if value == :true
+            pkg("set-publisher", "--sticky", @resource[:name])
+        else
+            pkg("set-publisher", "--non-sticky", @resource[:name])
+        end
+    end
+
+    def enable=(value)
+        if value == :true
+            pkg("set-publisher", "--enable", @resource[:name])
+        else
+            pkg("set-publisher", "--disable", @resource[:name])
+        end
+    end
+
+    def searchfirst=(value)
+        if value == :true
+            pkg("set-publisher", "--search-first", @resource[:name])
+        end
+    end
+
+    def searchbefore=(value)
+        pkg("set-publisher", "--search-before", value, @resource[:name])
+    end
+
+    def searchafter=(value)
+        pkg("set-publisher", "--search-after", value, @resource[:name])
+    end
+
+    def proxy=(value)
+        pkg("set-publisher", "--proxy", value, @resource[:name])
+    end
+
+    def sslkey=(value)
+        pkg("set-publisher", "-k", value, @resource[:name])
+    end
+
+    def sslcert=(value)
+        pkg("set-publisher", "-c", value, @resource[:name])
+    end
+
+    # required puppet functions
+    def create
+        pkg("set-publisher", build_flags, build_origin, @resource[:name])
+        # pkg(5) does not allow for a new publisher to be set with the disabled
+        # flag, so check for it after setting the publisher
+        if enable = @resource[:enable] and enable != nil
+            if enable == :false
+                pkg("set-publisher", "--disable", @resource[:name])
+            end
+        end
+    end
+
+    def destroy
+        pkg("unset-publisher", @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_variant/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,71 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:pkg_variant).provide(:pkg_variant) do
+    desc "Provider for Oracle Solaris variants"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :pkg => '/usr/bin/pkg'
+
+    def self.instances
+        pkg(:variant, "-H", "-F", "tsv").split("\n").collect do |line|
+            name, value = line.split
+            new(:name => name,
+                :ensure => :present,
+                :value => value)
+        end 
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        variants = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = variants.find{ |variant| variant.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def value
+        @property_hash[:value]
+    end
+
+    def exists?
+        # only compare against @resource if one is provided via manifests
+        if @property_hash[:ensure] == :present and @resource[:value] != nil
+            # cast @resource[:value] to a string since it gets translated to an
+            # object by Puppet
+            return (@property_hash[:ensure] == :present and \
+                    @property_hash[:value] == @resource[:value].to_s)
+        end
+        @property_hash[:ensure] == :present
+    end
+
+    def create
+        pkg("change-variant", "#{@resource[:name]}=#{@resource[:value]}")
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/protocol_properties/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,113 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:protocol_properties).provide(:protocol_properties) do
+    desc "Provider for managing Oracle Solaris protocol object properties"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :ipadm => '/usr/sbin/ipadm'
+
+    def initialize(value={})
+        super(value)
+        @protoprops = {}
+    end
+
+    def self.instances
+        props = {}
+
+        ipadm("show-prop", "-c", "-o", "PROTO,PROPERTY,CURRENT").split(
+              "\n").collect do |line|
+            protocol, property, value = line.strip().split(":")
+            next if value == nil
+            if not props.has_key? protocol
+                props[protocol] = {}
+            end
+            props[protocol][property] = value
+        end
+
+        protocols = []
+        props.each do |key, value|
+            protocols << new(:name => key,
+                             :ensure => :present,
+                             :properties => value)
+        end
+        protocols
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        props = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = props.find{ |prop| prop.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def properties
+        @property_hash[:properties]
+    end
+
+    def properties=(value)
+        value.each do |key, value|
+            ipadm("set-prop", "-p", "#{key}=#{value}", @resource[:name])
+        end
+    end
+
+    def exists?
+        if @resource[:properties] == nil
+            return :false
+        end
+
+        @resource[:properties].each do |key, value|
+            p = exec_cmd(command(:ipadm), "show-prop","-c", "-p", key,
+                         "-o", "CURRENT", @resource[:protocol])
+            if p[:exit] == 1
+                Puppet.warning "Property '#{key}' not found for protocol " \
+                               "#{@resource[:protocol]}"
+                next
+            end
+
+            if p[:out].strip != value
+                @protoprops[key] = value
+            end
+        end
+
+        return @protoprops.empty?
+    end
+
+    def create
+        @protoprops.each do |key, value|
+            ipadm("set-prop", "-p", "#{key}=#{value}", @resource[:name])
+        end
+    end
+
+    def exec_cmd(*cmd)
+        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
+        {:out => output, :exit => $CHILD_STATUS.exitstatus}
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/solaris_vlan/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,94 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:solaris_vlan).provide(:solaris_vlan) do
+    desc "Provider for creating Solaris VLANs"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :dladm => '/usr/sbin/dladm'
+
+    def self.instances
+        dladm("show-vlan", "-p", "-o", "link,over,vid").split(
+              "\n").collect do |line|
+            link, over, vlanid = line.split(":")
+            new(:name => link,
+                :ensure => :present,
+                :lower_link => over,
+                :vlanid => vlanid)
+        end
+    end
+
+    def self.prefetch(resources)
+        # pull the instances on the system
+        vlans = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = vlans.find{ |vlan| vlan.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def lower_link
+        @property_hash[:lower_link]
+    end
+
+    def lower_link=(value)
+        dladm("modify-vlan", "-l", value, @resource[:name])
+    end
+
+    def vlanid
+        @property_hash[:vlanid]
+    end
+
+    def vlanid=(value)
+        dladm("modify-vlan", "-v", value, @resource[:name])
+    end
+
+    def add_options
+        options = []
+        if @resource[:temporary] == :true
+            options << "-t"
+        end
+        if @resource[:ensure] == :present and @resource[:force] == :true
+            options << "-f"
+        end
+        options
+    end
+
+    def exists?
+        @property_hash[:ensure] == :present
+    end
+
+    def create
+        dladm("create-vlan", add_options, "-l", @resource[:lower_link],
+              "-v", @resource[:vlanid], @resource[:name])
+    end
+
+    def destroy
+        dladm("delete-vlan", add_options, @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/svccfg/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,118 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:svccfg).provide(:svccfg) do
+    desc "Provider for svccfg actions on Oracle Solaris"
+    defaultfor :operatingsystem => :solaris
+    commands :svccfg => "/usr/sbin/svccfg", :svcprop => "/usr/bin/svcprop"
+
+    def exists?
+        p = exec_cmd(command(:svcprop), "-p", @resource[:property],
+                     @resource[:fmri])
+        if @resource[:ensure] == :absent
+            # only test for the existance of the property and not the value
+            return p[:exit] == 0
+        elsif @resource[:ensure] == :present
+            # if the property group or property doesn't exist at all, the exit
+            # code will be 1
+            return false if p[:exit] != 0
+
+            # turn @resource[:value] into a simple string by dropping the first
+            # and last array elements (the parens) and removing all double
+            # quotes
+            simple = @resource[:value][1..-2].join(" ")[1..-2].gsub(/\"/, "")
+
+            # For properties, check the value against what's in SMF.  For
+            # property groups, svcprop already verified the PG exists by not
+            # failing
+            if @resource[:property].include? "/"
+                return p[:out].strip == simple
+            else
+                return p[:exit] == 0
+            end
+        end
+    end
+
+    def create
+        # Check to see if the service instance exists
+        cmd = Array[command(:svccfg), "select", @resource[:fmri]]
+        svc_exist = exec_cmd(cmd)
+
+        # Raise an error if the entity does not exist
+        if svc_exist[:exit] != 0
+            raise Puppet::Error, "SMF entity #{@resource[:fmri]} does not exist"
+        end
+        
+        args = ["-s", @resource[:fmri]]
+
+        if @resource[:property].include? "/"
+            args << "setprop" << @resource[:property] << "="
+            if type = @resource[:type] and type != nil
+                args << @resource[:type] + ":"
+            end
+            args << @resource[:value]
+        else
+            args << "addpg" << @resource[:property] << @resource[:type]
+        end
+        svccfg(args)
+        svccfg("-s", @resource[:fmri], "refresh")
+    end
+
+    def destroy
+        if @resource[:property].include? "/"
+            svccfg("-s", @resource[:fmri], "delprop", @resource[:property])
+        else
+            svccfg("-s", @resource[:fmri], "delpg", @resource[:property])
+        end
+        svccfg("-s", @resource[:fmri], "refresh")
+    end
+
+    def delcust
+        list_cmd = Array[command(:svccfg), "-s", @resource[:fmri], "listprop",
+                         "-l", "admin"]
+        delcust_cmd = Array[command(:svccfg), "-s", @resource[:fmri]]
+        if @resource[:property] != nil
+            list_cmd += Array[@resource[:property]]
+            delcust_cmd += Array[@resource[:property]]
+        end
+
+        # look for any admin layer customizations for this entity
+        p = exec_cmd(list_cmd)
+        if p[:out].strip != ''
+            # there are admin customizations
+            if @resource[:property] == nil
+                svccfg("-s", @resource[:fmri], "delcust")
+            else
+                svccfg("-s", @resource[:fmri], "delcust", @resource[:property])
+            end
+            svccfg("-s", @resource[:fmri], "refresh")
+        end
+    end
+
+    def exec_cmd(*cmd)
+        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
+        {:out => output, :exit => $CHILD_STATUS.exitstatus}
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/vni_interface/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,79 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.type(:vni_interface).provide(:vni_interface) do
+    desc "Provider for management of VNI interfaces for Oracle Solaris"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :ipadm => '/usr/sbin/ipadm'
+
+    def self.instances
+        vnis = []
+        ipadm("show-if", "-p", "-o", "IFNAME,CLASS").split(
+              "\n").each do |line|
+            ifname, ifclass = line.split(":", 2)
+            next if ifclass != "vni"
+            vnis << new(:name => ifname, :ensure => :present)
+        end
+        vnis
+    end
+
+    def add_options
+       options = []
+       if @resource[:temporary] == :true
+         options << "-t"
+       end
+       options
+    end
+
+    def exists?
+        p = exec_cmd(command(:ipadm), "show-if", "-p", "-o", "IFNAME,CLASS",
+                     @resource[:name])
+        if p[:exit] == 1
+            return false
+        end
+
+        ifname, ifclass = p[:out].strip().split(":", 2)
+        if ifclass == "vni"
+            return true
+        end
+
+        # for all other cases, return false
+        return false
+    end
+
+    def create
+        ipadm('create-vni', add_options, @resource[:name])
+    end
+
+    def destroy
+        ipadm('delete-vni', @resource[:name])
+    end
+
+    def exec_cmd(*cmd)
+        output = Puppet::Util::Execution.execute(cmd, :failonfail => false)
+        {:out => output, :exit => $CHILD_STATUS.exitstatus}
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/provider/vnic/solaris.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,95 @@
+#
+# 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.
+#
+
+Puppet::Type.type(:vnic).provide(:vnic) do
+    desc "Provider for creating VNICs in the Solaris OS"
+    confine :operatingsystem => [:solaris]
+    defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+    commands :dladm => '/usr/sbin/dladm'
+
+    def self.instances
+        dladm("show-vnic", "-p", "-o", "link,over,macaddress").split(
+              "\n").collect do |line|
+            link, over, mac = line.split(":", 3)
+            new(:name => link,
+                :ensure => :present,
+                :lower_link => over,
+                :mac_address => mac.delete("\\"))  # remove the escape character
+        end
+    end
+        
+    def self.prefetch(resources)
+        # pull the instances on the system
+        vnics = instances
+
+        # set the provider for the resource to set the property_hash
+        resources.keys.each do |name|
+            if provider = vnics.find{ |vnic| vnic.name == name}
+                resources[name].provider = provider
+            end
+        end
+    end
+
+    def lower_link
+        @property_hash[:lower_link]
+    end
+
+    def lower_link=(value)
+        dladm("modify-vnic", "-l", value, @resource[:name])
+    end
+
+    def mac_address
+        @property_hash[:mac_address]
+    end
+
+    def mac_address=(value)
+        dladm("modify-vnic", "-m", value, @resource[:name])
+    end
+
+    def add_options
+       options = []
+       if @resource[:temporary] == :true
+         options << "-t"
+       end
+
+       if @resource[:mac_address]
+           options << "-m" << @resource[:mac_address]
+       end
+       options
+    end
+
+    def exists?
+        @property_hash[:ensure] == :present
+    end
+
+    def create
+        dladm('create-vnic', '-l', @resource[:lower_link], add_options,
+              @resource[:name])
+    end
+
+    def destroy
+        dladm('delete-vnic', @resource[:name])
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/address_object.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,109 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:address_object) do
+    @doc = "Manage the configuration of Oracle Solaris address objects"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the address object or interface"
+        isnamevar
+    end
+
+    newparam(:temporary) do
+        desc "Optional parameter that specifies that the address object is
+              temporary.  Temporary aggregation links last until the next
+              reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:address_type) do
+        desc "The type of address object to create.  Valid values are static,
+              dhcp, addrconf."
+        # add from_gz as a valid value, even though users should not specify it
+        newvalues(:static, :dhcp, :addrconf, :from_gz)
+    end
+
+    newproperty(:enable) do
+        desc "Specifies the address object should be enabled or disabled."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:address) do
+        desc "A literal IP address or a hostname corresponding to the local
+              end-point.  An optional prefix length may be specified.  Only
+              valid with an address_type of 'static'"
+    end
+
+    newproperty(:remote_address) do
+        desc "A literal IP address or a hostname corresponding to an optional
+              remote end-point.  An optional prefix length may be specified.
+              Only valid with an address_type of 'static'"
+    end
+
+    newproperty(:down) do
+        desc "Specifies that the configured address should be marked down.
+              Only valid with an address_type of 'static'."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:seconds) do
+        desc "Specifies the amount of time in seconds to wait until the
+              operation completes.  Only valid with an address_type of
+              'dhcp'.  Valid values are a numerical value in seconds or
+              'forever'"
+    end
+
+    newproperty(:hostname) do
+        desc "Specifies the hostname to which the client would like the DHCP
+              server to map the client's leased IPv4 address.  Only valid
+              with an address_type of 'dhcp'"
+    end
+
+    newproperty(:interface_id) do
+        desc "Specifies the local interface ID to be used for generating
+              auto-configured addresses.  Only valid with an address_type of
+              'addrconf'"
+    end
+
+    newproperty(:remote_interface_id) do
+        desc "Specifies an optional remote interface ID to be used for
+              generating auto-configured addresses.  Only valid with an
+              address_type of 'addrconf'"
+    end
+
+    newproperty(:stateful) do
+        desc "Specifies if stateful auto-configuration should be enabled or
+              not."
+        newvalues(:yes, :no)
+    end
+
+    newproperty(:stateless) do
+        desc "Specifies if stateless auto-configuration should be enabled or
+              not."
+        newvalues(:yes, :no)
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/address_properties.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,51 @@
+#
+# 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.
+#
+
+Puppet::Type.newtype(:address_properties) do
+    @doc = "Manage Oracle Solaris address properties"
+
+    ensurable do
+        # remove the ability to specify :absent.  New values must be set.
+        newvalue(:present) do
+            provider.create
+        end
+    end
+
+    newparam(:address) do
+        desc "The name of the address object"
+        isnamevar
+    end
+
+    newparam(:temporary) do
+        desc "Optional parameter that specifies changes to the address object
+              are temporary.  Changes last until the next reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:properties) do
+        desc "A hash table of propname=propvalue entries to apply to an
+              address object"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/boot_environment.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,61 @@
+#
+# 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.
+#
+
+Puppet::Type.newtype(:boot_environment) do
+    @doc = "Manage Oracle Solaris Boot Environments (BEs)"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The BE name"
+        validate do |value|
+            raise Puppet::Error, "Invalid BE name:  #{value}" unless
+                value =~ /^[\d\w\.\-\:\_]+$/
+        end
+        isnamevar
+    end
+
+    newparam(:description) do
+        desc "Description for the new BE"
+    end
+
+    newparam(:clone_be) do
+        desc "Create a new BE from an existing inactive BE"
+    end
+
+    newparam(:options) do
+        desc "Create the datasets for a new BE with specific ZFS
+              properties.  Specify options as a hash."
+    end
+
+    newparam(:zpool) do
+        desc "Create the new BE in the specified zpool"
+    end
+
+    newproperty(:activate) do
+        desc "Activate the specified BE"
+        newvalues(:true, :false)
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/dns.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,191 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+require 'ipaddr'
+require 'puppet/property/list'
+
+# DNS options
+simple_opts = ["debug", "rotate", "no-check-names", "inet6"]
+arg_opts =  ["ndots", "timeout", "retrans", "attempts", "retry"]
+
+Puppet::Type.newtype(:dns) do
+    @doc = "Manage the configuration of the DNS client for Oracle Solaris"
+
+    newparam(:name) do
+        desc "The symbolic name for the DNS client settings to use.  This name
+              is used for human reference only."
+        isnamevar
+    end
+
+    newproperty(:nameserver, :parent => Puppet::Property::List) do
+        desc "The IP address(es) the resolver is to query.  A maximum of
+              3 IP addresses may be specified.  Specify multiple IP addresses
+              as an array"
+
+        # ensure should remains an array as long as there's more than 1 entry
+        def should
+            if @should.length == 1
+                @should[0]
+            else
+                @should
+            end
+        end
+
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            if should.is_a? Array
+                is.sort == self.should.sort
+            end
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+        validate do |value|
+            begin
+                ip = IPAddr.new(value)
+            rescue ArgumentError
+                raise Puppet::Error, "nameserver IP address:  #{value} is 
+                    invalid"
+            end
+        end
+    end
+
+    newproperty(:domain) do
+        desc "The local domain name"
+    end
+
+    newproperty(:search, :parent => Puppet::Property::List) do
+        desc "The search list for host name lookup.  A maximum of 6 search
+              entries may be specified.  Specify multiple search entries as an
+              array."
+
+        # ensure should remains an array as long as there's more than 1 entry
+        def should
+            if @should.length == 1
+                @should[0]
+            else
+                @should
+            end
+        end
+
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            if should.is_a? Array
+                is.sort == self.should.sort
+            end
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+    end
+
+    newproperty(:sortlist, :parent => Puppet::Property::List) do
+        desc "Addresses returned by gethostbyname() to be sorted.  Entries must
+              be specified in IP 'slash notation'.  A maximum of 10 sortlist
+              entries may be specified.  Specify multiple entries as an array."
+
+        # ensure should remains an array as long as there's more than 1 entry
+        def should
+            if @should.length == 1
+                @should[0]
+            else
+                @should
+            end
+        end
+
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            if should.is_a? Array
+                is.sort == self.should.sort
+            end
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+        validate do |value|
+            begin
+                ip = IPAddr.new(value)
+            rescue ArgumentError
+                raise Puppet::Error, "sortlist IP address: #{value} is invalid"
+            end
+        end
+    end
+
+    newproperty(:options, :parent => Puppet::Property::List) do
+        desc "Set internal resolver variables.  Valid values are debug,
+              ndots:n, timeout:n, retrans:n, attempts:n, retry:n, rotate,
+              no-check-names, inet6.  For values with 'n', specify 'n' as an
+              integer.  Specify multiple options as an array."
+
+        # ensure should remains an array as long as there's more than 1 entry
+        def should
+            if @should.length == 1
+                @should[0]
+            else
+                @should
+            end
+        end
+
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            if should.is_a? Array
+                is.sort == self.should.sort
+            end
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+        validate do |value|
+            data = value.split(":")
+            if data.length == 1
+                raise Puppet::Error, "option #{value} is invalid" \
+                    if not simple_opts.include? data[0]
+            elsif data.length == 2
+                raise Puppet::Error, "option #{value} is invalid" \
+                    if not arg_opts.include? data[0]
+
+                # attempt to cast the integer specified
+                begin
+                    check = Integer(data[1])
+                rescue ArgumentError
+                    raise Puppet::Error, "option #{value} is invalid"
+                end 
+            else
+                raise Puppet::Error, "option #{value} is invalid"
+            end
+        end
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/etherstub.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,41 @@
+#
+# 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.
+#
+
+Puppet::Type.newtype(:etherstub) do
+    @doc = "Manage the configuration of Solaris etherstubs"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the etherstub"
+        isnamevar
+    end
+
+    newparam(:temporary) do
+        desc "Optional parameter that specifies that the etherstub is 
+              temporary.  Temporary etherstubs last until the next reboot."
+        newvalues(:true, :false)
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/interface_properties.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,57 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:interface_properties) do
+    @doc = "Manage Oracle Solaris interface properties"
+
+    ensurable do
+        # remove the ability to specify :absent.  New values must be set.
+        newvalue(:present) do
+            provider.create
+        end
+    end
+
+    newparam(:interface) do
+        desc "The name of the interface with protocol (if appropriate)"
+        validate do |iface|
+            if not iface =~ /^.*?\/.*?$/i
+                raise Puppet::Error, "Invalid interface name.  Interface name
+                    must specify name and protocol."
+            end
+        end
+        isnamevar
+    end
+
+    newparam(:temporary) do
+        desc "Optional parameter that specifies changes to the interface are
+              temporary.  Changes last until the next reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:properties) do
+        desc "A hash table of propname=propvalue entries to apply to the
+              interface"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/ip_interface.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,41 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:ip_interface) do
+    @doc = "Manage the configuration of Oracle Solaris IP interfaces"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the IP interface"
+        isnamevar
+    end
+
+    newparam(:temporary)  do
+        desc "Optional parameter that specifies that the IP interface is
+              temporary.  Temporary interfaces last until the next reboot."
+        newvalues(:true, :false)
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,54 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:ip_tunnel) do
+    @doc = "Manage the configuration of Oracle Solaris IP Tunnel links"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the iptunnel link"
+        isnamevar
+    end
+
+    newparam(:temporary)  do
+        desc "Optional parameter that specifies that the IP tunnel is
+              temporary.  Temporary IP tunnels last until the next reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:tunnel_type) do
+        desc "Specifies the type of tunnel to be created."
+        newvalues("ipv4", "ipv6", "6to4")
+    end
+
+    newproperty(:local_address) do
+        desc "IP address or hostname corresponding to the local tunnel address"
+    end
+
+    newproperty(:remote_address) do
+        desc "IP address or hostname corresponding to the remote tunnel address"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/ipmp_interface.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,75 @@
+#
+# 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.
+#
+
+require 'puppet/property/list'
+
+Puppet::Type.newtype(:ipmp_interface) do
+    @doc = "Manage the configuration of Oracle Solaris IPMP interfaces"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the IP interface"
+        isnamevar
+    end
+
+    newparam(:temporary)  do
+        desc "Optional parameter that specifies that the IP interface is
+              temporary.  Temporary interfaces last until the next reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:interfaces, :parent => Puppet::Property::List) do
+        desc "An array of interface names to use for the IPMP interface"
+
+        # ensure should remains an array
+        def should
+            @should
+        end
+
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # ipadm returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+        validate do |name|
+            cmd = Array["/usr/sbin/ipadm", "show-if", "-p", "-o", "IFNAME"]
+            output = Puppet::Util::Execution.execute(cmd).split("\n")
+            if name.class == Array
+                check = output - name
+                raise Puppet::Error, "Invalid interface(s) specified:  "
+                    "#{check.inspect}" if not check.empty?
+            else
+                raise Puppet::Error, "Invalid interface specified: #{name}" \
+                    if not output.include?(name)
+            end
+        end
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/ldap.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,368 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+require 'ipaddr'
+require 'puppet/property/list'
+
+def valid_hostname?(hostname)
+    return false if hostname.length > 255 or hostname.scan('..').any?
+    hostname = hostname[0...-1] if hostname.index('.', -1)
+    return hostname.split('.').collect { |i|
+        i.size <= 63 and
+        not (i.rindex('-', 0) or i.index('-', -1) or i.scan(/[^a-z\d-]/i).any?)
+    }.all?
+end
+
+def valid_ip?(value)
+    begin
+        ip = IPAddr.new(value)
+    rescue ArgumentError
+        return false
+    end
+    return true
+end
+
+Puppet::Type.newtype(:ldap) do
+    @doc = "Manage the configuration of the LDAP client for Oracle Solaris"
+
+    newparam(:name) do
+        desc "The symbolic name for the LDAP client settings to use.  This name
+              is used for human reference only."
+        isnamevar
+    end
+
+    newproperty(:profile) do
+        desc "The LDAP profile name"
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+        desc "The LDAP profile name"
+    end
+
+    newproperty(:server_list, :parent => Puppet::Property::List) do
+        desc "LDAP server names or addresses.  Specify multiple servers as an
+              array"
+
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+
+        # ensure should remains an array
+        def should
+            @should
+        end
+        
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+        validate do |value|
+            raise Puppet::Error, "default_server entry:  #{value} is 
+                invalid" if not valid_ip?(value) and not valid_hostname?(value)
+        end
+    end
+
+    newproperty(:preferred_server_list, :parent => Puppet::Property::List) do
+        desc "LDAP server(s) to contact before any servers listed in
+              default_server_list"
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+
+        # ensure should remains an array
+        def should
+            @should
+        end
+        
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+        validate do |value|
+            raise Puppet::Error, "preferred_server entry:  #{value} is 
+                invalid" if not valid_ip?(value) and not valid_hostname?(value)
+        end
+    end
+
+    newproperty(:search_base) do
+        desc "The default search base DN"
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+    end
+
+    newproperty(:search_scope) do
+        desc "The default search scope for the client's search operations."
+        newvalues("base", "one", "sub")
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+    end
+
+    newproperty(:authentication_method, :parent => Puppet::Property::List) do
+        desc "The default authentication method(s).  Specify multiple methods
+              as an array."
+
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+        
+        # ensure should remains an array
+        def should
+            @should
+        end
+        
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+        newvalues("none", "simple", "sasl/CRAM-MD5", "sasl/DIGEST-MD5",
+                  "sasl/GSSAPI", "tls:simple", "tls:sasl/CRAM-MD5",
+                  "tls:sasl/DIGEST-MD5")
+    end
+
+    newproperty(:credential_level) do
+        desc "The credential level the client should use to contact the
+              directory."
+        newvalues("anonymous", "proxy", "self")
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+    end
+
+    newproperty(:search_time_limit) do
+        desc "The maximum number of seconds allowed for an LDAP search
+              operation."
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+    end
+
+    newproperty(:bind_time_limit) do
+        desc "The maximum number of seconds a client should spend performing a
+              bind operation."
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+    end
+
+    newproperty(:follow_referrals) do
+        desc "The referral setting."
+        newvalues(:true, :false)
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+    end
+
+    newproperty(:profile_ttl) do
+        desc "The TTL value in seconds for the client information"
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+    end
+
+    newproperty(:attribute_map, :parent => Puppet::Property::List) do
+        desc "A mapping from an attribute defined by a service to an attribute
+              in an alternative schema.  Specify multiple mappings as an array."
+
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+        
+        # ensure should remains an array
+        def should
+            @should
+        end
+        
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+    end
+
+    newproperty(:objectclass_map, :parent => Puppet::Property::List) do
+        desc "A  mapping from an objectclass defined by a service to an
+              objectclass in an alternative schema.  Specify multiple mappings
+              as an array."
+        
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+
+        # ensure should remains an array
+        def should
+            @should
+        end
+        
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+    end
+
+    newproperty(:service_credential_level) do
+        desc "The credential level to be used by a service."
+        newvalues("anonymous", "proxy")
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+    end
+
+    newproperty(:service_authentication_method,
+                :parent => Puppet::Property::List) do
+        desc "The authentication method to be used by a service.  Specify
+              multiple methods as an array."
+
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "config"
+
+        # ensure should remains an array
+        def should
+            @should
+        end
+        
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+    end
+
+    newproperty(:bind_dn, :parent => Puppet::Property::List) do
+        desc "An entry that has read permission for the requested database.
+              Specify multiple entries as an array."
+
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "cred"
+
+        # ensure should remains an array
+        def should
+            @should
+        end
+        
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+    end
+    
+    newproperty(:bind_passwd) do
+        desc "password to be used for authenticating the bind DN."
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "cred"
+    end
+
+    newproperty(:enable_shadow_update) do
+        desc "Specify whether the client is allowed to update shadow
+              information."
+        newvalues(:true, :false)
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "cred"
+    end
+
+    newproperty(:admin_bind_dn) do
+        desc "The Bind Distinguished Name for the administrator identity that
+              is used for shadow information update"
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "cred"
+    end
+
+    newproperty(:admin_bind_passwd) do
+        desc "The administrator password"
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "cred"
+    end
+
+    newproperty(:host_certpath) do
+        desc "The location of the certificate files"
+        class << self
+            attr_accessor :pg
+        end
+        self.pg = "cred"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/link_aggregation.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,90 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+require 'puppet/property/list'
+
+Puppet::Type.newtype(:link_aggregation) do
+    @doc = "Manage the configuration of Oracle Solaris link aggregations"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the link aggregration"
+        isnamevar
+    end
+
+    newparam(:temporary) do
+        desc "Optional parameter that specifies that the aggreation is
+              temporary.  Temporary aggregation links last until the next
+              reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:lower_links, :parent => Puppet::Property::List) do
+        desc "Specifies an array of links over which the aggrestion is created."
+
+        # ensure should remains an array
+        def should
+            @should
+        end
+
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        # dladm returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+    end
+
+    newproperty(:mode) do
+        desc "Specifies which mode to set."
+        newvalues(:trunk, :dlmp)
+    end
+
+    newproperty(:policy) do
+        desc "Specifies the port selection policy to use for load spreading
+              of outbound traffic."
+    end
+
+    newproperty(:lacpmode) do
+        desc "Specifies whether LACP should be used and, if used, the mode
+              in which it should operate"
+        newvalues(:off, :active, :passive)
+    end
+
+    newproperty(:lacptimer) do
+        desc "Specifies the LACP timer value"
+        newvalues(:short, :long)
+    end
+
+    newproperty(:address) do
+        desc "Specifies a fixed unicast hardware address to be used for the
+              aggregation"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/link_properties.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,45 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:link_properties) do
+    @doc = "Manage Oracle Solaris link properties"
+
+    ensurable
+
+    newparam(:link) do
+        desc "The name of the link"
+        isnamevar
+    end
+
+    newparam(:temporary) do
+        desc "Optional parameter that specifies changes to the link are
+              temporary.  Changes last until the next reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:properties) do
+        desc "A hash table of propname=propvalue entries to apply to the link"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/nis.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,105 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+require 'ipaddr'
+require 'puppet/property/list'
+
+def valid_hostname?(hostname)
+    return false if hostname.length > 255 or hostname.scan('..').any?
+    hostname = hostname[0...-1] if hostname.index('.', -1)
+    return hostname.split('.').collect { |i|
+        i.size <= 63 and 
+        not (i.rindex('-', 0) or i.index('-', -1) or i.scan(/[^a-z\d-]/i).any?)
+    }.all?
+end
+
+Puppet::Type.newtype(:nis) do
+    @doc = "Manage the configuration of the NIS client for Oracle Solaris"
+
+    newparam(:name) do
+       desc "The symbolic name for the NIS domain and client settings to use.
+              This name is used for human reference only."
+        isnamevar
+    end
+
+    newproperty(:domainname) do
+        desc "The NIS domainname"
+    end
+
+    newproperty(:ypservers, :parent => Puppet::Property::List) do
+        desc "The hosts or IP addresses to use as NIS servers.  Specify
+              multiple entries as an array"
+
+        # ensure should remains an array as long as there's more than 1 entry
+        def should
+            if @should.length == 1
+                @should[0]
+            else
+                @should
+            end
+        end
+
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            if should.is_a? Array
+                is.sort == self.should.sort
+            end
+        end
+
+        # svcprop returns multivalue entries delimited with a space
+        def delimiter
+            " "
+        end
+
+        validate do |value|
+            begin
+                ip = IPAddr.new(value)
+            rescue ArgumentError
+                # the value wasn't a valid IP address, so check the hostname
+                raise Puppet::Error, "ypserver entry:  #{value} is 
+                    invalid" if not valid_hostname? value
+            end
+        end
+    end
+
+    newproperty(:securenets) do
+        desc "Entries for /var/yp/securenets.  Each entry must be a hash.
+              The first element in the hash is either a host or a netmask.
+              The second element must be an IP network address.  Specify
+              multiple entries as separate entries in the hash."
+    end
+
+    newproperty(:use_broadcast) do
+        desc "Send a broadcast datagram requesting needed bind information for
+              a specific NIS server."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:use_ypsetme) do
+        desc "Only allow root on the client to change the binding to a desired
+              server."
+        newvalues(:true, :false)
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/nsswitch.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,114 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:nsswitch) do
+    @doc = "Name service switch configuration data"
+
+    newparam(:name) do
+        desc "The symbolic name for the nsswitch settings to use.  This name
+              is used for human reference only."
+        isnamevar
+    end
+
+    newproperty(:default) do
+        desc "The default configuration entry"
+    end
+
+    newproperty(:host) do
+        desc "The host database lookup override"
+    end
+
+    newproperty(:password) do
+        desc "The password database lookup override"
+    end
+
+    newproperty(:group) do
+        desc "The group database lookup override"
+    end
+
+    newproperty(:network) do
+        desc "The network database lookup override"
+    end
+
+    newproperty(:rpc) do
+        desc "The rpc database lookup override"
+    end
+
+    newproperty(:ether) do
+        desc "The ether database lookup override"
+    end
+
+    newproperty(:netmask) do
+        desc "The netmask database lookup override"
+    end
+
+    newproperty(:bootparam) do
+        desc "The bootparam database lookup override"
+    end
+
+    newproperty(:publickey) do
+        desc "The publickey database lookup override"
+    end
+
+    newproperty(:netgroup) do
+        desc "The netgroup database lookup override"
+    end
+
+    newproperty(:automount) do
+        desc "The automount database lookup override"
+    end
+
+    newproperty(:alias) do
+        desc "The alias database lookup override"
+    end
+
+    newproperty(:service) do
+        desc "The service database lookup override"
+    end
+
+    newproperty(:project) do
+        desc "The project database lookup override"
+    end
+
+    newproperty(:auth_attr) do
+        desc "The auth_attr database lookup override"
+    end
+
+    newproperty(:prof_attr) do
+        desc "The prof_attr database lookup override"
+    end
+
+    newproperty(:tnrhtp) do
+        desc "The tnrhtp database lookup override.  Requires trusted extensions"
+    end
+
+    newproperty(:tnrhdb) do
+        desc "The tnrhdb database lookup override.  Requires trusted extensions"
+    end
+
+    newproperty(:sudoer) do
+        desc "The sudoer database lookup override.  Used with sudo only"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/pkg_facet.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,40 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:pkg_facet) do
+    @doc = "Manage Oracle Solaris package facets"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The facet name"
+        isnamevar
+    end
+
+    newproperty(:value) do
+        desc "The value for the facet"
+        newvalues(/[tT]rue/, /[fF]alse/, /[nN]one/)
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/pkg_mediator.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,43 @@
+#
+# 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.
+#
+
+Puppet::Type.newtype(:pkg_mediator) do
+    @doc = "Manage Oracle Solaris package mediators"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The mediator name"
+        isnamevar
+    end
+
+    newproperty(:version) do
+        desc "The version of the mediated interface to use"
+    end
+
+    newproperty(:implementation) do
+        desc "The implementation of the mediated interface to use"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/pkg_publisher.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,102 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+require 'puppet/property/list'
+Puppet::Type.newtype(:pkg_publisher) do
+    @doc = "Manage Oracle Solaris package publishers"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The publisher name"
+        isnamevar
+    end
+
+    newproperty(:origin, :parent => Puppet::Property::List) do
+        desc "Which origin URI(s) to set.  For multiple origins, specify them
+              as a list"
+
+        # ensure should remains an array
+        def should
+            @should
+        end
+
+        def insync?(is)
+            is = [] if is == :absent or is.nil?
+            is.sort == self.should.sort
+        end
+
+        def retrieve
+            provider.origin
+        end
+
+        # for origins with a file:// URI, strip any trailing / character
+        munge do |value|
+            if value.start_with? "file" and value.end_with? "/"
+                value = value.chomp("/")
+            else
+                value
+            end
+        end
+    end
+
+    newproperty(:enable) do
+        desc "Enable the publisher"
+        newvalues(:true, :false)
+    end
+
+    newproperty(:sticky) do
+        desc "Set the publisher 'sticky'"
+        newvalues(:true, :false)
+    end
+
+    newproperty(:searchfirst) do
+        desc "Set the publisher first in the search order"
+        newvalues(:true)
+    end
+
+    newproperty(:searchafter) do
+        desc "Set the publisher after the specified publisher in the search
+              order"
+    end
+
+    newproperty(:searchbefore) do
+        desc "Set the publisher before the specified publisher in the search
+              order"
+    end
+
+    newproperty(:proxy) do
+        desc "Use the specified web proxy URI to retrieve content for the
+              specified origin or mirror"
+    end
+
+    newproperty(:sslkey) do
+        desc "Specify the client SSL key"
+    end
+
+    newproperty(:sslcert) do
+        desc "Specify the client SSL certificate"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/pkg_variant.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,45 @@
+#
+# 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.
+#
+
+Puppet::Type.newtype(:pkg_variant) do
+    @doc = "Manage Oracle Solaris package variants"
+
+    ensurable do
+        # remove the ability to specify :absent as deletion of variants is not
+        # supported.  New values must be set.
+        newvalue(:present) do
+            provider.create
+        end
+    end
+
+    newparam(:name) do
+        desc "The variant name"
+        isnamevar
+    end
+
+    newproperty(:value) do
+        desc "The value for the variant"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/protocol_properties.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,51 @@
+#
+# 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.
+#
+
+Puppet::Type.newtype(:protocol_properties) do
+    @doc = "Manage Oracle Solaris protocol properties"
+
+    ensurable do
+        # remove the ability to specify :absent.  New values must be set.
+        newvalue(:present) do
+            provider.create
+        end
+    end
+
+    newparam(:protocol) do
+        desc "The name of the protocol"
+        isnamevar
+    end
+
+    newparam(:temporary) do
+        desc "Optional parameter that specifies changes to the protocol are
+              temporary.  Changes last until the next reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:properties) do
+        desc "A hash table of propname=propvalue entries to apply to an
+              protocol"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/solaris_vlan.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,54 @@
+#
+# 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.
+#
+
+Puppet::Type.newtype(:solaris_vlan) do
+    @doc = "Manage the configuration of Oracle Solaris VLAN links"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the VLAN"
+        isnamevar
+    end
+
+    newparam(:force) do
+        desc "Optional parameter to force the creation of the VLAN link"
+        newvalues(:true, :false)
+    end
+
+    newparam(:temporary) do
+        desc "Optional parameter that specifies that the VLAN is 
+              temporary.  Temporary VLAN links last until the next reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:lower_link) do
+        desc "Specifies Ethernet link over which VLAN is created"
+    end
+
+    newproperty(:vlanid) do
+        desc "VLAN link ID"
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/svccfg.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,81 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:svccfg) do
+    @doc = "Manage SMF service properties with svccfg(1M)."
+
+    ensurable do
+        newvalue(:present) do
+            provider.create
+        end
+
+        newvalue(:absent) do
+            provider.destroy
+        end
+
+        newvalue(:delcust) do
+            provider.delcust
+        end
+    end
+
+    newparam(:name) do
+        desc "The symbolic name for properties to manipulate.  This name is
+              meaningful only within Puppet manifests and not expressed to
+              SMF in any way."
+        isnamevar
+    end
+
+    newparam(:fmri) do
+        desc "SMF service FMRI to manipulate"
+    end
+
+    newparam(:property) do
+        desc "Name of property - includes Property Group and Property.  If
+              the service, instance, or property group does not exist, they
+              will be created."
+    end
+
+    newparam(:type) do
+        desc "Type of the property"
+    end
+
+    newparam(:value) do
+        desc "Value of the property"
+        munge do |value|
+            # cast the value to an array.  This is done for the case where a
+            # property needs to be set.  exists? will undo all of this and
+            # revert the value into a simple string for comparisons.
+            if not value.is_a? Array
+                value = Array[value]
+            end
+
+            # wrap each entry in quotes
+            value = value.collect{ |v| "\"#{v}\"" }
+
+            value.insert(0, "(")
+            value.insert(-1, ")")
+        end
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/vni_interface.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,41 @@
+#
+# 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, 2014, Oracle and/or its affiliates. All rights reserved.
+#
+
+Puppet::Type.newtype(:vni_interface) do
+    @doc = "Manage the configuration of Solaris VNI interfaces"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the VNI interface"
+        isnamevar
+    end
+
+    newparam(:temporary)  do
+        desc "Optional parameter that specifies that the VNI interface is
+              temporary.  Temporary interfaces last until the next reboot."
+        newvalues(:true, :false)
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/solaris/lib/puppet/type/vnic.rb	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,67 @@
+#
+# 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.
+#
+
+Puppet::Type.newtype(:vnic) do
+    @doc = "Manage the configuration of Oracle Solaris Virtual NICs (VNICs)"
+
+    ensurable
+
+    newparam(:name) do
+        desc "The name of the VNIC"
+
+        isnamevar
+
+        validate do |vnic_value|
+           if not vnic_value =~ /^[[:alpha:]]([\w.]){1,29}([\d])$/i
+               raise Puppet::Error, "Invalid VNIC name: #{vnic_value}"
+           end
+        end
+    end
+
+    newparam(:temporary)  do
+        desc "Optional parameter that specifies that  the  VNIC  is  temporary. 
+              Temporary VNICs last until the next reboot."
+        newvalues(:true, :false)
+    end
+
+    newproperty(:lower_link) do
+        desc "The name of the physical datalink over which the VNIC is 
+              operating"
+        validate do |link_value|
+            if not link_value =~ /^[[:alpha:]]([\w.]){1,29}([\d])$/i
+                raise Puppet::Error, "Invalid lower-link: #{link_value}"
+            end
+        end
+    end
+
+    newproperty(:mac_address) do
+        desc "Sets the VNIC's MAC address based on  the  specified value."
+        validate do |mac_value|
+            if not mac_value =~ /^([[:xdigit:]]{1,2}[:-]){5}[[:xdigit:]]{1,2}$/i
+                raise Puppet::Error, "Invalid MAC address: #{mac_value}" 
+            end
+        end
+    end
+end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/update_smf.py	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,320 @@
+#! /usr/bin/python
+#
+# 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.
+#
+
+'''
+Utility program for helping with the upgrade of puppet to a newer
+version.  This program will take a puppet configuration file that
+has been generated via the command sequence
+
+puppet agent --genconfig > puppet.conf
+
+and use the data in that configuration file to replace the
+associated Puppet SMF user configuratable properties with the
+properties that are allowed in the new version of puppet
+
+NOTE: This file should not be included with the puppet release
+'''
+
+import os
+import re
+import sys
+
+from lxml import etree
+from optparse import OptionParser
+
+
+COMMENT_PATTERN = re.compile(".*# ?(.*)")
+CONFIG_VALUE_PATTERN = re.compile("([\S]+)\s*=\s*(\S*)")
+
+DEFAULT_VALUE_STR = "The default value is "
+
+# SMF defined property types.  For a list of
+# all available types see
+# /usr/share/lib/xml/dtd/service_bundle.dtd.1
+TYPE_ASTRING = "astring"
+TYPE_BOOLEAN = "boolean"
+TYPE_INTEGER = "integer"
+TYPE_HOST = "host"
+TYPE_HOSTNAME = "hostname"
+TYPE_NETADDRESS = "net_address"
+TYPE_URI = "uri"
+
+
+# Dictionary of currently defined property types to associate
+# with a specified property.  Any property not defined here
+# is assumed to have a property type of astring, integer,
+# or boolean
+PROP_TYPE = {
+    'server': TYPE_HOST,
+    'archive_file_server': TYPE_HOST,
+    'bindaddress': TYPE_NETADDRESS,
+    'ca_server': TYPE_HOST,
+    'certname': TYPE_HOSTNAME,
+    'couchdb_url': TYPE_URI,
+    'dbserver': TYPE_HOST,
+    'dns_alt_names': TYPE_HOST,
+    'http_proxy_host': TYPE_HOST,
+    'inventory_server': TYPE_HOST,
+    'ldapserver': TYPE_HOST,
+    'ldapuser': TYPE_HOSTNAME,
+    'module_repository': TYPE_URI,
+    'queue_source': TYPE_URI,
+    'report_server': TYPE_HOST,
+    'reporturl': TYPE_URI,
+    'smtpserver': TYPE_HOST,
+    'srv_domain': TYPE_HOST,
+}
+
+# Dictionary used to hold properites and the resulting xml code
+PUPPET_CONFIG_DICT = dict()
+
+
+def err(msg):
+    '''Output standard error message'''
+    # Duplicate the syntax of the parser.error
+    sys.stderr.write("%(prog)s: error: %(msg)s\n" %
+                     {"prog": os.path.basename(sys.argv[0]), "msg": msg})
+
+
+def create_config_element(key, key_type, desc_text):
+    '''Create a basic xml entry following the basic pattern of
+
+        <prop_pattern name='${key}' type='${key_type}'
+                required='false'>
+                    <description> <loctext xml:lang='C'>
+                         ${desc_text}
+                    </loctext> </description>
+        </prop_pattern>
+    '''
+    prop_pattern = etree.Element(
+        "prop_pattern",
+        name=key,
+        type=key_type,
+        required="false")
+    desc = etree.SubElement(prop_pattern, "description")
+    loctext = etree.SubElement(desc, "loctext")
+    loctext.text = "\n%s\n\t    " % desc_text
+    loctext.set('{http://www.w3.org/XML/1998/namespace}lang', 'C')
+    return prop_pattern
+
+
+def determine_type(key, value):
+    '''Determine the xml property type to associate with the
+       specified key
+    '''
+
+    # Does the key have a specified xml property type
+    # already defined?
+    try:
+        return PROP_TYPE[key]
+    except KeyError:
+        pass
+
+    # Use the value to determine the xml property type
+    if value.isdigit():
+        return TYPE_INTEGER
+    if value.lower() in ['false', 'true']:
+        return TYPE_BOOLEAN
+    return TYPE_ASTRING
+
+
+def process_grouping(lines):
+    '''Process the lines in the list.  The last entry should be
+       a 'key=value' entry
+    '''
+
+    # The last field should be a key = value pair
+    # If it's not then the format of the file is not matching
+    # the expected format of
+    #
+    # Description
+    # The default value is "xxxx"
+    # key = value
+    #
+    key_value = lines.pop()
+    match = CONFIG_VALUE_PATTERN.match(key_value)
+    if not match:
+        raise TypeError("Last line in grouping is not in expected "
+                        "format of 'key = value'\n%s" %
+                        "\n".join(lines))
+    key = match.group(1)
+    value = match.group(2)
+
+    default_value_line = lines.pop()
+    if not default_value_line.startswith(DEFAULT_VALUE_STR):
+        # Not a match.  Last line was still part of the description
+        lines.append(default_value_line)
+
+    key_type = determine_type(key, value)
+
+    # remaining lines are the descriptor field
+    desc = '\n'.join(lines)
+    PUPPET_CONFIG_DICT[key] = (key, key_type, desc)
+
+
+def parse_puppet_config(filename):
+    '''Parse the puppet configuration file that is generated by
+       puppet agent --genconfig
+    '''
+    parameter_list = []
+    agent_check = True
+    with open(filename, 'r') as f_handle:
+        for line in f_handle:
+            if agent_check:
+                if line.startswith("[agent]"):
+                    # Throw away the initial starting block code in the
+                    del parameter_list[:]
+                    agent_check = False
+                    continue
+            line = line.strip().replace("\n", "")
+            if not line:
+                # If parameter_list is not empty, process the data and
+                # generate an xml structure
+                process_grouping(parameter_list)
+                # Done processing, delete all the saved entries
+                del parameter_list[:]
+                continue
+
+            match = COMMENT_PATTERN.match(line)
+            if match:
+                line = match.group(1)
+            parameter_list.append(line)
+    f_handle.close()
+
+
+def update_smf_file(smf_xml_file, output_file, version):
+    '''Replace the puppet property definitions in the specified SMF
+       file with those that are stored in PUPPET_CONFIG_DICT
+    '''
+
+    try:
+        parser = etree.XMLParser(remove_blank_text=True)
+        tree = etree.parse(smf_xml_file, parser)
+        root = tree.getroot()
+        template = root.find("service/template")
+        puppet_desc = template.find("common_name/loctext")
+        puppet_desc.text = "Puppet version %s" % version
+
+        pg_pattern = template.find("pg_pattern")
+    except IOError as msg:
+        err(msg)
+        return -1
+    except etree.XMLSyntaxError as msg:
+        err(msg)
+        return -1
+    except NameError as msg:
+        err("XML file %s does not match expected formated" % smf_xml_file)
+
+    # Delete the pg_pattern nodes and it's children
+    # This is the structure that will be rebuilt based
+    # on the genconfig information that was read in
+    if pg_pattern is not None:
+        template.remove(pg_pattern)
+
+    # <pg_pattern name='config' type='application' required='false'>
+    pg_pattern = etree.SubElement(
+        template,
+        "pg_pattern",
+        name="config",
+        type="application",
+        required="false")
+    for key in sorted(PUPPET_CONFIG_DICT.iterkeys()):
+        values = PUPPET_CONFIG_DICT[key]
+        element = create_config_element(values[0], values[1], values[2])
+        pg_pattern.append(element)
+
+    # Write out the contents of the updated puppet SMF config file
+    print "Writting out contents of new SMF configuration file to: %s" % \
+        output_file
+    with open(output_file, "w") as f_handle:
+        f_handle.write(etree.tostring(tree, pretty_print=True))
+    f_handle.close()
+
+
+def option_list():
+    '''Build the option list for this utility'''
+    desc = "Utility for assisting in the upgrading of Solaris Puppet SMF file"
+    usage = "usage: %prog -c <puppet_config_file> -s <smf_confilg_file> " \
+            "-v <puppet_version> [-o <output_file>]\n"
+    opt_list = OptionParser(description=desc, usage=usage)
+
+    opt_list.add_option("-c", "--config", dest="config", default=None,
+                        action="store", type="string", nargs=1,
+                        metavar="<puppet_config_file>",
+                        help="Puppet configuration file generated via"
+                             "genconfig option to puppet. i.e. "
+                             "puppet agent --genconfig > puppet.conf")
+    opt_list.add_option("-s", "--smf", dest="smf_xml", default=None,
+                        action="store", type="string", nargs=1,
+                        metavar="<smf_config_file>",
+                        help="Current solaris Puppet SMF XML configuration"
+                             " file. This file is located in <userland_tree>"
+                             "/components/puppet/files/puppet.xml")
+    opt_list.add_option("-o", "--output", dest="output", default=None,
+                        action="store", type="string", nargs=1,
+                        metavar="<output_file>",
+                        help="The name of the new puppet.xml file ")
+    opt_list.add_option("-v", "--version", dest="version", default="None",
+                        action="store", type="string", nargs=1,
+                        metavar="<puppet_version>",
+                        help="Puppet Version of update")
+
+    return opt_list
+
+
+def main():
+    '''Execute this utility based on the options supplied by the user'''
+    parser = option_list()
+
+    (options, _args) = parser.parse_args()
+
+    if not options.output and options.version:
+        options.output = "puppet.%s.xml" % options.version
+
+    if not options.config or not options.smf_xml or \
+            not options.output or not options.version:
+        err("Required options not specified")
+        parser.print_help()
+        sys.exit(-1)
+
+    if not os.path.isfile(options.config):
+        err("%s does not exist or is not a regular file\n"
+            % options.config)
+        sys.exit(-1)
+    if not os.path.isfile(options.smf_xml):
+        err("%s does not exist or is not a regular file\n"
+            % options.smf_xml)
+        sys.exit(-1)
+    if os.path.exists(options.output):
+        err("specified file %s already exist\n"
+            % options.output)
+        sys.exit(-1)
+
+    parse_puppet_config(options.config)
+    update_smf_file(options.smf_xml, options.output, options.version)
+
+if __name__ == '__main__':
+    main()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/files/user_attr	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,1 @@
+puppet::RO::audit_flags=cusa\:no
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-00-s12pkg.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,14 @@
+Oracle customization - non upstream patch
+Add Solaris 12 to the pkg(5) pkg provider
+
+--- puppet-3.6.2/lib/puppet/provider/package/pkg.rb.orig	2012-10-19 22:57:51.000000000 -0600
++++ puppet-3.6.2/lib/puppet/provider/package/pkg.rb	2012-10-24 15:55:23.203830708 -0600
+@@ -23,7 +23,7 @@
+ 
+   confine :osfamily => :solaris
+ 
+-  defaultfor :osfamily => :solaris, :kernelrelease => '5.11'
++  defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
+ 
+   def self.instances
+     pkg(:list, '-H').split("\n").map{|l| new(parse_line(l))}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-01-installrb-nogzip-manpage.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,16 @@
+Oracle customization - non upstream patch
+Prevent puppet's build script from gzipping the manpages.  Our version
+of man doesn't understand manpages with a .gz extension
+
+--- puppet-3.6.2/install.rb.orig	2014-06-18 09:37:25.655213788 -0600
++++ puppet-3.6.2/install.rb	2014-06-18 09:34:22.299805367 -0600
+@@ -135,9 +135,6 @@
+       FileUtils.chmod(0755, om)
+       FileUtils.install(mf, omf, {:mode => 0644, :preserve => true, :verbose => true})
+     end
+-    gzip = %x{which gzip}
+-    gzip.chomp!
+-    %x{#{gzip} -f #{omf}}
+   end
+ end
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-02-zone-type.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,298 @@
+Enhance the zone type to configure zones using a zonecfg export file format.
+Enhance the output of the puppet resource zone.
+
+--- puppet-3.6.2/lib/puppet/type/zone.rb.orig	2014-06-09 15:08:19.000000000 -0600
++++ puppet-3.6.2/lib/puppet/type/zone.rb	2014-06-25 15:52:29.120145393 -0600
+@@ -1,10 +1,5 @@
+-require 'puppet/property/list'
+ Puppet::Type.newtype(:zone) do
+-  @doc = "Manages Solaris zones.
+-
+-**Autorequires:** If Puppet is managing the directory specified as the root of
+-the zone's filesystem (with the `path` attribute), the zone resource will
+-autorequire that directory."
++  @doc = "Manages Solaris zones."
+ 
+ module Puppet::Zone
+   class StateMachine
+@@ -59,7 +54,7 @@
+ 
+     def self.fsm
+       return @fsm if @fsm
+-      @fsm = Puppet::Zone::StateMachine.new
++      @fsm = Puppet::Zone::StateMachine.new 
+     end
+ 
+     def self.alias_state(values)
+@@ -75,7 +70,7 @@
+ 
+     # This is seq value because the order of declaration is important.
+     # i.e we go linearly from :absent -> :configured -> :installed -> :running
+-    seqvalue :absent, :down => :destroy
++    seqvalue :absent, :down => :unconfigure
+     seqvalue :configured, :up => :configure, :down => :uninstall
+     seqvalue :installed, :up => :install, :down => :stop
+     seqvalue :running, :up => :start
+@@ -104,10 +99,10 @@
+         sleep 1
+       end
+       provider.send(method)
+-      provider.flush()
+     end
+ 
+     def sync
++
+       method = nil
+       direction = up? ? :up : :down
+ 
+@@ -131,135 +126,34 @@
+ 
+   newparam(:name) do
+     desc "The name of the zone."
+-
+     isnamevar
+   end
+ 
+-  newparam(:id) do
+-    desc "The numerical ID of the zone.  This number is autogenerated
+-      and cannot be changed."
+-  end
+-
+-  newparam(:clone) do
+-    desc "Instead of installing the zone, clone it from another zone.
+-      If the zone root resides on a zfs file system, a snapshot will be
+-      used to create the clone; if it resides on a ufs filesystem, a copy of the
+-      zone will be used. The zone from which you clone must not be running."
+-  end
+-
+-  newproperty(:ip, :parent => Puppet::Property::List) do
+-    require 'ipaddr'
+-
+-    desc "The IP address of the zone.  IP addresses **must** be specified
+-      with an interface, and may optionally be specified with a default router
+-      (sometimes called a defrouter). The interface, IP address, and default
+-      router should be separated by colons to form a complete IP address string.
+-      For example: `bge0:192.168.178.200` would be a valid IP address string
+-      without a default router, and `bge0:192.168.178.200:192.168.178.1` adds a
+-      default router to it.
+-
+-      For zones with multiple interfaces, the value of this attribute should be
+-      an array of IP address strings (each of which must include an interface
+-      and may include a default router)."
+-
+-    # The default action of list should is to lst.join(' '). By specifying
+-    # @should, we ensure the should remains an array. If we override should, we
+-    # should also override insync?() -- property/list.rb
+-    def should
+-      @should
+-    end
+-
+-    # overridden so that we match with self.should
+-    def insync?(is)
+-      return true unless is
+-      is = [] if is == :absent
+-      is.sort == self.should.sort
+-    end
+-  end
+-
+-  newproperty(:iptype) do
+-    desc "The IP stack type of the zone."
+-    defaultto :shared
+-    newvalue :shared
+-    newvalue :exclusive
+-  end
+-
+-  newproperty(:autoboot, :boolean => true) do
+-    desc "Whether the zone should automatically boot."
+-    defaultto true
+-    newvalues(:true, :false)
++  newparam(:config_profile) do
++    desc "Path to the config_profile to use to configure a solaris zone.
++          This is set when providing a sysconfig profile instead of running the
++	  sysconfig SCI tool on first boot of the zone."
+   end
+ 
+-  newproperty(:path) do
+-    desc "The root of the zone's filesystem.  Must be a fully qualified
+-      file name.  If you include `%s` in the path, then it will be
+-      replaced with the zone's name.  Currently, you cannot use
+-      Puppet to move a zone. Consequently this is a readonly property."
+-
+-    validate do |value|
+-      raise ArgumentError, "The zone base must be fully qualified" unless value =~ /^\//
+-    end
+-
+-    munge do |value|
+-      if value =~ /%s/
+-        value % @resource[:name]
+-      else
+-        value
+-      end
+-    end
+-  end
+-
+-  newproperty(:pool) do
+-    desc "The resource pool for this zone."
++  newparam(:zonecfg_export) do
++    desc "Contains the zone configuration information. This can be passed in
++    in the form of a file generated by the zonecfg command, in the form
++    of a template, or a string."
+   end
+ 
+-  newproperty(:shares) do
+-    desc "Number of FSS CPU shares allocated to the zone."
++  newparam(:archive) do
++    desc "The archive file containing an archived zone."
+   end
+ 
+-  newproperty(:dataset, :parent => Puppet::Property::List ) do
+-    desc "The list of datasets delegated to the non-global zone from the
+-      global zone.  All datasets must be zfs filesystem names which are
+-      different from the mountpoint."
+-
+-    def should
+-      @should
+-    end
+-
+-    # overridden so that we match with self.should
+-    def insync?(is)
+-      return true unless is
+-      is = [] if is == :absent
+-      is.sort == self.should.sort
+-    end
+-
+-    validate do |value|
+-      unless value !~ /^\//
+-        raise ArgumentError, "Datasets must be the name of a zfs filesystem"
+-      end
+-    end
++  newparam(:archived_zonename) do
++    desc "The archived zone to configure and install"
+   end
+-
+-  newproperty(:inherit, :parent => Puppet::Property::List) do
+-    desc "The list of directories that the zone inherits from the global
+-      zone.  All directories must be fully qualified."
+-
+-    def should
+-      @should
+-    end
+-
+-    # overridden so that we match with self.should
+-    def insync?(is)
+-      return true unless is
+-      is = [] if is == :absent
+-      is.sort == self.should.sort
+-    end
+-
+-    validate do |value|
+-      unless value =~ /^\//
+-        raise ArgumentError, "Inherited filesystems must be fully qualified"
+-      end
+-    end
++  
++  newparam(:clone) do
++    desc "Instead of installing the zone, clone it from another zone.
++      If the zone root resides on a zfs file system, a snapshot will be
++      used to create the clone; if it resides on a ufs filesystem, a copy of the
++      zone will be used. The zone from which you clone must not be running."
+   end
+ 
+   # Specify the sysidcfg file.  This is pretty hackish, because it's
+@@ -296,70 +190,11 @@
+       so Puppet only checks for it at that time.}
+   end
+ 
+-  newparam(:create_args) do
+-    desc "Arguments to the `zonecfg` create command.  This can be used to create branded zones."
+-  end
+-
+   newparam(:install_args) do
+     desc "Arguments to the `zoneadm` install command.  This can be used to create branded zones."
+   end
+ 
+-  newparam(:realhostname) do
+-    desc "The actual hostname of the zone."
+-  end
+-
+-  # If Puppet is also managing the base dir or its parent dir, list them
+-  # both as prerequisites.
+-  autorequire(:file) do
+-    if @parameters.include? :path
+-      [@parameters[:path].value, ::File.dirname(@parameters[:path].value)]
+-    else
+-      nil
+-    end
+-  end
+-
+-  # If Puppet is also managing the zfs filesystem which is the zone dataset
+-  # then list it as a prerequisite.  Zpool's get autorequired by the zfs
+-  # type.  We just need to autorequire the dataset zfs itself as the zfs type
+-  # will autorequire all of the zfs parents and zpool.
+-  autorequire(:zfs) do
+-    # Check if we have datasets in our zone configuration and autorequire each dataset
+-    self[:dataset] if @parameters.include? :dataset
+-  end
+-
+-  def validate_ip(ip, name)
+-    IPAddr.new(ip) if ip
+-  rescue ArgumentError
+-    self.fail Puppet::Error, "'#{ip}' is an invalid #{name}", $!
+-  end
+-
+-  def validate_exclusive(interface, address, router)
+-    return if !interface.nil? and address.nil?
+-    self.fail "only interface may be specified when using exclusive IP stack: #{interface}:#{address}"
+-  end
+-  def validate_shared(interface, address, router)
+-    self.fail "ip must contain interface name and ip address separated by a \":\"" if interface.nil? or address.nil?
+-    [address, router].each do |ip|
+-      validate_ip(address, "IP address") unless ip.nil?
+-    end
+-  end
+-
+-  validate do
+-    return unless self[:ip]
+-    # self[:ip] reflects the type passed from proeprty:ip.should. If we
+-    # override it and pass @should, then we get an array here back.
+-    self[:ip].each do |ip|
+-      interface, address, router = ip.split(':')
+-      if self[:iptype] == :shared
+-        validate_shared(interface, address, router)
+-      else
+-        validate_exclusive(interface, address, router)
+-      end
+-    end
+-  end
+-
+   def retrieve
+-    provider.flush
+     hash = provider.properties
+     return setstatus(hash) unless hash.nil? or hash[:ensure] == :absent
+     # Return all properties as absent.
+@@ -382,4 +217,25 @@
+     end
+     prophash
+   end
++
++  # Private Properties
++  # The following properties are used in conjunction with the "puppet resource zone"
++  # output. They are valid properties for configuring a zone.
++
++  newproperty(:id) do
++    desc "The numerical ID of the zone.  This number is autogenerated
++    and cannot be changed."
++  end
++
++  newproperty(:zonepath) do
++    desc "The path to zone's file system."
++  end
++
++  newproperty(:iptype) do
++    desc "Displays exclusive or shared instance of IP."
++  end
++
++  newproperty(:brand) do
++    desc "The zone's brand type"
++  end
+ end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-03-zone-provider.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,362 @@
+Enhance the zone provider to configure zones using a zonecfg export file format.
+Enhance the output of puppet resource zone, and fix zone clone functionality.
+
+--- puppet-3.6.2/lib/puppet/provider/zone/solaris.rb.orig	2014-06-18 09:28:43.538680821 -0600
++++ puppet-3.6.2/lib/puppet/provider/zone/solaris.rb	2014-06-16 10:47:24.834849592 -0600
+@@ -1,5 +1,5 @@
+ Puppet::Type.type(:zone).provide(:solaris) do
+-  desc "Provider for Solaris Zones."
++  desc "Provider for Solaris zones."
+ 
+   commands :adm => "/usr/sbin/zoneadm", :cfg => "/usr/sbin/zonecfg"
+   defaultfor :osfamily => :solaris
+@@ -8,129 +8,84 @@
+ 
+   # Convert the output of a list into a hash
+   def self.line2hash(line)
+-    fields = [:id, :name, :ensure, :path, :uuid, :brand, :iptype]
++    fields = [:id, :name, :ensure, :zonepath, :uuid, :brand, :iptype ]
+     properties = Hash[fields.zip(line.split(':'))]
+ 
+-    del_id = [:brand, :uuid]
++    del_id = [:id, :uuid]
++
+     # Configured but not installed zones do not have IDs
+     del_id << :id if properties[:id] == "-"
+     del_id.each { |p| properties.delete(p) }
+-
+     properties[:ensure] = properties[:ensure].intern
+-    properties[:iptype] = 'exclusive' if properties[:iptype] == 'excl'
+ 
+     properties
+   end
+ 
++
+   def self.instances
+     adm(:list, "-cp").split("\n").collect do |line|
+       new(line2hash(line))
+     end
+   end
+ 
+-  def multi_conf(name, should, &action)
+-    has = properties[name]
+-    has = [] if has == :absent
+-    rms = has - should
+-    adds = should - has
+-    (rms.map{|o| action.call(:rm,o)} + adds.map{|o| action.call(:add,o)}).join("\n")
+-  end
+-
+-  def self.def_prop(var, str)
+-    define_method('%s_conf' % var.to_s) do |v|
+-      str % v
+-    end
+-    define_method('%s=' % var.to_s) do |v|
+-      setconfig self.send( ('%s_conf'% var).intern, v)
+-    end
+-  end
++  
++  # Read in the zone configuration parameters and properties and
++  # perform the zone configuration. Options are cloning the zone,
++  # which needs a zonecfg_export file, configuring an archive, which
++  # takes optional zonecfg_export and archived_zonename parameters,
++  # or performing a zone configuration, which requires a zonecfg_export
++  # file or string.
++  def configure
+ 
+-  def self.def_multiprop(var, &conf)
+-    define_method(var.to_s) do |v|
+-      o = properties[var]
+-      return '' if o.nil? or o == :absent
+-      o.join(' ')
+-    end
+-    define_method('%s=' % var.to_s) do |v|
+-      setconfig self.send( ('%s_conf'% var).intern, v)
+-    end
+-    define_method('%s_conf' % var.to_s) do |v|
+-      multi_conf(var, v, &conf)
++    if @resource[:archive].nil? && @resource[:zonecfg_export].nil?
++      raise Puppet::Error, "No configuration resource is defined."
+     end
+-  end
+ 
+-  def_prop :iptype, "set ip-type=%s"
+-  def_prop :autoboot, "set autoboot=%s"
+-  def_prop :path, "set zonepath=%s"
+-  def_prop :pool, "set pool=%s"
+-  def_prop :shares, "add rctl\nset name=zone.cpu-shares\nadd value (priv=privileged,limit=%s,action=none)\nend"
+-
+-  def_multiprop :ip do |action, str|
+-    interface, ip, defrouter = str.split(':')
+-    case action
+-    when :add
+-      cmd = ["add net"]
+-      cmd << "set physical=#{interface}" if interface
+-      cmd << "set address=#{ip}" if ip
+-      cmd << "set defrouter=#{defrouter}" if defrouter
+-      cmd << "end"
+-      cmd.join("\n")
+-    when :rm
+-      if ip
+-        "remove net address=#{ip}"
+-      elsif interface
+-        "remove net physical=#{interface}"
+-      else
+-        raise ArgumentError, "can not remove network based on default router"
++    command = String.new
++    if @resource[:clone]
++      if !@resource[:zonecfg_export]
++        raise Puppet::Error, "A zone configuration must be defined to
++        clone a zone."
++      end
++      command = "#{command(:cfg)} -z #{@resource[:name]} -f #{@resource[:zonecfg_export]}"
++    else
++      unless @resource[:zonecfg_export].nil? || @resource[:zonecfg_export].empty?
++        begin
++          file = File.open(@resource[:zonecfg_export], "rb")
++          str = file.read.gsub(/[\n]\n*\s*/, "; ")
++        rescue
++          str = @resource[:zonecfg_export].gsub(/[\n]\n*\s*/, "; ")
++        ensure
++          file.close unless file.nil?
++        end
++        @property_hash.clear
+       end
+-    else self.fail action
+-    end
+-  end
+ 
+-  def_multiprop :dataset do |action, str|
+-    case action
+-    when :add; ['add dataset',"set name=#{str}",'end'].join("\n")
+-    when :rm; "remove dataset name=#{str}"
+-    else self.fail action
+-    end
+-  end
++      unless @resource[:archive].nil? || @resource[:archive].empty?
++        if !str.nil?
++          command = "#{command(:cfg)} -z #{@resource[:name]} \'create -a #{@resource[:archive]};#{str}\'"
++        else
++          command = "#{command(:cfg)} -z #{@resource[:name]} create -a #{@resource[:archive]} "
++        end
++        if @resource[:archived_zonename]
++          command << " -z #{@resource[:archived_zonename]}"
++        end
++      end
+ 
+-  def_multiprop :inherit do |action, str|
+-    case action
+-    when :add; ['add inherit-pkg-dir', "set dir=#{str}",'end'].join("\n")
+-    when :rm; "remove inherit-pkg-dir dir=#{str}"
+-    else self.fail action
++      if !@resource[:zonecfg_export].nil? && @resource[:archive].nil?
++        command = "#{command(:cfg)} -z #{@resource[:name]} \'#{str}\'"
++      end
+     end
+-  end
+ 
+-  def my_properties
+-    [:path, :iptype, :autoboot, :pool, :shares, :ip, :dataset, :inherit]
+-  end
+-
+-  # Perform all of our configuration steps.
+-  def configure
+-    self.fail "Path is required" unless @resource[:path]
+-    arr = ["create -b #{@resource[:create_args]}"]
+-
+-    # Then perform all of our configuration steps.  It's annoying
+-    # that we need this much internal info on the resource.
+-    self.resource.properties.each do |property|
+-      next unless my_properties.include? property.name
+-      method = (property.name.to_s + '_conf').intern
+-      arr << self.send(method ,@resource[property.name]) unless property.safe_insync?(properties[property.name])
++    if command
++      r = exec_cmd(:cmd => command)
+     end
+-    setconfig(arr.join("\n"))
+   end
+ 
+   def destroy
+     zonecfg :delete, "-F"
+   end
+ 
+-  def add_cmd(cmd)
+-    @cmds = [] if @cmds.nil?
+-    @cmds << cmd
+-  end
+-
+   def exists?
+     properties[:ensure] != :absent
+   end
+@@ -138,31 +93,31 @@
+   # We cannot use the execpipe in util because the pipe is not opened in
+   # read/write mode.
+   def exec_cmd(var)
+-    # In bash, the exit value of the last command is the exit value of the
+-    # entire pipeline
+-    out = execute("echo \"#{var[:input]}\" | #{var[:cmd]}", :failonfail => false, :combine => true)
+-    st = $?.exitstatus
+-    {:out => out, :exit => st}
+-  end
+-
+-  # Clear out the cached values.
+-  def flush
+-    return if @cmds.nil? || @cmds.empty?
+-    str = (@cmds << "commit" << "exit").join("\n")
+-    @cmds = []
+-    @property_hash.clear
+-
+-    command = "#{command(:cfg)} -z #{@resource[:name]} -f -"
+-    r = exec_cmd(:cmd => command, :input => str)
+-    if r[:exit] != 0 or r[:out] =~ /not allowed/
+-      raise ArgumentError, "Failed to apply configuration"
++    if var[:input]
++    	execute("echo \"#{var[:input]}\" | #{var[:cmd]}", :failonfail => true, :combine => true)
++    else
++        execute("#{var[:cmd]}", :failonfail => true, :combine => true)
+     end
+   end
+ 
++
+   def install(dummy_argument=:work_arround_for_ruby_GC_bug)
++    if ['5.11', '5.12'].include? Facter.value(:kernelrelease)
++       if !@resource[:install_args] and @resource[:config_profile]
++         @resource[:install_args] = " -c " + @resource[:config_profile]
++       elsif !@resource[:install_args] and @resource[:archive]
++         @resource[:install_args] = " -a " + @resource[:archive]
++	     if @resource[:archived_zonename]
++	       @resource[:install_args] << " -z " + @resource[:archived_zonename]
++	     end
++       elsif @resource[:config_profile]
++	     @resource[:install_args] << " -c " + @resource[:config_profile]
++       end
++    end
++       
+     if @resource[:clone] # TODO: add support for "-s snapshot"
+-      zoneadm :clone, @resource[:clone]
+-    elsif @resource[:install_args]
++      zoneadm :clone, @resource[:clone] 
++    elsif @resource[:install_args] 
+       zoneadm :install, @resource[:install_args].split(" ")
+     else
+       zoneadm :install
+@@ -182,11 +137,12 @@
+       end
+     end
+     @property_hash.dup
++    
+   end
+ 
+   # We need a way to test whether a zone is in process.  Our 'ensure'
+   # property models the static states, but we need to handle the temporary ones.
+-  def processing?
++  def processing?  
+     hash = status
+     return false unless hash
+     ["incomplete", "ready", "shutting_down"].include? hash[:ensure]
+@@ -214,7 +170,6 @@
+   #
+   def getconfig
+     output = zonecfg :info
+-
+     name = nil
+     current = nil
+     hash = {}
+@@ -244,14 +199,9 @@
+     hash
+   end
+ 
+-  # Execute a configuration string.  Can't be private because it's called
+-  # by the properties.
+-  def setconfig(str)
+-    add_cmd str
+-  end
+-
+   def start
+     # Check the sysidcfg stuff
++   if ['5.10'].include? Facter.value(:kernelrelease)
+     if cfg = @resource[:sysidcfg]
+       self.fail "Path is required" unless @resource[:path]
+       zoneetc = File.join(@resource[:path], "root", "etc")
+@@ -272,7 +222,9 @@
+         end
+       end
+     end
++   end
+ 
++    # Boots the zone
+     zoneadm :boot
+   end
+ 
+@@ -285,64 +237,35 @@
+     end
+ 
+     main = self.class.line2hash(output.chomp)
+-
+-    # Now add in the configuration information
+-    config_status.each do |name, value|
+-      main[name] = value
+-    end
+-
+     main
+   end
+ 
+   def ready
++    # Prepare the zone
+     zoneadm :ready
+   end
+ 
+   def stop
+-    zoneadm :halt
++     # Shutdown the zone
++     zoneadm :halt
+   end
++  
+ 
+   def unconfigure
++    # Unconfigure and delete the zone
+     zonecfg :delete, "-F"
+   end
+ 
+   def uninstall
++    # Uninstall the zone
+     zoneadm :uninstall, "-F"
+   end
+ 
+   private
+ 
+-  # Turn the results of getconfig into status information.
+-  def config_status
+-    config = getconfig
+-    result = {}
+-
+-    result[:autoboot] = config[:autoboot] ? config[:autoboot].intern : :true
+-    result[:pool] = config[:pool]
+-    result[:shares] = config[:shares]
+-    if dir = config["inherit-pkg-dir"]
+-      result[:inherit] = dir.collect { |dirs| dirs[:dir] }
+-    end
+-    if datasets = config["dataset"]
+-      result[:dataset] = datasets.collect { |dataset| dataset[:name] }
+-    end
+-    result[:iptype] = config[:'ip-type'] if config[:'ip-type']
+-    if net = config["net"]
+-      result[:ip] = net.collect do |params|
+-        if params[:defrouter]
+-          "#{params[:physical]}:#{params[:address]}:#{params[:defrouter]}"
+-        elsif params[:address]
+-          "#{params[:physical]}:#{params[:address]}"
+-        else
+-          params[:physical]
+-        end
+-      end
+-    end
+-
+-    result
+-  end
+-
+   def zoneadm(*cmd)
++    # Execute the zoneadm command with the arguments
++    # provided
+     adm("-z", @resource[:name], *cmd)
+   rescue Puppet::ExecutionFailure => detail
+     self.fail Puppet::Error, "Could not #{cmd[0]} zone: #{detail}", detail
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-04-agent-auditing.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,35 @@
+Add auditing support to agent execution
+
+--- puppet-3.6.2/lib/puppet/agent.rb.orig	2014-06-18 09:30:30.571283131 -0600
++++ puppet-3.6.2/lib/puppet/agent.rb	2014-06-16 10:47:24.851029500 -0600
+@@ -1,4 +1,7 @@
+ require 'puppet/application'
++if Facter.value(:osfamily) == "Solaris"
++  require 'PuppetAudit'
++end
+ 
+ # A general class for triggering a run of another
+ # class.
+@@ -37,6 +40,11 @@
+       return
+     end
+ 
++    if Facter.value(:osfamily) == "Solaris"
++        audit_handle = PuppetAudit.new
++        audit_handle.audit_start
++    end
++
+     result = nil
+     block_run = Puppet::Application.controlled_run do
+       splay client_options.fetch :splay, Puppet[:splay]
+@@ -52,6 +60,10 @@
+           end
+         end
+       end
++      if Facter.value(:osfamily) == "Solaris"
++          audit_handle.audit_stop
++          audit_handle.audit_teardown
++      end
+       true
+     end
+     Puppet.notice "Shutdown/restart in progress (#{Puppet::Application.run_status.inspect}); skipping run" unless block_run
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-05-apply-auditing.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,39 @@
+Add auditing hooks for puppet apply
+
+--- puppet-3.6.2/lib/puppet/application/apply.rb.orig	2014-06-09 15:08:19.000000000 -0600
++++ puppet-3.6.2/lib/puppet/application/apply.rb	2014-06-25 14:57:54.627534169 -0600
+@@ -1,5 +1,8 @@
+ require 'puppet/application'
+ require 'puppet/configurer'
++if Facter.value(:osfamily) == "Solaris"
++  require 'PuppetAudit'
++end
+ 
+ class Puppet::Application::Apply < Puppet::Application
+ 
+@@ -209,6 +212,12 @@
+       end
+ 
+       begin
++        # configure auditing on Solaris
++        if Facter.value(:osfamily) == "Solaris"
++            audit_handle = PuppetAudit.new
++            audit_handle.audit_start
++        end
++
+         # Compile our catalog
+         starttime = Time.now
+         catalog = Puppet::Resource::Catalog.indirection.find(node.name, :use_node => node)
+@@ -237,6 +246,12 @@
+       rescue => detail
+         Puppet.log_exception(detail)
+         exit(1)
++      ensure
++        # clean up auditing records on Solaris
++        if Facter.value(:osfamily) == "Solaris"
++          audit_handle.audit_stop
++          audit_handle.audit_teardown
++        end
+       end
+     end
+   end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-06-provider-smf.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,24 @@
+Add check for existence of smf service
+--- puppet-3.6.2/lib/puppet/provider/service/smf.rb.orig	2013-07-15 09:23:24.667341073 -0600
++++ puppet-3.6.2/lib/puppet/provider/service/smf.rb	2013-07-15 10:13:03.196178924 -0600
+@@ -80,9 +80,18 @@
+       return
+     end
+ 
++    # get the current state and the next state, and if the next
++    # state is set (i.e. not "-") use it for state comparison
++
++    # Check to see if the service exists
++    cmd = Array[command(:svccfg), "select", @resource[:name]]
++    output = Puppet::Util::Execution.execute(
++        cmd, :combine => true, :failonfail => false)
++    if $CHILD_STATUS.exitstatus != 0
++      info output
++    end
++
+     begin
+-      # get the current state and the next state, and if the next
+-      # state is set (i.e. not "-") use it for state comparison
+       states = svcs("-H", "-o", "state,nstate", @resource[:name]).chomp.split
+       state = states[1] == "-" ? states[0] : states[1]
+     rescue Puppet::ExecutionFailure
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-07-PUP-2641.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,21 @@
+In-house patch to fix upstream bug PUP-2641
+https://tickets.puppetlabs.com/browse/PUP-2641
+Patch has been submitted upstream but not yet accepted.
+
+--- puppet-3.6.2/lib/puppet/application/describe.rb.orig	2014-05-29 08:14:12.779421080 -0600
++++ puppet-3.6.2/lib/puppet/application/describe.rb	2014-05-29 08:14:37.064254740 -0600
+@@ -70,13 +70,8 @@
+     }.each do |name|
+       type = @types[name]
+       s = type.doc.gsub(/\s+/, " ")
+-      n = s.index(". ")
+-      if n.nil?
+-        s = ".. no documentation .."
+-      elsif n > 45
++      if s.length > 45
+         s = s[0, 45] + " ..."
+-      else
+-        s = s[0, n]
+       end
+       printf "%-15s - %s\n", name, s
+     end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/patches/puppet-08-PUP-2509.patch	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,15 @@
+In-house patch to fix upstream bug PUP-2509
+https://tickets.puppetlabs.com/browse/PUP-2509
+Patch has been submitted upstream but not yet accepted.
+
+--- puppet-3.6.2/lib/puppet/provider/service/smf.rb.orig	2014-05-29 08:23:38.214504274 -0600
++++ puppet-3.6.2/lib/puppet/provider/service/smf.rb	2014-05-29 08:23:51.968114765 -0600
+@@ -32,7 +32,7 @@
+   end
+ 
+   def self.instances
+-   svcs.split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
++   svcs("-H").split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
+      state,stime,fmri = line.split(/\s+/)
+      status =  case state
+                when /online/; :running
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/puppet-GENFRAG.p5m	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,202 @@
+#
+# 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.
+#
+<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
+set name=org.opensolaris.smf.fmri value=svc:/application/puppet:agent \
+    value=svc:/application/puppet:master
+dir  path=etc/puppet owner=puppet group=puppet mode=0755
+dir  path=var/lib/puppet owner=puppet group=puppet mode=0755
+dir  path=var/log/puppet owner=puppet group=puppet mode=0755
+file path=etc/puppet/auth.conf owner=puppet group=bin mode=0444
+file files/solaris/lib/puppet/provider/address_object/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/address_object/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/address_properties/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/address_properties/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/boot_environment/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/boot_environment/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/dns/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/dns/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/etherstub/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/etherstub/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/interface_properties/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/interface_properties/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/ip_interface/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/ip_interface/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/ip_tunnel/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/ip_tunnel/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/ipmp_interface/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/ipmp_interface/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/ldap/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/ldap/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/link_aggregation/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/link_aggregation/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/link_properties/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/link_properties/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/nis/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/nis/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/nsswitch/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/nsswitch/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/pkg_facet/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/pkg_facet/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/pkg_mediator/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/pkg_mediator/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/pkg_publisher/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/pkg_publisher/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/pkg_variant/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/pkg_variant/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/protocol_properties/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/protocol_properties/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/solaris_vlan/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/solaris_vlan/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/svccfg/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/svccfg/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/vni_interface/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/vni_interface/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/provider/vnic/solaris.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/provider/vnic/solaris.rb \
+    mode=0555
+file files/solaris/lib/puppet/type/address_object.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/address_object.rb mode=0555
+file files/solaris/lib/puppet/type/address_properties.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/address_properties.rb \
+    mode=0555
+file files/solaris/lib/puppet/type/boot_environment.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/boot_environment.rb \
+    mode=0555
+file files/solaris/lib/puppet/type/dns.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/dns.rb mode=0555
+file files/solaris/lib/puppet/type/etherstub.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/etherstub.rb mode=0555
+file files/solaris/lib/puppet/type/interface_properties.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/interface_properties.rb \
+    mode=0555
+file files/solaris/lib/puppet/type/ip_interface.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/ip_interface.rb mode=0555
+file files/solaris/lib/puppet/type/ip_tunnel.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/ip_tunnel.rb mode=0555
+file files/solaris/lib/puppet/type/ipmp_interface.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/ipmp_interface.rb mode=0555
+file files/solaris/lib/puppet/type/ldap.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/ldap.rb mode=0555
+file files/solaris/lib/puppet/type/link_aggregation.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/link_aggregation.rb \
+    mode=0555
+file files/solaris/lib/puppet/type/link_properties.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/link_properties.rb \
+    mode=0555
+file files/solaris/lib/puppet/type/nis.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/nis.rb mode=0555
+file files/solaris/lib/puppet/type/nsswitch.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/nsswitch.rb mode=0555
+file files/solaris/lib/puppet/type/pkg_facet.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/pkg_facet.rb mode=0555
+file files/solaris/lib/puppet/type/pkg_mediator.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/pkg_mediator.rb mode=0555
+file files/solaris/lib/puppet/type/pkg_publisher.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/pkg_publisher.rb mode=0555
+file files/solaris/lib/puppet/type/pkg_variant.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/pkg_variant.rb mode=0555
+file files/solaris/lib/puppet/type/protocol_properties.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/protocol_properties.rb \
+    mode=0555
+file files/solaris/lib/puppet/type/solaris_vlan.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/solaris_vlan.rb mode=0555
+file files/solaris/lib/puppet/type/svccfg.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/svccfg.rb mode=0555
+file files/solaris/lib/puppet/type/vni_interface.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/vni_interface.rb mode=0555
+file files/solaris/lib/puppet/type/vnic.rb \
+    path=etc/puppet/modules/solaris/lib/puppet/type/vnic.rb mode=0555
+file files/auth_attr path=etc/security/auth_attr.d/puppet
+file files/prof_attr path=etc/security/prof_attr.d/puppet
+file files/user_attr path=etc/user_attr.d/puppet
+file files/puppet.xml path=lib/svc/manifest/application/puppet.xml
+file files/puppet.stencil path=lib/svc/stencils/puppet.stencil
+file path=usr/share/man/man5/puppet.conf.5
+file path=usr/share/man/man8/extlookup2hiera.8
+file path=usr/share/man/man8/puppet-agent.8
+file path=usr/share/man/man8/puppet-apply.8
+file path=usr/share/man/man8/puppet-ca.8
+file path=usr/share/man/man8/puppet-catalog.8
+file path=usr/share/man/man8/puppet-cert.8
+file path=usr/share/man/man8/puppet-certificate.8
+file path=usr/share/man/man8/puppet-certificate_request.8
+file path=usr/share/man/man8/puppet-certificate_revocation_list.8
+file path=usr/share/man/man8/puppet-config.8
+file path=usr/share/man/man8/puppet-describe.8
+file path=usr/share/man/man8/puppet-device.8
+file path=usr/share/man/man8/puppet-doc.8
+file path=usr/share/man/man8/puppet-facts.8
+file path=usr/share/man/man8/puppet-file.8
+file path=usr/share/man/man8/puppet-filebucket.8
+file path=usr/share/man/man8/puppet-help.8
+file path=usr/share/man/man8/puppet-inspect.8
+file path=usr/share/man/man8/puppet-instrumentation_data.8
+file path=usr/share/man/man8/puppet-instrumentation_listener.8
+file path=usr/share/man/man8/puppet-instrumentation_probe.8
+file path=usr/share/man/man8/puppet-key.8
+file path=usr/share/man/man8/puppet-kick.8
+file path=usr/share/man/man8/puppet-man.8
+file path=usr/share/man/man8/puppet-master.8
+file path=usr/share/man/man8/puppet-module.8
+file path=usr/share/man/man8/puppet-node.8
+file path=usr/share/man/man8/puppet-parser.8
+file path=usr/share/man/man8/puppet-plugin.8
+file path=usr/share/man/man8/puppet-queue.8
+file path=usr/share/man/man8/puppet-report.8
+file path=usr/share/man/man8/puppet-resource.8
+file path=usr/share/man/man8/puppet-resource_type.8
+file path=usr/share/man/man8/puppet-secret_agent.8
+file path=usr/share/man/man8/puppet-status.8
+file path=usr/share/man/man8/puppet.8
+group groupname=puppet gid=40
+user username=puppet ftpuser=false gcos-field="Puppet Admin" group=puppet \
+    home-dir=/etc/puppet login-shell=/bin/false uid=40
+license puppet.license license="Apache v2.0"
+
+# force dependency on ruby runtime package to ensure at least one version
+# of ruby is installed on the system
+depend type=require fmri=pkg:/runtime/ruby
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/puppet-RUBYVER.p5m	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,1103 @@
+#
+# 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.
+#
+
+# do not look for .pyc files as the install.rb script does not compile
+# .py files as it installs
+<transform file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/.*\.py$ -> default pkg.tmp.autopyc false>
+set name=pkg.fmri \
+    value=pkg:/system/management/puppet-$(RUBYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Puppet - configuration management toolkit"
+set name=pkg.description \
+    value='Puppet is a flexible, customizable framework designed to help system administrators automate the many repetitive tasks they regularly perform. As a declarative, model-based approach to IT automation, it lets you define the desired state - or the "what" - of your infrastructure using the Puppet configuration language. Once these configurations are deployed, Puppet automatically installs the necessary packages and starts the related services, and then regularly enforces the desired state.'
+set name=com.oracle.info.description \
+    value="Puppet, a configuration management toolkit"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:System/Administration and Configuration"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2013/005 value=PSARC/2013/218 \
+    value=PSARC/2013/221 value=PSARC/2013/288 value=PSARC/2013/426
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+
+file ext/PuppetAudit.so \
+    path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/$(MACH64)-solaris$(SOLARIS_VERSION)/PuppetAudit.so
+
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/hiera/backend/puppet_backend.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/hiera/scope.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/hiera_puppet.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/agent.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/agent/disabler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/agent/locker.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/agent.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/apply.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/catalog.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/cert.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/certificate.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/certificate_request.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/certificate_revocation_list.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/config.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/describe.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/device.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/doc.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/face_base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/facts.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/filebucket.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/help.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/indirection_base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/inspect.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/instrumentation_data.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/instrumentation_listener.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/instrumentation_probe.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/key.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/kick.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/man.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/master.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/module.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/node.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/plugin.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/queue.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/report.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/resource.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/resource_type.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/secret_agent.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/application/status.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/bindings.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/coercion.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/configurer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/configurer/downloader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/configurer/fact_handler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/configurer/plugin_handler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/any.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/exists.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/false.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/feature.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/true.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine/variable.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confine_collection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/confiner.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/context.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/context/trusted_information.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/daemon.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/data_binding.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/defaults.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/dsl.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/dsl/resource_api.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/dsl/resource_type_api.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/environments.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/error.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/dot.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios/base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios/grammar.ry
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios/makefile
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/nagios/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/common.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/pure.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/pure/generator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/pure/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/external/pson/version.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/catalog.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/catalog/select.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/certificate.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/certificate_request.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/certificate_revocation_list.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/config.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/facts.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/file/download.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/file/store.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help/action.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help/face.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help/global.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/help/man.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/instrumentation_data.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/instrumentation_listener.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/instrumentation_probe.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/key.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/man.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/build.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/changes.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/generate.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/install.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/list.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/search.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/uninstall.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/module/upgrade.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/node.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/node/clean.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/plugin.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/report.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/resource.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/resource_type.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/secret_agent.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/face/status.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/eventlog.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/external_facts.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/libuser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/msgpack.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/pson.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/rack.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/rails.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/rdoc1.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/rubygems.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/selinux.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/ssh.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/stomp.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/feature/zlib.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_bucket.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_bucket/dipper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_bucket/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_collection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_collection/lookup.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/configuration.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/configuration/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/content.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/fileset.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/metadata.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount/modules.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount/pluginfacts.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/mount/plugins.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/terminus_helper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_serving/terminus_selector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/file18.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/file19.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/file19windows.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/file_impl.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/memory_file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/memory_impl.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/path_pattern.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/file_system/tempfile.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/forge.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/forge/cache.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/forge/errors.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/forge/repository.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/functions.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/functions/assert_type.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/functions/import.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/key.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/prioritizer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/random_prioritizer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/rb_tree_map.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/relationship_graph.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/sequential_prioritizer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/simple_graph.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/graph/title_hash_prioritizer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/active_record.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/active_record.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/compiler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/json.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/msgpack.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/queue.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/static_compiler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/store_configs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/catalog/yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate/ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate/disabled_ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/disabled_ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/memory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_request/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_revocation_list/ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_revocation_list/disabled_ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_revocation_list/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_revocation_list/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_status.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_status/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/certificate_status/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/code.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/couch.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/data_binding/hiera.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/data_binding/none.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/direct_file_server.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/envelope.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/errors.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/exec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/face.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/active_record.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/couch.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/facter.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/inventory_active_record.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/inventory_service.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/memory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/network_device.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/store_configs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/facts/yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_bucket_file/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_bucket_file/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_bucket_file/selector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content/file_server.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_content/selector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata/file_server.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_metadata/selector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/file_server.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/indirection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_data.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_data/local.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_data/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_listener.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_listener/local.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_listener/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_probe.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_probe/local.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/instrumentation_probe/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/json.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/key/ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/key/disabled_ca.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/key/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/key/memory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/ldap.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/memory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/msgpack.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/active_record.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/exec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/ldap.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/memory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/msgpack.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/plain.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/store_configs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/write_only_yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/node/yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/none.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/plain.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/queue.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/report/msgpack.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/report/processor.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/report/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/report/yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/request.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/active_record.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/ral.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/store_configs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource/validator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource_type.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource_type/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/resource_type/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/run/local.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/run/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/ssl_file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/status.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/status/local.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/status/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/store_configs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/terminus.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/indirector/yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/action.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/action_builder.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/action_manager.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/documentation.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/face_collection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/option.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/option_builder.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/interface/option_manager.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/loaders.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/metatype/manager.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/application.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/builder.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/checksummer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/installer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/searcher.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/uninstaller.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/unpacker.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/applications/upgrader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/checksums.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/contents_description.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/dependency.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/installer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/shared.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/uninstaller.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/errors/upgrader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/install_directory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/installed_modules.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/local_tarball.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/metadata.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/modulefile.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/shared_behaviors.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/README.md.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/Rakefile
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/metadata.json.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/tar.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/tar/gnu.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/module_tool/tar/mini.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/auth_config_parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/authconfig.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/authentication.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/authorization.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/authstore.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/client_request.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/format.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/format_handler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/format_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/formats.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/api.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/api/v1.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/api/v2.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/api/v2/authorization.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/api/v2/environments.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/compression.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/connection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/error.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/handler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/issues.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/memory_response.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/rack.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/rack/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/request.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/response.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/route.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/webrick.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http/webrick/rest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/http_pool.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/resolver.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/rest_controller.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/rights.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/network/server.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/node.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/node/environment.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/node/facts.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/boolean.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/package_options.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/path.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/value.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parameter/value_collection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/arithmetic_operator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/astarray.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/asthash.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/block_expression.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/boolean_operator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/branch.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/caseopt.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/casestatement.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/collection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/collexpr.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/comparison_operator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/definition.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/else.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/function.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/hostclass.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/ifstatement.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/in_operator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/lambda.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/leaf.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/match_operator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/method_call.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/minus.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/node.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/nop.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/not.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/pops_bridge.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/relationship.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource_defaults.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource_instance.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource_override.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resource_reference.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/resourceparam.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/selector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/top_level_construct.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/ast/vardef.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/code_merger.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/collector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/compiler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/e4_parser_adapter.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/e_parser_adapter.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/files.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/collect.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/contain.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/create_resources.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/defined.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/each.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/epp.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/extlookup.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/fail.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/filter.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/fqdn_rand.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/generate.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/hiera.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/hiera_array.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/hiera_hash.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/hiera_include.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/include.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/inline_epp.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/inline_template.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/lookup.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/map.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/md5.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/realize.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/reduce.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/regsubst.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/require.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/search.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/select.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/sha1.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/shellquote.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/slice.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/split.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/sprintf.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/tag.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/tagged.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/template.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/functions/versioncmp.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/grammar.ra
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/lexer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/makefile
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/methods.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/parser_factory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/parser_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/relationship.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/resource.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/resource/param.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/scope.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/templatewrapper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/type_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/parser/yaml_trimmer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/adaptable.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/adapters.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/binder.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/binder_issues.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_checker.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_composer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_factory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_label_provider.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_model.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_model_dumper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/bindings_validator_factory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/config/binder_config.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/config/binder_config_checker.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/config/diagnostic_producer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/config/issues.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/injector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/injector_entry.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/key_factory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/lookup.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/producers.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/scheme_handler/confdir_scheme.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/scheme_handler/module_scheme.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/scheme_handler/symbolic_scheme.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/binder/system_bindings.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/containment.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/access_operator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/callable_signature.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/closure.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/compare_operator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/epp_evaluator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/evaluator_impl.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/external_syntax_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/relationship_operator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/evaluator/runtime3_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/functions/dispatch.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/functions/dispatcher.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/functions/function.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/issue_reporter.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/issues.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/label_provider.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/base_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/dependency_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/gem_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/loader_paths.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/module_loaders.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/null_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/ruby_function_instantiator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/ruby_legacy_function_instantiator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/simple_environment_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/static_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loader/uri_helper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/loaders.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/ast_transformer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/ast_tree_dumper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/factory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/model.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/model_label_provider.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/model_tree_dumper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/model/tree_dumper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/code_merger.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/egrammar.ra
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/eparser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/epp_parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/epp_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/evaluating_parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/heredoc_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/interpolation_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/lexer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/lexer2.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/lexer_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/locatable.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/locator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/makefile
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/parser_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/parser/slurp_support.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/patterns.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/semantic_error.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/class_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/enumeration.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/type_calculator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/type_factory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/type_parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/types/types.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/utils.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/validation.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/validation/checker3_1.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/validation/checker4_0.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/validation/validator_factory_3_1.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/validation/validator_factory_4_0.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/visitable.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/pops/visitor.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/boolean.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/ensure.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/keyvalue.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/list.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/property/ordered_list.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/aixobject.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/augeas/augeas.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/cisco.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/command.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/computer/computer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/confine.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/cron/crontab.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/exec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/exec/posix.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/exec/shell.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/exec/windows.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/file/posix.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/file/windows.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/aix.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/directoryservice.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/groupadd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/ldap.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/pw.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/group/windows_adsi.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/host/parsed.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/interface/cisco.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/ldap.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/macauthorization/macauthorization.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/mailalias/aliases.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/maillist/mailman.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/mcx/mcxcontent.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/mount.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/mount/parsed.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/naginator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/nameservice.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/nameservice/directoryservice.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/nameservice/objectadd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/nameservice/pw.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/network_device.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/aix.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/appdmg.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/apple.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/apt.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/aptitude.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/aptrpm.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/blastwave.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/dpkg.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/fink.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/freebsd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/gem.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/hpux.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/macports.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/msi.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/nim.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/openbsd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/opkg.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pacman.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pip.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pkg.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pkgdmg.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pkgin.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/pkgutil.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/portage.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/ports.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/portupgrade.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/rpm.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/rug.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/sun.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/sunfreeware.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/up2date.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/urpmi.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/windows.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/windows/exe_package.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/windows/msi_package.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/windows/package.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/yum.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/yumhelper.py
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/package/zypper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/parsedfile.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/scheduled_task/win32_taskscheduler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/selboolean/getsetsebool.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/selmodule/semodule.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/bsd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/daemontools.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/debian.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/freebsd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/gentoo.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/init.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/launchd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/openbsd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/openrc.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/openwrt.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/redhat.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/runit.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/service.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/smf.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/src.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/systemd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/upstart.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/service/windows.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/ssh_authorized_key/parsed.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/sshkey/parsed.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/aix.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/directoryservice.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/hpux.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/ldap.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/pw.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/user_role_add.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/useradd.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/user/windows_adsi.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/vlan/cisco.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/yumrepo/inifile.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/zfs/zfs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/zone/solaris.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/provider/zpool/zpool.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/benchmark.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/001_add_created_at_to_all_tables.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/003_add_environment_to_host.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/004_add_inventory_service_tables.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/database/schema.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/fact_name.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/fact_value.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/host.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/inventory_fact.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/inventory_node.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/param_name.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/param_value.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/puppet_tag.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/resource.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/resource_tag.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/rails/source_file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/configuration.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/function.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/indirection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/metaparameter.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/providers.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/report.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reference/type.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/relationship.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/http.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/log.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/rrdgraph.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/store.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/reports/tagmail.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/catalog.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/status.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/type.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/type_collection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/resource/type_collection_helper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/run.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler/job.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler/scheduler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler/splay_job.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/scheduler/timer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/array_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/autosign_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/base_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/boolean_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/config_file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/directory_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/duration_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/enum_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/environment_conf.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/errors.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/file_or_directory_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/file_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/ini_file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/path_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/priority_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/string_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/terminus_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/ttl_setting.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/settings/value_translator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_authority.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_authority/autosign_command.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_authority/interface.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_factory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_request.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_request_attributes.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_revocation_list.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/certificate_signer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/configuration.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/digest.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/host.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/inventory.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/key.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/oids.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/validator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/validator/default_validator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/ssl/validator/no_validator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/status.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/test/test_helper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/additional_resource_generator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/event.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/event_manager.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/report.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/transaction/resource_harness.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/augeas.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/component.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/computer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/cron.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/exec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/checksum.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/content.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/ctime.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/ensure.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/group.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/mode.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/mtime.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/owner.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/selcontext.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/source.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/target.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/file/type.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/filebucket.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/group.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/host.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/interface.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/k5login.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/macauthorization.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/mailalias.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/maillist.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/mcx.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/mount.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_command.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_contact.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_contactgroup.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_host.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_hostdependency.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_hostescalation.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_hostextinfo.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_hostgroup.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_service.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_servicedependency.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_serviceescalation.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_serviceextinfo.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_servicegroup.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/nagios_timeperiod.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/notify.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/package.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/resources.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/router.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/schedule.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/scheduled_task.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/selboolean.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/selmodule.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/service.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/ssh_authorized_key.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/sshkey.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/stage.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/tidy.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/user.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/vlan.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/whit.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/yumrepo.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/zfs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/zone.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/type/zpool.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/adsi.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/autoload.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/backups.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/cacher.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/checksums.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/classgen.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/colors.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/command_line.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/command_line/puppet_option_parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/command_line/trollop.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/constant_inflector.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/diff.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/docs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/errors.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/execution.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/execution_stub.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/feature.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/file_watcher.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/fileparsing.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/filetype.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/http_proxy.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/inifile.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/inline_docs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instance_loader.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/data.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/indirection_probe.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/instrumentable.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/listener.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/listeners/log.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/instrumentation/listeners/performance.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/json_lockfile.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ldap.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ldap/connection.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ldap/generator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ldap/manager.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/libuser.conf
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/libuser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/limits.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/lockfile.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/log.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/log/destination.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/log/destinations.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/log/rate_limited_logger.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/logging.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/metaid.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/methodhelper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/metric.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/monkey_patches.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/monkey_patches/lines.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/nagios_maker.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/cisco.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/cisco/device.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/cisco/facts.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/cisco/interface.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/config.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/ipcalc.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/transport.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/transport/base.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/transport/ssh.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/network_device/transport/telnet.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/package.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/pidlock.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/platform.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/plugins.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/posix.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler/logging.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler/none.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler/object_counts.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/profiler/wall_clock.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/provider_features.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/pson.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/queue.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/queue/stomp.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rails/cache_accumulator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rails/collection_merger.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rails/reference_serializer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/code_objects.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/generators/puppet_generator.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/generators/template/puppet/puppet.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/parser.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/parser/puppet_parser_core.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/parser/puppet_parser_rdoc1.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/reference.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/resource_template.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/retryaction.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/rubygems.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/run_mode.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/selinux.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/ssl.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/storage.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/suidmanager.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/symbolic_file_mode.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/tag_set.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/tagging.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/terminal.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/user_attr.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/warnings.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watched_file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watcher.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watcher/change_watcher.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watcher/periodic_watcher.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/watcher/timer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/access_control_entry.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/access_control_list.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/error.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/file.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/process.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/registry.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/root_certs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/security.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/security_descriptor.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/sid.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/string.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/windows/user.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/util/zaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/load_safe_yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/load_semantic.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/require_vendored.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/CHANGES.md
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/Gemfile
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/LICENSE.txt
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/README.md
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/Rakefile
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/safe_yaml.gemspec
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/exploit.$(RUBY_VERSION).2.yaml
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/exploit.$(RUBY_VERSION).3.yaml
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/resolver_specs.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/spec_helper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/safe_yaml_patches.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/Gemfile
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/Rakefile
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic/dependency.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic/dependency/graph.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic/dependency/graph_node.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic/dependency/module_release.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic/dependency/source.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic/dependency/unsatisfiable_graph.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic/version.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/lib/semantic/version_range.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/spec_helper.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_node_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/unit/semantic/dependency/module_release_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/unit/semantic/dependency/source_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/unit/semantic/dependency/unsatisfiable_graph_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/unit/semantic/dependency_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/unit/semantic/version_range_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/vendor/semantic/spec/unit/semantic/version_spec.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppet/version.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx/puppet/bindings_scheme_handler.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx/puppet/syntax_checker.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/puppetx/puppetlabs/syntax_checkers/json.rb
+file path=usr/ruby/$(RUBY_VERSION)/lib/ruby/vendor_ruby/$(RUBY_LIB_VERSION)/semver.rb
+file path=usr/sbin/extlookup2hiera mediator=ruby mediator-version=$(RUBY_VERSION)
+file path=usr/sbin/puppet mediator=ruby mediator-version=$(RUBY_VERSION)
+
+license puppet.license license="Apache v2.0"
+
+# Puppet Dependencies
+depend type=require fmri=pkg:/system/management/facter-$(RUBYV)
+depend type=require fmri=pkg:/library/ruby/hiera-$(RUBYV)
+
+# force a dependency on the puppet package
+depend type=require \
+    fmri=pkg:/system/management/puppet@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/puppet.license	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,208 @@
+Puppet - Automating Configuration Management.
+
+Copyright (C) 2005-2014 Puppet Labs Inc
+
+Puppet Labs can be contacted at: [email protected]
+
+		                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet/resolve.deps	Fri Nov 07 12:43:50 2014 -0800
@@ -0,0 +1,8 @@
+runtime/ruby-19
+shell/ksh93
+system/core-os
+system/library
+system/library/gcc/gcc-c-runtime
+system/library/math
+system/linker
+system/network