From f8f7c57b9e10477fc14f6bc655ad194598c91980 Mon Sep 17 00:00:00 2001 From: lutter Date: Fri, 5 Jan 2007 00:09:36 +0000 Subject: Don't rely on the type to store the actual NVR of the package; breaks in the provider tests since they call the provider slightly differntly git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2048 980ebf18-57e1-0310-9a29-db15c13687c0 --- lib/puppet/provider/package/rpm.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'lib/puppet/provider') 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$ -- cgit