I do, I was confused as to whether that was puppet talk or debian/ubuntu related.
On Sun, Jul 17, 2011 at 3:07 PM, Scott Smith <sc...@ohlol.net> wrote: > You don't know what a package is? > On Jul 17, 2011 12:05 PM, "S Ahmed" <sahmed1...@gmail.com> wrote: > > wow, what can I say, thanks for guidance! > > > > The last bit of what you said I don't understand: > > > > "But, the biggest improvement would be to make your own package and > install > > that > > instead of fiddling around with this low level stuff in the manifests." > > > > > > > > On Sun, Jul 17, 2011 at 2:33 PM, vagn scott <vagnsc...@gmail.com> wrote: > > > >> On 07/17/2011 12:45 PM, S Ahmed wrote: > >> > >>> So I ran through a server setup on ec2, and have a text file of all the > >>> commands I used to get the server to where I wanted it. > >>> > >> > >> step 1: turn your list of commands into an idempotent script > >> > >> #! /bin/sh > >> > >> site=http://**rubyenterpriseedition.**googlecode.com/files< > http://rubyenterpriseedition.googlecode.com/files> > > >> name=ruby-enterprise-1.8.7-**2011.03 > >> archive=$name.tar.gz > >> prepath="/opt/ruby/bin" > >> downloads=/root/downloads > >> wanted=" > >> mysql-server > >> libmysqlclient15-dev > >> libreadline5-dev > >> libssl-dev > >> " > >> > >> apt-get install $wanted > >> > >> mkdir -p $downloads > >> > >> [ ! -d $downloads/$archive ] && cd $downloads && wget $site/$archive > >> [ ! -d $downloads/$name ] && cd $downloads && tar xzf $archive > >> > >> [ ! -f /opt/ruby/bin/ruby ] && ./$name/installer --auto /opt/ruby/ > >> grep -q "$prepath" ~/.profile || echo "export PATH=$prepath:$PATH" >> > >> ~/.profile > >> > >> exit 0 > >> > >> > >> step 2: puppetize it > >> > >> class ruby_from_src { > >> $site ="http://**rubyenterpriseedition.** > >> googlecode.com/files <http://rubyenterpriseedition.googlecode.com/files > >" > > >> $name ="ruby-enterprise-1.8.7-2011.**03" > >> $archive ="${name}.tar.gz" > >> $prepath ="/opt/ruby/bin" > >> $downloads ="/root/downloads" > >> > >> $wanted = [ > >> "mysql-server", > >> "libmysqlclient15-dev", > >> "libreadline5-dev", > >> "libssl-dev", > >> ] > >> > >> package { $wanted: > >> ensure => installed, > >> } -> > >> > >> file { $downloads: > >> ensure => directory, > >> } -> > >> > >> exec { "ruby from source download": > >> command => "wget ${site}/${archive}", > >> cwd => $downoads, > >> creates => "${dir}/${archive}", > >> } -> > >> > >> exec { "ruby from source extract": > >> command => "tar xzf ${archive}", > >> cwd => $downloads, > >> creates => "${name}", > >> } -> > >> > >> exec { "ruby from source install": > >> command => "./${name}/installer --auto /opt/ruby/", > >> cwd => $downloads, > >> creates => "/opt/ruby/bin/ruby", > >> } > >> > >> file { "ruby from source PATH": > >> path => "/etc/profile.d/puppet_ruby_**from_src.sh", > >> content => "PATH=${prepath}:\$PATH", > >> mode => 644, > >> } > >> > >> } > >> > >> step 3: run it and fix the bugs :-) > >> > >> I have not tested it, so there might be bugs. But that's the general > idea. > >> There's room for improvement though: > >> > >> - parameterise the class so you can pass in the version, site, etc > >> - move some of the dependencies to other classes > >> mysql stuff belongs in a mysql_dev class > >> libssl-dev probably belongs in a network_dev class > >> *_dev classes should include a build_tools class > >> > >> But, the biggest improvement would be to make your own package and > install > >> that > >> instead of fiddling around with this low level stuff in the manifests. > >> > >> -- > >> vagn > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "Puppet Users" group. > >> To post to this group, send email to puppet-users@googlegroups.com. > >> To unsubscribe from this group, send email to puppet-users+unsubscribe@ > ** > >> googlegroups.com <puppet-users%2bunsubscr...@googlegroups.com>. > > >> For more options, visit this group at http://groups.google.com/** > >> group/puppet-users?hl=en< > http://groups.google.com/group/puppet-users?hl=en> > > >> . > >> > >> > > > > -- > > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > > To post to this group, send email to puppet-users@googlegroups.com. > > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.