diff options
-rwxr-xr-x | lib/puppet/provider/package/pkgutil.rb | 20 | ||||
-rwxr-xr-x | spec/unit/provider/package/pkgutil_spec.rb | 3 |
2 files changed, 14 insertions, 9 deletions
diff --git a/lib/puppet/provider/package/pkgutil.rb b/lib/puppet/provider/package/pkgutil.rb index 08d74df29..760ce01db 100755 --- a/lib/puppet/provider/package/pkgutil.rb +++ b/lib/puppet/provider/package/pkgutil.rb @@ -6,19 +6,12 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d pkguti = "/opt/csw/bin/pkgutil" end - pkgutilconf = File.open("/etc/opt/csw/pkgutil.conf") - correct_wgetopts = false - pkgutilconf.each {|line| correct_wgetopts = true if line =~ /^\s*wgetopts\s*=.*-nv/ } - if ! correct_wgetopts - Puppet.notice "It is highly recommended that you set 'wgetopts=-nv' in your pkgutil.conf." - end - confine :operatingsystem => :solaris commands :pkguti => pkguti - def self.extended(mod) - unless command(:pkguti) != "pkgutil" + def self.healthcheck() + if pkguti == "pkgutil" raise Puppet::Error, "The pkgutil command is missing; pkgutil packaging unavailable" end @@ -27,9 +20,18 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d Puppet.notice "It is highly recommended you create '/var/opt/csw/pkgutil/admin'." Puppet.notice "See /var/opt/csw/pkgutil" end + + pkgutilconf = File.open("/etc/opt/csw/pkgutil.conf") + correct_wgetopts = false + pkgutilconf.each {|line| correct_wgetopts = true if line =~ /^\s*wgetopts\s*=.*-nv/ } + if ! correct_wgetopts + Puppet.notice "It is highly recommended that you set 'wgetopts=-nv' in your pkgutil.conf." + end end def self.instances(hash = {}) + healthcheck + # Use the available pkg list (-a) to work out aliases aliases = {} availlist.each do |pkg| diff --git a/spec/unit/provider/package/pkgutil_spec.rb b/spec/unit/provider/package/pkgutil_spec.rb index 4f0e0ccd7..f1d21f450 100755 --- a/spec/unit/provider/package/pkgutil_spec.rb +++ b/spec/unit/provider/package/pkgutil_spec.rb @@ -9,6 +9,9 @@ describe provider do @resource = stub 'resource' @resource = Puppet::Type.type(:package).new(:name => "TESTpkg", :ensure => :present) @provider = provider.new(@resource) + + # Stub all file and config tests + provider.stubs(:healthcheck) end it "should have an install method" do |