summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorVasiliy Tolstov <v.tolstov@selfip.ru>2014-06-14 00:56:34 +0400
committerVasiliy Tolstov <v.tolstov@selfip.ru>2014-06-14 00:56:34 +0400
commit5f0a6bd217329b33b47e3e75e55d9466c50cd7d9 (patch)
tree29d1bc110b7adf9c4a08b0881134b968e2d239e7 /lib
parent9b42afd47701bb8a4c59f1a10ea648cd0640da3f (diff)
downloadchef-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.rb30
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