crafterm / sprinkle

Sprinkle is a software provisioning tool you can use to build remote servers with. eg. to install a Rails, or Sinatra stack on a brand new slice directly after its been created

This URL has Read+Write access

sprinkle / lib / sprinkle / installers / rpm.rb
100644 38 lines (33 sloc) 0.84 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
module Sprinkle
  module Installers
    # = RPM Package Installer
    #
    # The RPM package installer installs RPM packages.
    #
    # == Example Usage
    #
    # Installing the magic_beans RPM. Its all the craze these days.
    #
    # package :magic_beans do
    # rpm 'magic_beans'
    # end
    #
    # You may also specify multiple rpms as an array:
    #
    # package :magic_beans do
    # rpm %w(magic_beans magic_sauce)
    # end
    class Rpm < Installer
      attr_accessor :packages #:nodoc:
 
      def initialize(parent, packages, &block) #:nodoc:
        super parent, &block
        packages = [packages] unless packages.is_a? Array
        @packages = packages
      end
 
      protected
 
        def install_commands #:nodoc:
          "rpm -Uvh #{@packages.join(' ')}"
        end
 
    end
  end
end