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

sprinkle / lib / sprinkle / installers / freebsd_pkg.rb
1a6ab271 » David Okeby 2009-01-13 renamed Pkg to FreebsdPkg a... 1 module Sprinkle
2 module Installers
3 # = FreeBSD Package Installer
4 #
5 # The Pkg package installer installs FreeBSD packages.
6 #
7 # == Example Usage
8 #
9 # Installing the magic_beans package.
10 #
11 # package :magic_beans do
12 # freebsd_pkg 'magic_beans'
13 # end
14 #
15 # You may also specify multiple packages as an array:
16 #
17 # package :magic_beans do
18 # freebsd_pkg %w(magic_beans magic_sauce)
19 # end
20 class FreebsdPkg < Installer
21 attr_accessor :packages #:nodoc:
22
23 def initialize(parent, packages, &block) #:nodoc:
24 super parent, &block
25 packages = [packages] unless packages.is_a? Array
26 @packages = packages
27 end
28
29 protected
30
31 def install_commands #:nodoc:
32 "pkg_add -r #{@packages.join(' ')}"
33 end
34
35 end
36 end
37 end