diff options
author | Scott Bonds <scott@ggr.com> | 2014-10-27 12:59:49 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2014-11-13 13:09:16 -0800 |
commit | 88e67c9a11897a3ee687944810203f1ce198a3f2 (patch) | |
tree | a0eba40fd366145b4b89f6e839fb2e960a2a202f | |
parent | 6bc96348553458e7c6e2b9aea28c2a368d43d0d3 (diff) | |
download | chef-88e67c9a11897a3ee687944810203f1ce198a3f2.tar.gz |
fix candidate_version return value
-rw-r--r-- | lib/chef/provider/package/openbsd.rb | 11 |
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 |