class Chef::Provider::Package::Freebsd::Port

Public Instance Methods

candidate_version() click to toggle source
# File lib/chef/provider/package/freebsd/port.rb, line 45
def candidate_version
  if supports_ports?
    makefile_variable_value("PORTVERSION", port_dir)
  else
    raise Chef::Exceptions::Package, "Ports collection could not be found"
  end
end
current_installed_version() click to toggle source
# File lib/chef/provider/package/freebsd/port.rb, line 36
def current_installed_version
  pkg_info = if new_resource.supports_pkgng?
               shell_out_compact_timeout!("pkg", "info", new_resource.package_name, env: nil, returns: [0, 70])
             else
               shell_out_compact_timeout!("pkg_info", "-E", "#{new_resource.package_name}*", env: nil, returns: [0, 1])
             end
  pkg_info.stdout[/^#{Regexp.escape(new_resource.package_name)}-(.+)/, 1]
end
install_package(name, version) click to toggle source
# File lib/chef/provider/package/freebsd/port.rb, line 28
def install_package(name, version)
  shell_out_compact_timeout!("make", "-DBATCH", "install", "clean", timeout: 1800, env: nil, cwd: port_dir).status
end
port_dir() click to toggle source
# File lib/chef/provider/package/freebsd/port.rb, line 53
def port_dir
  super(new_resource.package_name)
end
remove_package(name, version) click to toggle source
# File lib/chef/provider/package/freebsd/port.rb, line 32
def remove_package(name, version)
  shell_out_compact_timeout!("make", "deinstall", timeout: 300, env: nil, cwd: port_dir).status
end