Created
May 10, 2011 20:13
-
-
Save seth/965279 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Borrowed heavily from http://github.com/atmos/cinderella | |
username = node[:login_name] || node[:current_user] | |
user_uid = node[:etc][:passwd][username]["uid"] | |
user_gid = node[:login_group] | |
DEFAULT_RUBY_VERSION = "1.8.7-p302" | |
rvm_init = 'source "$HOME/.rvm/scripts/rvm"' | |
Chef::Log.info "username: #{username}" | |
Chef::Log.info "user_gid: #{user_gid}" | |
bash "install rvm" do | |
user username | |
group user_gid | |
code <<-EOH | |
curl -s -O http://rvm.beginrescueend.com/releases/rvm-install-head && \ | |
chmod u+x ./rvm-install-head && \ | |
./rvm-install-head | |
rm -f rvm-install-head | |
EOH | |
not_if "test -d #{ENV['HOME']}/.rvm" | |
cwd ENV['HOME'] | |
end | |
bash "updating rvm to the latest stable version" do | |
user username | |
group user_gid | |
code "#{rvm_init} && rvm update > ~/.rvm-update.log 2>&1" | |
end | |
ruby_path = "ruby" | |
bash "installing ruby" do | |
user username | |
group user_gid | |
code <<-EOH | |
#{rvm_init} && rvm install #{DEFAULT_RUBY_VERSION} -C \ | |
--with-openssl-dir=/usr/local \ | |
--with-readline-dir=/usr/local && \ | |
# rvm install exits 0 even if build fails :-( | |
rvm list |grep -q #{DEFAULT_RUBY_VERSION} | |
EOH | |
not_if "test -f #{ENV['HOME']}/.rvm/rubies/ruby-#{DEFAULT_RUBY_VERSION}/bin/ruby" | |
end | |
bash "set default rvm ruby" do | |
user username | |
group user_gid | |
code "#{rvm_init} && rvm use #{DEFAULT_RUBY_VERSION} --default" | |
not_if "test -ef #{ENV['HOME']}/.rvm/bin/default_ruby #{ENV['HOME']}/.rvm/wrappers/ruby-#{DEFAULT_RUBY_VERSION}/ruby" | |
end | |
cookbook_file "#{ENV['HOME']}/.rvm/gemsets/default.gems" do | |
source "default.gems" | |
owner username | |
group user_gid | |
end | |
bash "install default gems" do | |
user username | |
group user_gid | |
code " #{rvm_init} && rvm gemset load ~/.rvm/gemsets/default.gems" | |
end | |
# template "#{ENV['HOME']}/.gemrc" do | |
# source "dot.gemrc.erb" | |
# end | |
# template "#{ENV['HOME']}/.rdebugrc" do | |
# source "dot.rdebugrc.erb" | |
# end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment