summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-06-17 00:06:46 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-06-17 00:06:46 +0000
commite8c6cd96f58aca188e5944256596987e82d147ea (patch)
tree44da001e53d7375ebcce810477c40674c56c7266 /lib
parent4f7c650cf7a0ff89abebbb79a227a2515af02c31 (diff)
downloadpuppet-e8c6cd96f58aca188e5944256596987e82d147ea.tar.gz
puppet-e8c6cd96f58aca188e5944256596987e82d147ea.tar.xz
puppet-e8c6cd96f58aca188e5944256596987e82d147ea.zip
Fixing the yum provider, and fixing the unit tests so the failures people were experiencing will result in failed tests. This fixes #672.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2595 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
-rwxr-xr-xlib/puppet/provider/package/rpm.rb10
-rwxr-xr-xlib/puppet/provider/package/yum.rb4
2 files changed, 6 insertions, 8 deletions
diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb
index de81bb12e..542ac89fc 100755
--- a/lib/puppet/provider/package/rpm.rb
+++ b/lib/puppet/provider/package/rpm.rb
@@ -58,10 +58,10 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
regex = %r{^(\S+)\s+(\S+)}
fields = [:instance, :ensure]
- hash = {}
+ attrs = {}
if match = regex.match(output)
fields.zip(match.captures) { |field,value|
- hash[field] = value
+ attrs[field] = value
}
else
raise Puppet::DevError,
@@ -69,11 +69,9 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
output
end
- @nvr = hash[:instance]
+ @nvr = attrs[:instance]
- @property_hash = hash
-
- return hash
+ return attrs
end
# Here we just retrieve the version from the file specified in the source.
diff --git a/lib/puppet/provider/package/yum.rb b/lib/puppet/provider/package/yum.rb
index b9212ef37..f6c5ec401 100755
--- a/lib/puppet/provider/package/yum.rb
+++ b/lib/puppet/provider/package/yum.rb
@@ -40,10 +40,10 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm, :source => :rpm do
else
# Yum didn't find updates, pretend the current
# version is the latest
- unless defined?(@current_values) and @current_values[:ensure]
+ unless properties[:ensure] != :absent
raise Puppet::DevError, "Tried to get latest on a missing package"
end
- return @current_values[:ensure]
+ return @property_hash[:ensure]
end
end