summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Bonds <scott@ggr.com>2014-10-27 12:59:49 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2014-11-13 13:09:16 -0800
commit88e67c9a11897a3ee687944810203f1ce198a3f2 (patch)
treea0eba40fd366145b4b89f6e839fb2e960a2a202f
parent6bc96348553458e7c6e2b9aea28c2a368d43d0d3 (diff)
downloadchef-88e67c9a11897a3ee687944810203f1ce198a3f2.tar.gz
fix candidate_version return value
-rw-r--r--lib/chef/provider/package/openbsd.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/chef/provider/package/openbsd.rb b/lib/chef/provider/package/openbsd.rb
index da711b364f..dd97312189 100644
--- a/lib/chef/provider/package/openbsd.rb
+++ b/lib/chef/provider/package/openbsd.rb
@@ -44,7 +44,6 @@ class Chef
def load_current_resource
@current_resource.package_name(@new_resource.package_name)
@current_resource.version(installed_version)
- @candidate_version = candidate_version
@current_resource
end
@@ -72,13 +71,17 @@ class Chef
def installed_version
pkg_info = shell_out!("pkg_info -e \"#{@new_resource.package_name}->0\"", :env => nil, :returns => [0,1])
result = pkg_info.stdout[/^inst:#{Regexp.escape(@new_resource.package_name)}-(.+)/, 1]
+ Chef::Log.debug("installed_version of '#{@new_resource.package_name}' is '#{result}'")
result
end
def candidate_version
- pkg_info = shell_out!("pkg_info -I \"#{@new_resource.package_name}\"", :env => nil, :returns => [0,1])
- result = pkg_info.stdout[/^#{Regexp.escape(@new_resource.package_name)}-(.+)/, 1]
- Chef::Log.debug("candidate_version of '#{@new_resource.package_name}' is '#{result}'")
+ @candidate_version ||= begin
+ pkg_info = shell_out!("pkg_info -I \"#{@new_resource.package_name}\"", :env => nil, :returns => [0,1])
+ result = pkg_info.stdout[/^#{Regexp.escape(@new_resource.package_name)}-(.+?)\s/, 1]
+ Chef::Log.debug("candidate_version of '#{@new_resource.package_name}' is '#{result}'")
+ result
+ end
end
def mirror