summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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