<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -30,6 +30,8 @@ namespace :moonshine do
   dependencies. Called by deploy:setup.
   DESC
   task :bootstrap do
+    ruby.install
+    vcs.install
     begin
       config = YAML.load_file(File.join(Dir.pwd, 'config', 'moonshine.yml'))
       put(YAML.dump(config),&quot;/tmp/moonshine.yml&quot;)
@@ -39,10 +41,6 @@ namespace :moonshine do
       exit(0)
     end
     put(File.read(File.join(File.dirname(__FILE__), '..', 'lib', 'moonshine_setup_manifest.rb')),&quot;/tmp/moonshine_setup_manifest.rb&quot;)
-    put(File.read(File.join(File.dirname(__FILE__), &quot;bootstrap.#{fetch(:ruby, 'ree')}.sh&quot;)),&quot;/tmp/bootstrap.sh&quot;)
-    sudo 'chmod a+x /tmp/bootstrap.sh'
-    sudo &quot;FORCE_RUBY=#{fetch(:force_ruby,'false')} /tmp/bootstrap.sh&quot;
-    sudo 'rm /tmp/bootstrap.sh'
     sudo &quot;shadow_puppet /tmp/moonshine_setup_manifest.rb&quot;
     sudo 'rm /tmp/moonshine_setup_manifest.rb'
     sudo 'rm /tmp/moonshine.yml'
@@ -192,17 +190,97 @@ namespace :deploy do
   DESC
   task :setup, :except =&gt; { :no_release =&gt; true } do
     moonshine.bootstrap
-    vcs.install
   end
 end
 
 namespace :ruby do
+
   desc &quot;Forces a reinstall of Ruby and restarts Apache/Passenger&quot;
   task :upgrade do
-    set :force_ruby, 'true'
-    moonshine.bootstrap
+    install
     apache.restart
   end
+
+  desc &quot;Install Ruby + Rubygems&quot;
+  task :install do
+    install_deps
+    send fetch(:ruby, 'ree').intern
+    install_rubygems
+    install_moonshine_deps
+  end
+
+  task :mri do
+    apt
+  end
+
+  task :apt do
+    sudo &quot;apt-get install -q -y ruby-full&quot;
+  end
+
+  task :remove_ruby_from_apt do
+    sudo &quot;apt-get remove -q -y ^.*ruby.* || true&quot;
+    #TODO apt-pinning to ensure ruby is never installed via apt
+  end
+
+  task :ree do
+    remove_ruby_from_apt
+    run [
+      'cd /tmp',
+      'rm -rf ruby-enterprise-1.8.6-20090610* || true',
+      'wget -q http://assets.railsmachine.com/other/ruby-enterprise-1.8.6-20090610.tar.gz',
+      'tar xzf ruby-enterprise-1.8.6-20090610.tar.gz',
+      'sudo /tmp/ruby-enterprise-1.8.6-20090610/installer --dont-install-useful-gems -a /usr'
+    ].join(&quot; &amp;&amp; &quot;)
+  end
+
+  task :ree187 do
+    remove_ruby_from_apt
+    run [
+      'cd /tmp',
+      'rm -rf ruby-enterprise-1.8.7-2009.10.tar.gz* || true',
+      'wget -q http://rubyforge.org/frs/download.php/66162/ruby-enterprise-1.8.7-2009.10.tar.gz',
+      'tar xzf ruby-enterprise-1.8.7-2009.10.tar.gz',
+      'sudo /tmp/ruby-enterprise-1.8.7-2009.10/installer --dont-install-useful-gems -a /usr'
+    ].join(&quot; &amp;&amp; &quot;)
+  end
+
+  task :src187 do
+    remove_ruby_from_apt
+    run [
+      'cd /tmp',
+      'rm -rf ruby-1.8.7-p174* || true',
+      'wget -q ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.bz2',
+      'tar xjf ruby-1.8.7-p174.tar.bz2',
+      'cd /tmp/ruby-1.8.7-p174',
+      './configure --prefix=/usr',
+      'make',
+      'sudo make install'
+    ].join(&quot; &amp;&amp; &quot;)
+  end
+
+  task :install_rubygems do
+    run [
+      'cd /tmp',
+      'rm -rf rubygems-1.3.5* || true',
+      'wget -q http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz',
+      'tar xfz rubygems-1.3.5.tgz',
+      'cd /tmp/rubygems-1.3.5',
+      'sudo ruby setup.rb',
+      'sudo ln -s /usr/bin/gem1.8 /usr/bin/gem || true',
+      'gem update --system'
+    ].join(&quot; &amp;&amp; &quot;)
+  end
+
+  task :install_deps do
+    sudo &quot;apt-get update&quot;
+    sudo &quot;apt-get install -q -y build-essential zlib1g-dev libssl-dev libreadline5-dev wget&quot;
+  end
+
+  task :install_moonshine_deps do
+    sudo &quot;gem install rake --no-rdoc --no-ri&quot;
+    sudo &quot;gem install puppet -v 0.24.8 --no-rdoc --no-ri&quot;
+    sudo &quot;gem install shadow_puppet --no-rdoc --no-ri&quot;
+  end
 end
 
 namespace :apache do
@@ -220,6 +298,6 @@ namespace :vcs do
       when 'git' then 'git-core'
       else scm.to_s
     end
-    sudo &quot;apt-get -qq -y install #{package}&quot;
+    sudo &quot;apt-get -qq -y install #{package}&quot; unless package == 'none'
   end
 end
\ No newline at end of file</diff>
      <filename>recipes/moonshine_cap.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>recipes/bootstrap.mri.sh</filename>
    </removed>
    <removed>
      <filename>recipes/bootstrap.ree.sh</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>04dfa4997a24b9757213e95d9a03ec9fa5bfc4a9</id>
    </parent>
  </parents>
  <author>
    <name>Jesse Newland</name>
    <email>jnewland@gmail.com</email>
  </author>
  <url>http://github.com/wfarr/moonshine/commit/41eb65a37c3781b2e28d8434f95f1a1165c358b4</url>
  <id>41eb65a37c3781b2e28d8434f95f1a1165c358b4</id>
  <committed-date>2009-10-26T15:51:27-07:00</committed-date>
  <authored-date>2009-09-11T06:18:48-07:00</authored-date>
  <message>re-work ruby install process and add support for ruby 1.8.7</message>
  <tree>a4c0e1c7e47fcce3feb81bebb1f2ccb19e3a5467</tree>
  <committer>
    <name>Jesse Newland</name>
    <email>jnewland@gmail.com</email>
  </committer>
</commit>
