class ForemanMaintain::PackageManager::Dnf

Public Instance Methods

clean_cache(assumeyes: false) click to toggle source
Calls superclass method
# File lib/foreman_maintain/package_manager/dnf.rb, line 3
def clean_cache(assumeyes: false)
  dnf_action('clean', 'all', :assumeyes => assumeyes)
  super
end
enable_module(name) click to toggle source
# File lib/foreman_maintain/package_manager/dnf.rb, line 17
def enable_module(name)
  dnf_action('module enable', name, assumeyes: true)
end
info(name) click to toggle source
# File lib/foreman_maintain/package_manager/dnf.rb, line 26
def info(name)
  dnf_action('module info', name, with_status: true, assumeyes: true)
end
module_enabled?(name) click to toggle source
# File lib/foreman_maintain/package_manager/dnf.rb, line 12
def module_enabled?(name)
  _status, result = info(name)
  result.match?(/Stream.+\[e\].+/)
end
module_exists?(name) click to toggle source
# File lib/foreman_maintain/package_manager/dnf.rb, line 21
def module_exists?(name)
  status, _result = info(name)
  status == 0
end
version_locking_supported?() click to toggle source
# File lib/foreman_maintain/package_manager/dnf.rb, line 8
def version_locking_supported?
  true
end

Private Instance Methods

dnf_action(action, packages, with_status: false, assumeyes: false) click to toggle source
# File lib/foreman_maintain/package_manager/dnf.rb, line 32
def dnf_action(action, packages, with_status: false, assumeyes: false)
  packages = [packages].flatten(1)
  yum_options = []
  yum_options << '-y' if assumeyes
  if with_status
    sys.execute_with_status("dnf #{yum_options.join(' ')} #{action} #{packages.join(' ')}",
      :interactive => !assumeyes)
  else
    sys.execute!("dnf #{yum_options.join(' ')} #{action} #{packages.join(' ')}",
      :interactive => !assumeyes)

  end
end