summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2016-05-03 15:45:01 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2016-05-03 15:45:01 -0700
commitb7d81d98eda0e376d203067cf0a9c8555194c8f7 (patch)
tree8284191b8bdc6c633d932488614568779c3799a0
parent4282d67d1f44d374e932c3916e41bd37c9df907a (diff)
downloadchef-b7d81d98eda0e376d203067cf0a9c8555194c8f7.tar.gz
handle purging and removing virtual packages
-rw-r--r--lib/chef/provider/package/apt.rb12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/chef/provider/package/apt.rb b/lib/chef/provider/package/apt.rb
index 8b0985e736..8af089e14a 100644
--- a/lib/chef/provider/package/apt.rb
+++ b/lib/chef/provider/package/apt.rb
@@ -73,7 +73,7 @@ class Chef
def install_package(name, version)
package_name = name.zip(version).map do |n, v|
package_data[n][:virtual] ? n : "#{n}=#{v}"
- end.join(" ")
+ end
run_noninteractive("apt-get -q -y", default_release_options, new_resource.options, "install", package_name)
end
@@ -82,11 +82,17 @@ class Chef
end
def remove_package(name, version)
- run_noninteractive("apt-get -q -y", new_resource.options, "remove", name)
+ package_name = name.map do |n|
+ package_data[n][:virtual] ? resolve_virtual_package_name(n) : n
+ end
+ run_noninteractive("apt-get -q -y", new_resource.options, "remove", package_name)
end
def purge_package(name, version)
- run_noninteractive("apt-get -q -y", new_resource.options, "purge", name)
+ package_name = name.map do |n|
+ package_data[n][:virtual] ? resolve_virtual_package_name(n) : n
+ end
+ run_noninteractive("apt-get -q -y", new_resource.options, "purge", package_name)
end
def preseed_package(preseed_file)