summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaire McQuin <mcquin@users.noreply.github.com>2014-06-09 15:38:25 -0700
committerClaire McQuin <mcquin@users.noreply.github.com>2014-06-09 15:38:25 -0700
commitc208ccbfe02cf0ef6f972d6a371cf37f1aeb22e8 (patch)
tree6c72244a7a5de761f383377b7fba051368a9c9d3
parent473592842a44b43e76857d9f2add2b2d1d69d508 (diff)
parente675421832ed3619a39fabfaa8e9572ed6291e9b (diff)
downloadchef-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.rb1
-rw-r--r--spec/unit/provider/package/rpm_spec.rb8
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)