diff options
author | Claire McQuin <mcquin@users.noreply.github.com> | 2014-06-09 15:38:25 -0700 |
---|---|---|
committer | Claire McQuin <mcquin@users.noreply.github.com> | 2014-06-09 15:38:25 -0700 |
commit | c208ccbfe02cf0ef6f972d6a371cf37f1aeb22e8 (patch) | |
tree | 6c72244a7a5de761f383377b7fba051368a9c9d3 | |
parent | 473592842a44b43e76857d9f2add2b2d1d69d508 (diff) | |
parent | e675421832ed3619a39fabfaa8e9572ed6291e9b (diff) | |
download | chef-c208ccbfe02cf0ef6f972d6a371cf37f1aeb22e8.tar.gz |
Merge pull request #1407 from robbydyer/master
CHEF-5273 - Corretly detect when rpm_package does not exist in upgrade action
-rw-r--r-- | lib/chef/provider/package/rpm.rb | 1 | ||||
-rw-r--r-- | spec/unit/provider/package/rpm_spec.rb | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/chef/provider/package/rpm.rb b/lib/chef/provider/package/rpm.rb index 616a78a2f5..2aa4e01e68 100644 --- a/lib/chef/provider/package/rpm.rb +++ b/lib/chef/provider/package/rpm.rb @@ -63,6 +63,7 @@ class Chef when /([\w\d_.-]+)\s([\w\d_.-]+)/ @current_resource.package_name($1) @new_resource.version($2) + @candidate_version = $2 end end end diff --git a/spec/unit/provider/package/rpm_spec.rb b/spec/unit/provider/package/rpm_spec.rb index 7126b06d66..adb829ced3 100644 --- a/spec/unit/provider/package/rpm_spec.rb +++ b/spec/unit/provider/package/rpm_spec.rb @@ -104,6 +104,14 @@ describe Chef::Provider::Package::Rpm do @provider.upgrade_package("emacs", "21.4-20.el5") end + it "should install package if missing and set to upgrade" do + @current_resource.version("emacs") + @provider.should_receive(:run_command_with_systems_locale).with({ + :command => "rpm -U /tmp/emacs-21.4-20.el5.i386.rpm" + }) + @provider.upgrade_package("emacs", "21.4-20.el5") + end + it "should install from a path when the package is a path and the source is nil" do @new_resource = Chef::Resource::Package.new("/tmp/emacs-21.4-20.el5.i386.rpm") @provider = Chef::Provider::Package::Rpm.new(@new_resource, @run_context) |