diff options
author | Vasiliy Tolstov <v.tolstov@selfip.ru> | 2014-06-14 00:56:34 +0400 |
---|---|---|
committer | Vasiliy Tolstov <v.tolstov@selfip.ru> | 2014-06-14 00:56:34 +0400 |
commit | 5f0a6bd217329b33b47e3e75e55d9466c50cd7d9 (patch) | |
tree | 29d1bc110b7adf9c4a08b0881134b968e2d239e7 /lib | |
parent | 9b42afd47701bb8a4c59f1a10ea648cd0640da3f (diff) | |
download | chef-5f0a6bd217329b33b47e3e75e55d9466c50cd7d9.tar.gz |
fix parse of packege/version/repo
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/chef/provider/package/paludis.rb | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/lib/chef/provider/package/paludis.rb b/lib/chef/provider/package/paludis.rb index aa02eec203..fadc4652e1 100644 --- a/lib/chef/provider/package/paludis.rb +++ b/lib/chef/provider/package/paludis.rb @@ -38,18 +38,20 @@ class Chef installed = false re = Regexp.new('(?<name>(.*))[[:blank:]](?<version>(.*))[[:blank:]](?<repository>(.*))$') - shell_out!("cave -L warning print-ids -m \"#{@new_resource.package_name}\" -f \"%c/%p %v %r\n\"").stdout.each_line do |line| + shell_out!("cave -L warning print-ids -m \"#{@new_resource.package_name.split('/').last}\" -f \"%c/%p %v %r\n\"").stdout.each_line do |line| res = re.match(line) - case res[:repository] - when 'accounts', 'installed-accounts' - next - when 'installed' - if res[:repository] == 'installed' - installed = true - @current_resource.version(res[:version]) - else - @candidate_version = res[:version] - @current_resource.version(nil) + unless res.nil? + case res[:repository] + when 'accounts', 'installed-accounts' + next + when 'installed' + if res[:repository] == 'installed' + installed = true + @current_resource.version(res[:version]) + else + @candidate_version = res[:version] + @current_resource.version(nil) + end end end end @@ -58,7 +60,11 @@ class Chef end def install_package(name, version) - pkg = "=#{name}-#{version}" + if(version) + pkg = "=#{name}-#{version}" + else + pkg = "#{@new_resource.package_name}" + end shell_out!("cave -L warning resolve -x#{expand_options(@new_resource.options)} \"#{pkg}\"") end |