Refactor is_pkg_installed function
* Should return false instead of errors * Correct package status processing Change-Id: I95139c36486a42306f61e7b08cc0cafcd6bffca1 Closes-Bug: 1542501
This commit is contained in:
parent
a836a98261
commit
6502053cc3
@ -6,14 +6,17 @@ module Puppet::Parser::Functions
|
|||||||
Returns if given package is installed
|
Returns if given package is installed
|
||||||
ENDOFDOC
|
ENDOFDOC
|
||||||
) do |args|
|
) do |args|
|
||||||
pkgname = args[0]
|
begin
|
||||||
|
pkg_name = args[0]
|
||||||
parameters = { :name => pkgname }
|
parameters = { :name => pkg_name }
|
||||||
res = Puppet::Type.type(:package).new(parameters)
|
res = Puppet::Type.type(:package).new(parameters)
|
||||||
|
|
||||||
query = res.provider.query
|
query = res.provider.query
|
||||||
|
break false unless query.is_a? Hash
|
||||||
return false if query.nil?
|
break false unless query[:ensure]
|
||||||
query[:ensure].match(/[-.]|\d+|[^-.\d]+/) != 0
|
break false if [ :absent, :purged ].include? query[:ensure]
|
||||||
|
true
|
||||||
|
rescue
|
||||||
|
false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user