diff options
author | snehaldwivedi <sdwivedi@msystechnologies.com> | 2021-08-26 23:25:49 -0700 |
---|---|---|
committer | snehaldwivedi <sdwivedi@msystechnologies.com> | 2021-10-07 02:18:34 -0700 |
commit | 354b540a581eafb0c210494500b33961e606c835 (patch) | |
tree | f59d90e7b3bdb3251cb037f056cbe02fc555e71b | |
parent | 41a953050a3c0197619f4b5a9139ea174c0a1f4a (diff) | |
download | chef-354b540a581eafb0c210494500b33961e606c835.tar.gz |
fix dpkg_package doesn't do version comparisons on upgrade
Signed-off-by: snehaldwivedi <sdwivedi@msystechnologies.com>
-rw-r--r-- | lib/chef/provider/package/dpkg.rb | 4 | ||||
-rw-r--r-- | lib/chef/resource/dpkg_package.rb | 5 | ||||
-rw-r--r-- | spec/unit/provider/package/dpkg_spec.rb | 4 |
3 files changed, 13 insertions, 0 deletions
diff --git a/lib/chef/provider/package/dpkg.rb b/lib/chef/provider/package/dpkg.rb index b2d1678caa..f4e14deb1b 100644 --- a/lib/chef/provider/package/dpkg.rb +++ b/lib/chef/provider/package/dpkg.rb @@ -93,6 +93,10 @@ class Chef install_package(name, version) end + def allow_downgrade + false + end + # Override the superclass check. Multiple sources are required here. def check_resource_semantics!; end diff --git a/lib/chef/resource/dpkg_package.rb b/lib/chef/resource/dpkg_package.rb index 1ad460e591..deeb182dfd 100644 --- a/lib/chef/resource/dpkg_package.rb +++ b/lib/chef/resource/dpkg_package.rb @@ -37,6 +37,11 @@ class Chef property :response_file_variables, Hash, description: "A Hash of response file variables in the form of {'VARIABLE' => 'VALUE'}.", default: {}, desired_state: false + + property :allow_downgrade, [ TrueClass, FalseClass ], + description: "Allow downgrading a package to satisfy requested version requirements.", + default: false, + desired_state: true end end end diff --git a/spec/unit/provider/package/dpkg_spec.rb b/spec/unit/provider/package/dpkg_spec.rb index 318b91c77e..e933b7c59d 100644 --- a/spec/unit/provider/package/dpkg_spec.rb +++ b/spec/unit/provider/package/dpkg_spec.rb @@ -311,4 +311,8 @@ describe Chef::Provider::Package::Dpkg do let(:preseed_path) { "/preseed--wget--wget-1.11.4.seed" } end end + + it "allows you to specify whether allow_downgrade is true or false" do + expect(new_resource.allow_downgrade).to eq(false) + end end |