def action_install
if !@new_resource.version.nil? && !(target_version_already_installed?)
install_version = @new_resource.version
elsif @current_resource.version.nil?
install_version = candidate_version
else
Chef::Log.debug("#{@new_resource} is already installed - nothing to do")
return
end
if @new_resource.response_file
if preseed_file = get_preseed_file(@new_resource.package_name, install_version)
converge_by("preseed package #{@new_resource.package_name}") do
preseed_package(preseed_file)
end
end
end
description = install_version ? "version #{install_version} of" : ""
converge_by("install #{description} package #{@new_resource.package_name}") do
@new_resource.version(install_version)
install_package(@new_resource.package_name, install_version)
end
end