#!/usr/bin/env ruby # frozen_string_literal: true require 'optparse' require 'json' require './rhel_rpm_to_cve' data_file = './rpm-to-cve.xml' options = {} parser = OptionParser.new do |parser| parser.banner = 'Usage: rpm_pkg_audit.rb [options]' parser.on('-p', '--pkg PKGNAME', 'The pkg name you want to audit.') do |pkg| options[:pkg] = pkg end parser.on('-l', '--list', 'List packages in the XML datafile.') do |list| options[:list] = list end end parser.parse! pkg_name = options[:pkg] rpm_auditer = RhelRpmToCve.new(data_file) if pkg_name json = rpm_auditer.cves_per_pkg_name(pkg_name).to_json puts JSON.pretty_generate(JSON.parse(json)) else options.key?(:list) puts rpm_auditer.list_pkg_names.sort end