From 8f9264bcc30312cc927eac72c66415eae7b69e88 Mon Sep 17 00:00:00 2001 From: luke Date: Mon, 9 Oct 2006 18:34:57 +0000 Subject: Fixing code from [1754] -- I stupidly did not even do a parse check, and I had to refactor the patch because parameters do not have code associated with their values. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1755 980ebf18-57e1-0310-9a29-db15c13687c0 --- lib/puppet/provider/package/apt.rb | 12 ++++++------ lib/puppet/type/package.rb | 26 +++----------------------- 2 files changed, 9 insertions(+), 29 deletions(-) (limited to 'lib') diff --git a/lib/puppet/provider/package/apt.rb b/lib/puppet/provider/package/apt.rb index 5c6dc8916..d4edbb27b 100755 --- a/lib/puppet/provider/package/apt.rb +++ b/lib/puppet/provider/package/apt.rb @@ -41,8 +41,6 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do end end - attr_accessor :keepconfig - # Install a package using 'apt-get'. This function needs to support # installing a specific version. def install @@ -63,12 +61,14 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do end keep = "" - if defined? @keepconfig - case @keepconfig - when true + if config = @model[:configfiles] + case config + when :keep keep = "-o 'DPkg::Options::=--force-confold'" - else + when :replace keep = "-o 'DPkg::Options::=--force-confnew'" + else + raise Puppet::Error, "Invalid 'configfiles' value %s" % config end end diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb index 47b6331ea..f88981ffd 100644 --- a/lib/puppet/type/package.rb +++ b/lib/puppet/type/package.rb @@ -244,31 +244,11 @@ module Puppet newparam(:configfiles) do desc "Whether configfiles should be kept or replaced. Most packages - types do not support this parameter, but those that do will default - to keeping their configuration files." - - unless provider.respond_to?(:keepconfig=) - self.fail( - "Package provider %s does not support keeping the configuration files" % - @parent[:provider] - ) - end + types do not support this parameter." - # There is only a default for those that support this parameter. - defaultto do - if provider.respond_to?(:keepconfig) - :keep - else - nil - end - end + defaultto :keep - newvalue(:keep) do - provider.keepconfig = true - end - newvalue(:replace) do - provider.keepconfig = false - end + newvalues(:keep, :replace) end newparam(:category) do -- cgit