self.rpm_installed?

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