summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlutter <lutter@980ebf18-57e1-0310-9a29-db15c13687c0>2007-01-03 19:51:21 +0000
committerlutter <lutter@980ebf18-57e1-0310-9a29-db15c13687c0>2007-01-03 19:51:21 +0000
commit3b6bf05d93b82e433800a0a85ed4f09d13b17e62 (patch)
treeba77941bf80cb93e5a2feaabff3edc1889597393
parent587deea19a6d966217f2e70f3dd2f87a0b6b28ca (diff)
downloadpuppet-3b6bf05d93b82e433800a0a85ed4f09d13b17e62.tar.gz
puppet-3b6bf05d93b82e433800a0a85ed4f09d13b17e62.tar.xz
puppet-3b6bf05d93b82e433800a0a85ed4f09d13b17e62.zip
Fix yum update breakage - query should not change the name the user gave us; instead, the fully versioned pacakge name is now stored in the instance parameter
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2029 980ebf18-57e1-0310-9a29-db15c13687c0
-rwxr-xr-xlib/puppet/provider/package/rpm.rb18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb
index 7700bf0d6..7a2dfe53f 100755
--- a/lib/puppet/provider/package/rpm.rb
+++ b/lib/puppet/provider/package/rpm.rb
@@ -43,13 +43,10 @@ Puppet::Type.type(:package).provide :rpm do
return packages
end
+ # Find the fully versioned package name and the version alone. Returns
+ # a hash with entries :instance => fully versioned package name, and
+ # :ensure => version-release
def query
- fields = {
- :name => "NAME",
- :version => "VERSION",
- :description => "DESCRIPTION"
- }
-
cmd = ["-q", @model[:name], "--qf", "#{IDSTRING} #{VERSIONSTRING}\n"]
begin
@@ -59,8 +56,7 @@ Puppet::Type.type(:package).provide :rpm do
end
regex = %r{^(\S+)\s+(\S+)}
- #fields = [:name, :ensure, :description]
- fields = [:name, :ensure]
+ fields = [:instance, :ensure]
hash = {}
if match = regex.match(output)
fields.zip(match.captures) { |field,value|
@@ -107,12 +103,16 @@ Puppet::Type.type(:package).provide :rpm do
end
def uninstall
- rpm "-e", @model[:name]
+ rpm "-e", @model[:instance]
end
def update
self.install
end
+
+ def versionable?
+ true
+ end
end
# $Id$