summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/provider')
-rwxr-xr-xlib/puppet/provider/package/rpm.rb13
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$