summaryrefslogtreecommitdiff
path: root/lib/chef/provider/package/aix.rb
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2017-01-09 10:47:17 -0800
committerLamont Granquist <lamont@scriptkiddie.org>2017-02-11 15:13:31 -0800
commit67c44883fda6097385a7d378930177a9c85643b8 (patch)
tree4ebd7be6e31182006607b360f13e763044bed136 /lib/chef/provider/package/aix.rb
parent4bea26334396755625b3094272d9852b400bb053 (diff)
downloadchef-67c44883fda6097385a7d378930177a9c85643b8.tar.gz
package provider cleanuplcg/package-cleanup
- cleans up a lot of ivar usage - converts most providers to shell_out_compact_timeout! - almost deprecates a few APIs, but can't quite yet - windows providers need mixlib-shellout to take an argv Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'lib/chef/provider/package/aix.rb')
-rw-r--r--lib/chef/provider/package/aix.rb76
1 files changed, 38 insertions, 38 deletions
diff --git a/lib/chef/provider/package/aix.rb b/lib/chef/provider/package/aix.rb
index 12bf11ad0f..5af5f5afad 100644
--- a/lib/chef/provider/package/aix.rb
+++ b/lib/chef/provider/package/aix.rb
@@ -34,45 +34,45 @@ class Chef
def define_resource_requirements
super
requirements.assert(:install) do |a|
- a.assertion { @new_resource.source }
- a.failure_message Chef::Exceptions::Package, "Source for package #{@new_resource.name} required for action install"
+ a.assertion { new_resource.source }
+ a.failure_message Chef::Exceptions::Package, "Source for package #{new_resource.name} required for action install"
end
requirements.assert(:all_actions) do |a|
- a.assertion { !@new_resource.source || package_source_found? }
- a.failure_message Chef::Exceptions::Package, "Package #{@new_resource.name} not found: #{@new_resource.source}"
- a.whyrun "would assume #{@new_resource.source} would be have previously been made available"
+ a.assertion { !new_resource.source || package_source_found? }
+ a.failure_message Chef::Exceptions::Package, "Package #{new_resource.name} not found: #{new_resource.source}"
+ a.whyrun "would assume #{new_resource.source} would be have previously been made available"
end
end
def load_current_resource
- @current_resource = Chef::Resource::Package.new(@new_resource.name)
- @current_resource.package_name(@new_resource.package_name)
+ @current_resource = Chef::Resource::Package.new(new_resource.name)
+ current_resource.package_name(new_resource.package_name)
if package_source_found?
- Chef::Log.debug("#{@new_resource} checking pkg status")
- ret = shell_out_with_timeout("installp -L -d #{@new_resource.source}")
+ Chef::Log.debug("#{new_resource} checking pkg status")
+ ret = shell_out_compact_timeout("installp", "-L", "-d", new_resource.source)
ret.stdout.each_line do |line|
case line
- when /:#{@new_resource.package_name}:/
+ when /:#{new_resource.package_name}:/
fields = line.split(":")
- @new_resource.version(fields[2])
- when /^#{@new_resource.package_name}:/
+ new_resource.version(fields[2])
+ when /^#{new_resource.package_name}:/
Chef::Log.warn("You are installing a bff package by product name. For idempotent installs, please install individual filesets")
fields = line.split(":")
- @new_resource.version(fields[2])
+ new_resource.version(fields[2])
end
end
- raise Chef::Exceptions::Package, "package source #{@new_resource.source} does not provide package #{@new_resource.package_name}" unless @new_resource.version
+ raise Chef::Exceptions::Package, "package source #{new_resource.source} does not provide package #{new_resource.package_name}" unless new_resource.version
end
- Chef::Log.debug("#{@new_resource} checking install state")
- ret = shell_out_with_timeout("lslpp -lcq #{@current_resource.package_name}")
+ Chef::Log.debug("#{new_resource} checking install state")
+ ret = shell_out_compact_timeout("lslpp", "-lcq", current_resource.package_name)
ret.stdout.each_line do |line|
case line
- when /#{@current_resource.package_name}/
+ when /#{current_resource.package_name}/
fields = line.split(":")
- Chef::Log.debug("#{@new_resource} version #{fields[2]} is already installed")
- @current_resource.version(fields[2])
+ Chef::Log.debug("#{new_resource} version #{fields[2]} is already installed")
+ current_resource.version(fields[2])
end
end
@@ -80,24 +80,24 @@ class Chef
raise Chef::Exceptions::Package, "lslpp failed - #{ret.format_for_exception}!"
end
- @current_resource
+ current_resource
end
def candidate_version
return @candidate_version if @candidate_version
if package_source_found?
- ret = shell_out_with_timeout("installp -L -d #{@new_resource.source}")
+ ret = shell_out_compact_timeout("installp", "-L", "-d", new_resource.source)
ret.stdout.each_line do |line|
case line
- when /\w:#{Regexp.escape(@new_resource.package_name)}:(.*)/
+ when /\w:#{Regexp.escape(new_resource.package_name)}:(.*)/
fields = line.split(":")
@candidate_version = fields[2]
- @new_resource.version(fields[2])
- Chef::Log.debug("#{@new_resource} setting install candidate version to #{@candidate_version}")
+ new_resource.version(fields[2])
+ Chef::Log.debug("#{new_resource} setting install candidate version to #{@candidate_version}")
end
end
unless ret.exitstatus == 0
- raise Chef::Exceptions::Package, "installp -L -d #{@new_resource.source} - #{ret.format_for_exception}!"
+ raise Chef::Exceptions::Package, "installp -L -d #{new_resource.source} - #{ret.format_for_exception}!"
end
end
@candidate_version
@@ -111,30 +111,30 @@ class Chef
# So far, the code has been tested only with standalone packages.
#
def install_package(name, version)
- Chef::Log.debug("#{@new_resource} package install options: #{@new_resource.options}")
- if @new_resource.options.nil?
- shell_out_with_timeout!( "installp -aYF -d #{@new_resource.source} #{@new_resource.package_name}" )
- Chef::Log.debug("#{@new_resource} installed version #{@new_resource.version} from: #{@new_resource.source}")
+ Chef::Log.debug("#{new_resource} package install options: #{options}")
+ if options.nil?
+ shell_out_compact_timeout!("installp", "-aYF", "-d", new_resource.source, new_resource.package_name)
+ Chef::Log.debug("#{new_resource} installed version #{new_resource.version} from: #{new_resource.source}")
else
- shell_out_with_timeout!( "installp -aYF #{expand_options(@new_resource.options)} -d #{@new_resource.source} #{@new_resource.package_name}" )
- Chef::Log.debug("#{@new_resource} installed version #{@new_resource.version} from: #{@new_resource.source}")
+ shell_out_compact_timeout!("installp", "-aYF", options, "-d", new_resource.source, new_resource.package_name)
+ Chef::Log.debug("#{new_resource} installed version #{new_resource.version} from: #{new_resource.source}")
end
end
- alias_method :upgrade_package, :install_package
+ alias upgrade_package install_package
def remove_package(name, version)
- if @new_resource.options.nil?
- shell_out_with_timeout!( "installp -u #{name}" )
- Chef::Log.debug("#{@new_resource} removed version #{@new_resource.version}")
+ if options.nil?
+ shell_out_compact_timeout!("installp", "-u", name)
+ Chef::Log.debug("#{new_resource} removed version #{new_resource.version}")
else
- shell_out_with_timeout!( "installp -u #{expand_options(@new_resource.options)} #{name}" )
- Chef::Log.debug("#{@new_resource} removed version #{@new_resource.version}")
+ shell_out_compact_timeout!("installp", "-u", options, name)
+ Chef::Log.debug("#{new_resource} removed version #{new_resource.version}")
end
end
def package_source_found?
- @package_source_found ||= @new_resource.source && ::File.exists?(@new_resource.source)
+ @package_source_found ||= new_resource.source && ::File.exist?(new_resource.source)
end
end