summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Roberts <Markus@reality.com>2009-12-21 23:55:39 -0800
committerJames Turnbull <james@lovedthanlost.net>2009-12-23 09:34:14 +1100
commit0e5d2647bd5f515dbaacf45f9e7dda5c27eb465a (patch)
tree8bd5ad819541e51e885d583b16be6e24126a1ed2
parentd60ea0e52debf03fddb2336704df10589108fe3a (diff)
downloadpuppet-0e5d2647bd5f515dbaacf45f9e7dda5c27eb465a.tar.gz
puppet-0e5d2647bd5f515dbaacf45f9e7dda5c27eb465a.tar.xz
puppet-0e5d2647bd5f515dbaacf45f9e7dda5c27eb465a.zip
Fix for #2940 (propogating nil rather than reporting the error)
-rwxr-xr-xlib/puppet/provider/package/sun.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb
index f72738e2f..cd511b1af 100755
--- a/lib/puppet/provider/package/sun.rb
+++ b/lib/puppet/provider/package/sun.rb
@@ -94,7 +94,7 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d
execpipe(cmd) { |process|
# we're using the long listing, so each line is a separate
# piece of information
- process.each { |line|
+ process.readlines.each { |line|
case line
when /^$/ # ignore
when /\s*([A-Z]+):\s+(.+)/
@@ -111,8 +111,9 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d
}
}
return hash
- rescue Puppet::ExecutionFailure
- return nil
+ rescue Puppet::ExecutionFailure => detail
+ puts detail.backtrace if Puppet[:trace]
+ raise Puppet::Error, "Unable to get information about package #{@resource[:name]} because of: #{detail}"
end
end