diff options
| author | Dominic Cleal <dcleal@redhat.com> | 2010-11-29 11:33:57 +0000 |
|---|---|---|
| committer | Dominic Cleal <dcleal@redhat.com> | 2010-11-29 11:33:57 +0000 |
| commit | 9d63171cf3d3650790bc36c149eef14724487d88 (patch) | |
| tree | fc1f15fe6b9d09b9ef085498b9b09203fbb3103e /lib/puppet | |
| parent | f50fac7a866fa6c1d546226c5c6d8651eb7ffba6 (diff) | |
| download | puppet-9d63171cf3d3650790bc36c149eef14724487d88.tar.gz puppet-9d63171cf3d3650790bc36c149eef14724487d88.tar.xz puppet-9d63171cf3d3650790bc36c149eef14724487d88.zip | |
Single package queries made more robust when dealing with pkgutil noise
Diffstat (limited to 'lib/puppet')
| -rwxr-xr-x | lib/puppet/provider/package/pkgutil.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/puppet/provider/package/pkgutil.rb b/lib/puppet/provider/package/pkgutil.rb index 4914aa4f0..b80cf74ee 100755 --- a/lib/puppet/provider/package/pkgutil.rb +++ b/lib/puppet/provider/package/pkgutil.rb @@ -53,11 +53,17 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d next if line =~ /^=+> / # catalog fetch next if line =~ /\d+:\d+:\d+ URL:/ # wget without -q - blastsplit(line) + parsed = blastsplit(line) + + # When finding one package, ensure we picked up the package line + # itself, not any pkgutil noise. + next if hash[:justme] and parsed[:name] != hash[:justme] + + parsed end.reject { |h| h.nil? } if hash[:justme] - return list[0] + return list[-1] else list.reject! { |h| h[:ensure] == :absent |
