puppet-standalone-mashup/shared/lib/puppet/provider/configure/action.rb

40 lines
923 B
Ruby
Raw Normal View History

Puppet::Type.type(:configure).provide(:action) do
desc "Configure a program to install"
def create
2012-07-10 20:03:16 +00:00
command = %{bash -c "env ; sleep 10 ; cd #{@resource[:build_path]} && #{@resource[:preconfigure].gsub('"', '\\"')} #{path} ./configure --prefix=#{@resource[:install_path]} #{@resource[:options]}"}.tap { |o| p o }
system command
2012-06-14 02:01:05 +00:00
p $?
2012-07-10 20:03:16 +00:00
puts command
2012-05-09 16:56:25 +00:00
raise StandardError.new("Could not configure") if $?.exitstatus != 0
end
def destroy
File.unlink config_status
end
def exists?
2012-05-07 18:30:35 +00:00
return true if unless?
File.file?(config_status)
end
2012-06-14 02:01:05 +00:00
private
def config_status
2012-01-18 17:29:05 +00:00
File.join(@resource[:build_path], @resource[:config_status])
end
def unless?
2012-05-09 16:56:25 +00:00
return nil if !@resource[:unless] || @resource[:unless].empty?
system %{bash -c '#{@resource[:unless]}'}
2012-05-09 16:56:25 +00:00
$?.exitstatus == 0
end
def path
2012-07-10 20:03:16 +00:00
@resource[:path].empty? ? '' : "PATH=#{@resource[:path]} "
end
end