diff options
Diffstat (limited to 'lib/puppet/provider')
| -rwxr-xr-x | lib/puppet/provider/package/rpm.rb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb index 7a2dfe53f..1d9fa4d66 100755 --- a/lib/puppet/provider/package/rpm.rb +++ b/lib/puppet/provider/package/rpm.rb @@ -4,7 +4,7 @@ Puppet::Type.type(:package).provide :rpm do binary." # The query format by which we identify installed packages - IDSTRING = "%{NAME}-%{VERSION}-%{RELEASE}" + NVRFORMAT = "%{NAME}-%{VERSION}-%{RELEASE}" VERSIONSTRING = "%{VERSION}-%{RELEASE}" @@ -47,7 +47,7 @@ Puppet::Type.type(:package).provide :rpm do # a hash with entries :instance => fully versioned package name, and # :ensure => version-release def query - cmd = ["-q", @model[:name], "--qf", "#{IDSTRING} #{VERSIONSTRING}\n"] + cmd = ["-q", @model[:name], "--qf", "#{NVRFORMAT} #{VERSIONSTRING}\n"] begin output = rpm *cmd @@ -68,6 +68,8 @@ Puppet::Type.type(:package).provide :rpm do output end + @nvr = hash[:instance] + return hash end @@ -103,7 +105,7 @@ Puppet::Type.type(:package).provide :rpm do end def uninstall - rpm "-e", @model[:instance] + rpm "-e", nvr end def update @@ -113,6 +115,11 @@ Puppet::Type.type(:package).provide :rpm do def versionable? true end + + def nvr + query unless @nvr + @nvr + end end # $Id$ |
