On 2/23/2009 9:40 AM, Michael L. Artz wrote:

>   - distributing an RPM to a series of clients (namely RabbitMQ) and
> installing the package?  I realize that I can do it naively by pulling
> the file from the puppetmaster and then using the package resource to
> install it via RPM, but I was wondering if there was a better way to
> do this.

Make a regular http- or ftp-accessible repository (instead of using the 
puppetmaster's file distribution facility), and use one of the 
higher-level rpm-based package providers with the puppet package type 
(yum, aptrpm, etc.). You might also be able to do this just with rpm and 
a repository (I'm Redhat-illiterate). But the important thing would be 
to ensure you can check if a package is already installed before you 
attempt another rpm installation. Even if you had to fall back to an

   exec { "install-rabbit":
     command => "rpm -Uvh http://path/to/rabbit.rpm";
   }

you could make that idempotent with an unless parameter:

   exec { "install-rabbit":
     command => "rpm -Uvh http://path/to/rabbit.rpm";,
     unless  => "rpm -qsomethingsomething rabbit | grep -q installed"
   }

>   - distributing and compiling a tarball?  Its a pretty standard
> autoconf/automake tarball (i.e. './configure --prefix=/usr; make; make
> install') ... is there a "standard" way to do this with puppet.  I'm
> also using a source-built Ruby and RubyGems, which would be nice to
> manage with puppet.

I use GNU stow and a stowedpackage definition: 
http://blogs.cae.tntech.edu/mwr/2008/02/01/the-autostow-is-dead-long-live-stowedpackage/
 
-- this wouldn't exactly work for things you insist on building per 
node, but could be modified. It'd be very similar to what Jeremy pointed 
to in the other reply.

-- 
Mike Renfro  / R&D Engineer, Center for Manufacturing Research,
931 372-3601 / Tennessee Technological University

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to