summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsnehaldwivedi <sdwivedi@msystechnologies.com>2021-08-26 23:25:49 -0700
committersnehaldwivedi <sdwivedi@msystechnologies.com>2021-10-07 02:18:34 -0700
commit354b540a581eafb0c210494500b33961e606c835 (patch)
treef59d90e7b3bdb3251cb037f056cbe02fc555e71b
parent41a953050a3c0197619f4b5a9139ea174c0a1f4a (diff)
downloadchef-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.rb4
-rw-r--r--lib/chef/resource/dpkg_package.rb5
-rw-r--r--spec/unit/provider/package/dpkg_spec.rb4
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