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.

Reply via email to