summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/package/dpkg.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/provider/package/dpkg.rb')
-rwxr-xr-xlib/puppet/provider/package/dpkg.rb17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb
index 512170a73..b67cd2b76 100755
--- a/lib/puppet/provider/package/dpkg.rb
+++ b/lib/puppet/provider/package/dpkg.rb
@@ -53,7 +53,22 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
unless file = @resource[:source]
raise ArgumentError, "You cannot install dpkg packages without a source"
end
- dpkg "-i", file
+
+ args = []
+
+ if config = @resource[:configfiles]
+ case config
+ when :keep
+ args << '--force-confold'
+ when :replace
+ args << '--force-confnew'
+ else
+ raise Puppet::Error, "Invalid 'configfiles' value %s" % config
+ end
+ end
+ args << '-i' << file
+
+ dpkg(*args)
end
def update