# HG changeset patch # User Kristina Tripp # Date 1415393030 28800 # Node ID 5c5af6e58474b10cea2f1664bc2994bb23f9584f # Parent 6358358b41867b3d5504c717a583c7b5afe2a9e0 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 ~ files from patch process are included in puppet-19 package diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/Makefile --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/ext/extconf.rb --- 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") diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/ext/puppet_audit.c --- 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 -#include -#include -#include -#include - -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); -} diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/auth_attr --- 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:: diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/prof_attr --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/puppet.stencil --- 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} } -} -} diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/puppet.xml --- 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/address_object/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/address_properties/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/boot_environment/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/dns/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/etherstub/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/interface_properties/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/ip_tunnel/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/ipmp_interface/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/ldap/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb --- 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 - diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/link_properties/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/nis/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/nsswitch/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/pkg_facet/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/pkg_mediator/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/pkg_publisher/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/pkg_variant/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/protocol_properties/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/solaris_vlan/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/svccfg/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/vni_interface/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/provider/vnic/solaris.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/address_object.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/address_properties.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/boot_environment.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/dns.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/etherstub.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/interface_properties.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/ip_interface.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/ipmp_interface.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/ldap.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/link_aggregation.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/link_properties.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/nis.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/nsswitch.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/pkg_facet.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/pkg_mediator.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/pkg_publisher.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/pkg_variant.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/protocol_properties.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/solaris_vlan.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/svccfg.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/vni_interface.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/solaris/lib/puppet/type/vnic.rb --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/files/user_attr --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-00-s12pkg.patch --- 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))} diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-01-installrb-nogzip-manpage.patch --- 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 - diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-02-zone-type.patch --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-03-zone-provider.patch --- 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}" diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-04-agent-auditing.patch --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-05-apply-auditing.patch --- 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 - diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-06-provider-smf.patch --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-07-PUP-2641.patch --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/patches/puppet-08-PUP-2509.patch --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/puppet.license --- 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: info@puppetlabs.com - - 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. diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/puppet.p5m --- 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. -# - - default mangler.man.stability uncommitted> - -# do not look for .pyc files as the install.rb script does not compile -# .py files as it installs - 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/facter@1.6.18,5.11-0.175.2.0.0.36.0 diff -r 6358358b4186 -r 5c5af6e58474 components/puppet/resolve.deps --- 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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/Makefile --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/ext/extconf.rb --- /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") diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/ext/puppet_audit.c --- /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 +#include +#include +#include +#include + +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); +} diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/UPDATE_README.txt --- /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 /components/puppet/files +$ python update_smf.py -c /puppet.conf -s puppet.xml + -v -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 + + diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/auth_attr --- /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:: diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/prof_attr --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/puppet.stencil --- /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} } +} +} diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/puppet.xml --- /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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/address_object/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/address_properties/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/boot_environment/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/dns/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/etherstub/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/interface_properties/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/ip_tunnel/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/ipmp_interface/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/ldap/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb --- /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 + diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/link_properties/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/nis/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/nsswitch/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_facet/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_mediator/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_publisher/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/pkg_variant/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/protocol_properties/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/solaris_vlan/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/svccfg/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/vni_interface/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/provider/vnic/solaris.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/address_object.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/address_properties.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/boot_environment.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/dns.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/etherstub.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/interface_properties.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/ip_interface.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/ipmp_interface.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/ldap.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/link_aggregation.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/link_properties.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/nis.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/nsswitch.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/pkg_facet.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/pkg_mediator.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/pkg_publisher.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/pkg_variant.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/protocol_properties.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/solaris_vlan.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/svccfg.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/vni_interface.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/solaris/lib/puppet/type/vnic.rb --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/update_smf.py --- /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 + + + + ${desc_text} + + + ''' + 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 = 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 -s " \ + "-v [-o ]\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="", + 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="", + help="Current solaris Puppet SMF XML configuration" + " file. This file is located in " + "/components/puppet/files/puppet.xml") + opt_list.add_option("-o", "--output", dest="output", default=None, + action="store", type="string", nargs=1, + metavar="", + 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="", + 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() diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/files/user_attr --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-00-s12pkg.patch --- /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))} diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-01-installrb-nogzip-manpage.patch --- /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 + diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-02-zone-type.patch --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-03-zone-provider.patch --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-04-agent-auditing.patch --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-05-apply-auditing.patch --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-06-provider-smf.patch --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-07-PUP-2641.patch --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/patches/puppet-08-PUP-2509.patch --- /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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/puppet-GENFRAG.p5m --- /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. +# + 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 diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/puppet-RUBYVER.p5m --- /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 + 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) diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/puppet.license --- /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: info@puppetlabs.com + + 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. + diff -r 6358358b4186 -r 5c5af6e58474 components/ruby/puppet/resolve.deps --- /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