summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xlib/puppet/provider/package/pkgutil.rb20
-rwxr-xr-xspec/unit/provider/package/pkgutil_spec.rb3
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