class Chef::Provider::Package::Paludis

Public Instance Methods

install_package(name, version) click to toggle source
# File lib/chef/provider/package/paludis.rb, line 55
def install_package(name, version)
  pkg = if version
          "=#{name}-#{version}"
        else
          new_resource.package_name.to_s
        end
  shell_out_compact_timeout!("cave", "-L", "warning", "resolve", "-x", options, pkg)
end
load_current_resource() click to toggle source
# File lib/chef/provider/package/paludis.rb, line 30
def load_current_resource
  @current_resource = Chef::Resource::Package.new(new_resource.package_name)
  current_resource.package_name(new_resource.package_name)

  logger.trace("Checking package status for #{new_resource.package_name}")
  installed = false
  re = Regexp.new("(.*)[[:blank:]](.*)[[:blank:]](.*)$")

  shell_out_compact!("cave", "-L", "warning", "print-ids", "-M", "none", "-m", new_resource.package_name, "-f", "%c/%p %v %r\n").stdout.each_line do |line|
    res = re.match(line)
    next if res.nil?
    case res[3]
    when "accounts", "installed-accounts"
      next
    when "installed"
      installed = true
      current_resource.version(res[2])
    else
      @candidate_version = res[2]
    end
  end

  current_resource
end
purge_package(name, version) click to toggle source
# File lib/chef/provider/package/paludis.rb, line 78
def purge_package(name, version)
  remove_package(name, version)
end
remove_package(name, version) click to toggle source
# File lib/chef/provider/package/paludis.rb, line 68
def remove_package(name, version)
  pkg = if version
          "=#{new_resource.package_name}-#{version}"
        else
          new_resource.package_name.to_s
        end

  shell_out_compact!("cave", "-L", "warning", "uninstall", "-x", options, pkg)
end
upgrade_package(name, version) click to toggle source
# File lib/chef/provider/package/paludis.rb, line 64
def upgrade_package(name, version)
  install_package(name, version)
end