class Chef::Provider::Package::SmartOS
Attributes
is_virtual_package[RW]
Public Instance Methods
candidate_version()
click to toggle source
# File lib/chef/provider/package/smartos.rb, line 57 def candidate_version return @candidate_version if @candidate_version name = nil version = nil pkg = shell_out!("/opt/local/bin/pkgin", "se", new_resource.package_name, env: nil, returns: [0, 1]) pkg.stdout.each_line do |line| case line when /^#{new_resource.package_name}/ name, version = line.split(/[; ]/)[0].split(/-([^-]+)$/) end end @candidate_version = version version end
check_package_state(name)
click to toggle source
# File lib/chef/provider/package/smartos.rb, line 43 def check_package_state(name) logger.trace("#{new_resource} checking package #{name}") version = nil info = shell_out!("/opt/local/sbin/pkg_info", "-E", "#{name}*", env: nil, returns: [0, 1]) if info.stdout version = info.stdout[/^#{new_resource.package_name}-(.+)/, 1] end if version current_resource.version(version) end end
install_package(name, version)
click to toggle source
# File lib/chef/provider/package/smartos.rb, line 72 def install_package(name, version) logger.trace("#{new_resource} installing package #{name} version #{version}") package = "#{name}-#{version}" out = shell_out!("/opt/local/bin/pkgin", "-y", "install", package, env: nil) end
load_current_resource()
click to toggle source
# File lib/chef/provider/package/smartos.rb, line 35 def load_current_resource logger.trace("#{new_resource} loading current resource") @current_resource = Chef::Resource::Package.new(new_resource.name) current_resource.package_name(new_resource.package_name) check_package_state(new_resource.package_name) current_resource # modified by check_package_state end
remove_package(name, version)
click to toggle source
# File lib/chef/provider/package/smartos.rb, line 83 def remove_package(name, version) logger.trace("#{new_resource} removing package #{name} version #{version}") package = name.to_s out = shell_out!("/opt/local/bin/pkgin", "-y", "remove", package, env: nil) end
upgrade_package(name, version)
click to toggle source
# File lib/chef/provider/package/smartos.rb, line 78 def upgrade_package(name, version) logger.trace("#{new_resource} upgrading package #{name} version #{version}") install_package(name, version) end