in itchef/cookbooks/cpe_helpers/libraries/cpe_helpers.rb [397:422]
def self.rpm_installed?(name, verstr = nil,
compare_epoch = false, exact = true)
pkg_to_check =
if verstr.nil? || !exact
name
else
"#{name}-#{verstr}"
end
rpm_q = shell_out(
"rpm -q --queryformat '%{EPOCH}:%{VERSION}-%{RELEASE}' #{pkg_to_check}",
)
if rpm_q.error?
false
elsif verstr.nil?
true
else
cmp = rpm_cmpver(rpm_q.stdout, verstr, compare_epoch)
if exact
cmp.zero?
else
cmp >= 0
end
end
end