diff options
author | Juerg Walz <jwalz@pobox.com> | 2011-03-08 12:39:25 +0800 |
---|---|---|
committer | Juerg Walz <jwalz@pobox.com> | 2011-03-08 12:39:25 +0800 |
commit | 58ac7d385ebaa8755fe44df5a3d2db98b4bf4693 (patch) | |
tree | 257450b6f5b4ca7562cf9f222a7263ae36fc6ac0 | |
parent | 15a53f0ac79cb3f164750d53219d02ad6515f02c (diff) | |
download | puppet-58ac7d385ebaa8755fe44df5a3d2db98b4bf4693.tar.gz puppet-58ac7d385ebaa8755fe44df5a3d2db98b4bf4693.tar.xz puppet-58ac7d385ebaa8755fe44df5a3d2db98b4bf4693.zip |
(#4258) pkgutil provider: better handling of short package names
-rwxr-xr-x | lib/puppet/provider/package/pkgutil.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/puppet/provider/package/pkgutil.rb b/lib/puppet/provider/package/pkgutil.rb index 0e2056b54..4a87932a8 100755 --- a/lib/puppet/provider/package/pkgutil.rb +++ b/lib/puppet/provider/package/pkgutil.rb @@ -56,7 +56,7 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d if hash[:justme] # Ensure we picked up the package line, not any pkgutil noise. - list.reject! { |h| h[:name] !~ /#{hash[:justme]}$/ } + list.reject! { |h| h[:name] != hash[:justme] } return list[-1] else list.reject! { |h| h[:ensure] == :absent } @@ -80,6 +80,10 @@ Puppet::Type.type(:package).provide :pkgutil, :parent => :sun, :source => :sun d end hash[:avail] = $3 + if justme !~ /^[A-Z]+/ + hash[:name].sub! /^[A-Z]+/, '' + end + if hash[:avail] =~ /^SAME\s*$/ hash[:avail] = hash[:ensure] end |