Use the built-in git resource from Chef instead. poise/application does not work on modern Chef.
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
property :name, String, default: ''
 | 
						|
 | 
						|
property :git_ref, String,
 | 
						|
  default: 'master',
 | 
						|
  description: 'Git reference to download, set to a tag to get a specific version'
 | 
						|
 | 
						|
unified_mode true if respond_to? :unified_mode
 | 
						|
 | 
						|
action :install do
 | 
						|
  src_path = "#{Chef::Config['file_cache_path']}/ruby-build"
 | 
						|
 | 
						|
  if platform_family?('rhel')
 | 
						|
    if node['platform_version'].to_i >= 8
 | 
						|
      package 'yum-utils'
 | 
						|
 | 
						|
      execute 'yum-config-manager --enable powertools' do
 | 
						|
        not_if 'yum-config-manager --dump powertools | grep -q "enabled = 1"'
 | 
						|
      end
 | 
						|
    end
 | 
						|
 | 
						|
    include_recipe 'yum-epel'
 | 
						|
  end
 | 
						|
 | 
						|
  package %w(tar bash curl git) unless platform_family?('mac_os_x', 'freebsd')
 | 
						|
 | 
						|
  git src_path do
 | 
						|
    repository 'https://github.com/rbenv/ruby-build.git'
 | 
						|
    revision new_resource.git_ref unless new_resource.git_ref == 'master'
 | 
						|
    retries 5
 | 
						|
    retry_delay 5
 | 
						|
  end
 | 
						|
 | 
						|
  execute 'Install ruby-build' do
 | 
						|
    cwd src_path
 | 
						|
    command %(sh ./install.sh)
 | 
						|
    not_if do
 | 
						|
      ::File.exist?('/usr/local/bin/ruby-build') &&
 | 
						|
        `#{src_path}/bin/ruby-build --version` == `/usr/local/bin/ruby-build --version`
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |