summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-05-14 17:27:56 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-05-14 17:27:56 +0000
commit61784ed61e90cf4cdbae54d7b90799edb120a893 (patch)
treeb77c4d78ab8c7c5134fdd732ed9aad7f9d52762f /lib/puppet
parent85fef63889ca60329493583988affe67b59d143d (diff)
downloadpuppet-61784ed61e90cf4cdbae54d7b90799edb120a893.tar.gz
puppet-61784ed61e90cf4cdbae54d7b90799edb120a893.tar.xz
puppet-61784ed61e90cf4cdbae54d7b90799edb120a893.zip
Attempting to fix the fact that the yum package provider calls [] on the ensure property, and making the resulting error more readable
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2513 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/metatype/attributes.rb2
-rwxr-xr-xlib/puppet/provider/package/yum.rb2
-rw-r--r--lib/puppet/type/package.rb4
3 files changed, 6 insertions, 2 deletions
diff --git a/lib/puppet/metatype/attributes.rb b/lib/puppet/metatype/attributes.rb
index 9a32c05ff..3e58963ea 100644
--- a/lib/puppet/metatype/attributes.rb
+++ b/lib/puppet/metatype/attributes.rb
@@ -483,6 +483,8 @@ class Puppet::Type
end
if obj = @parameters[name]
+ # We throw a failure here, because this method is too
+ # ambiguous when used with properties.
if obj.is_a?(Puppet::Type::Property)
fail "[] called on a property"
else
diff --git a/lib/puppet/provider/package/yum.rb b/lib/puppet/provider/package/yum.rb
index 75acb4cae..42dacbcb0 100755
--- a/lib/puppet/provider/package/yum.rb
+++ b/lib/puppet/provider/package/yum.rb
@@ -47,7 +47,7 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm do
end
def versionable?
- true
+ true
end
end
diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb
index 68b1315ec..5405b2364 100644
--- a/lib/puppet/type/package.rb
+++ b/lib/puppet/type/package.rb
@@ -152,7 +152,9 @@ module Puppet
@latest = provider.latest
@lateststamp = Time.now.to_i
rescue => detail
- self.fail "Could not get latest version: %s" % detail
+ error = Puppet::Error.new("Could not get latest version: %s" % detail.to_s)
+ error.set_backtrace(detail.backtrace)
+ raise error
end
end