From c277534c30bb66d1902eca645b570e9cb81632df Mon Sep 17 00:00:00 2001 From: John Bintz Date: Thu, 3 May 2012 09:30:32 -0400 Subject: [PATCH] uh on --- .../capistrano/vagrant.rb | 25 +++++++++++++++++++ .../additional-modules/ruby/manifests/init.pp | 5 ++-- skel/redhat/bootstrap.erb | 19 +++++++++++--- 3 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 lib/puppet-standalone-mashup/capistrano/vagrant.rb diff --git a/lib/puppet-standalone-mashup/capistrano/vagrant.rb b/lib/puppet-standalone-mashup/capistrano/vagrant.rb new file mode 100644 index 0000000..22cf6fd --- /dev/null +++ b/lib/puppet-standalone-mashup/capistrano/vagrant.rb @@ -0,0 +1,25 @@ +Capistrano::Configuration.instance.load do + server '127.0.0.1:2222', :vagrant + + ssh_options[:port] = 2222 + + set(:user) { 'vagrant' } + set(:password) { 'vagrant' } + + task :ensure_puppet do + require 'socket' + + begin + p = TCPSocket.new('localhost', 2222) + p.close + rescue Errno::ECONNREFUSED + system %{vagrant up} + p = TCPSocket.new('localhost', 2222) + p.close + end + end + + before 'apply', 'ensure_puppet' + before 'bootstrap', 'ensure_puppet' +end + diff --git a/shared/additional-modules/ruby/manifests/init.pp b/shared/additional-modules/ruby/manifests/init.pp index 5128041..81bb271 100644 --- a/shared/additional-modules/ruby/manifests/init.pp +++ b/shared/additional-modules/ruby/manifests/init.pp @@ -1,11 +1,12 @@ -class ruby($version) { +class ruby($version, $configure = "--disable-install-doc", $build_path = '') { $path = bin_path($name) $with_ruby_path = "${path}:${base::path}" build_and_install { $name: version => $version, source => "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-<%= version %>.tar.gz", - configure => "--disable-install-doc" + configure => $configure, + path => "${base::path}:${path}:${build_path}" } gem { [ 'bundler', 'penchant' ]: diff --git a/skel/redhat/bootstrap.erb b/skel/redhat/bootstrap.erb index 154a1c9..07574a5 100644 --- a/skel/redhat/bootstrap.erb +++ b/skel/redhat/bootstrap.erb @@ -8,7 +8,20 @@ if [ ! -f ${base_dir}/ruby-base/bin/ruby ]; then mkdir -p ${base_dir}/tmp cd ${base_dir}/tmp - RUBY=ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.9.2-p290.tar.bz2 + opt_dir=${base_dir}/tmp/ruby-opt + + rm -Rf yaml-0.1.4* + curl -O http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz + tar zxvf yaml-0.1.4.tar.gz + mv yaml-0.1.4 yaml-0.1.4-base + cd yaml-0.1.4-base + ./configure --prefix=${opt_dir} + make + make install + + cd .. + + RUBY=ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.9.3-p194.tar.bz2 RUBY_FILENAME=${RUBY##*/} RUBY_VERSION=${RUBY_FILENAME%%.tar.bz2} curl $RUBY > $RUBY_FILENAME @@ -18,7 +31,7 @@ if [ ! -f ${base_dir}/ruby-base/bin/ruby ]; then cd "$RUBY_VERSION-base" - ./configure --prefix=${base_dir}/ruby-base --disable-pthread + ./configure --prefix=${base_dir}/ruby-base --with-opt-dir=${opt_dir} --disable-pthread --disable-install-doc make make install @@ -32,7 +45,7 @@ PATH=${base_dir}/ruby-base/bin:$PATH if [ ! -f ${base_dir}/ruby-base/bin/puppet ]; then echo "Installing Puppet..." - gem install puppet + gem install puppet --no-ri --no-rdoc fi mkdir -p ~/.puppet