summaryrefslogtreecommitdiff
path: root/lib/chef/provider/package/apt.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/provider/package/apt.rb')
-rw-r--r--lib/chef/provider/package/apt.rb13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/chef/provider/package/apt.rb b/lib/chef/provider/package/apt.rb
index d2111e6f3e..d307ba5003 100644
--- a/lib/chef/provider/package/apt.rb
+++ b/lib/chef/provider/package/apt.rb
@@ -154,15 +154,16 @@ class Chef
end
def config_file_options
+ # If the user has specified config file options previously, respect those.
+ return if Array(options).any? { |opt| opt =~ /--force-conf/ }
+
# It doesn't make sense to install packages in a scenario that can
# result in a prompt. Have users decide up-front whether they want to
# forcibly overwrite the config file, otherwise preserve it.
- if new_resource.respond_to?(:overwrite_config_files)
- if new_resource.overwrite_config_files
- [ "-o", "Dpkg::Options::=--force-confnew" ]
- else
- [ "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold" ]
- end
+ if new_resource.overwrite_config_files
+ [ "-o", "Dpkg::Options::=--force-confnew" ]
+ else
+ [ "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold" ]
end
end