diff options
| author | James Turnbull <james@lovedthanlost.net> | 2010-09-23 08:45:26 +1000 |
|---|---|---|
| committer | James Turnbull <james@lovedthanlost.net> | 2010-09-23 08:45:26 +1000 |
| commit | 021d534482dd8edb863cb77d668ac3525362a0a6 (patch) | |
| tree | 4c2e2a0887341eebd8e2cf49df137b448a7534f6 /lib | |
| parent | 216f66326381486ad1f63e74fccca0e359ff9a15 (diff) | |
| download | puppet-021d534482dd8edb863cb77d668ac3525362a0a6.tar.gz puppet-021d534482dd8edb863cb77d668ac3525362a0a6.tar.xz puppet-021d534482dd8edb863cb77d668ac3525362a0a6.zip | |
Fixed #3707 - rpm, like dpkg-query exits 1 if the package is not installed. Returning
nil in this provider had the effect that on every run, puppet would end
up calling yum erase . Returning the correct data structure
resolves this.
Thanks to Stephen Gran for the patch
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/puppet/provider/package/rpm.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb index 72dc260a4..ec6121743 100755 --- a/lib/puppet/provider/package/rpm.rb +++ b/lib/puppet/provider/package/rpm.rb @@ -60,7 +60,8 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr begin output = rpm(*cmd) rescue Puppet::ExecutionFailure - return nil + # rpm exits 1 if the package is not found. + return {:ensure => :purged, :status => 'missing', :name => @resource[:name], :error => 'ok'} end # FIXME: We could actually be getting back multiple packages |
