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 supports_pkgng? shell_out!("pkg info \"#{@new_resource.package_name}\"", :env => nil, :returns => [0,70]) else shell_out!("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!("make -DBATCH install clean", :timeout => 1800, :env => nil, :cwd => port_dir).status end
port_dir()
click to toggle source
Calls superclass method
Chef::Provider::Package::Freebsd::PortsHelper#port_dir
# 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!("make deinstall", :timeout => 300, :env => nil, :cwd => port_dir).status end
Private Instance Methods
supports_pkgng?()
click to toggle source
# File lib/chef/provider/package/freebsd/port.rb, line 61 def supports_pkgng? with_pkgng = makefile_variable_value('WITH_PKGNG') with_pkgng && with_pkgng =~ /yes/i end