summaryrefslogtreecommitdiffstats
path: root/documentation/fromsvn.page
blob: e7f9fbd8ad6b7c0e3bce9de86dcd244d52451674 (plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
---
inMenu: true
title: Using Source
---
Puppet is currently implemented in Ruby and uses standard Ruby libraries. You
should be able to run Puppet on any Unix-style host with Ruby.  Windows
support is planned but not currently available.

## Before you Begin

Make sure your host has Ruby version 1.8.2:

  $ ruby -v

While Puppet should work with 1.8.1, there have been many reports of problems
with this version.

Make sure you have Subverion:

    $ svn --version -q

## Get the Source

Puppet currently relies on another Reductive Labs tool, Facter. Create a working
directory and get them both:

    $ SETUP_DIR=~/svn
    $ mkdir -p $SETUP_DIR
    $ cd $SETUP_DIR
    $ svn checkout https://reductivelabs.com/svn/facter/trunk facter
    $ svn checkout https://reductivelabs.com/svn/puppet/trunk puppet


# Make it Available

Last, we need to put the puppet binaries into our path and make the Puppet and
Facter libraries available to Ruby:

    $ PATH=$PATH:$SETUP_DIR/facter/bin:$SETUP_DIR/puppet/trunk/bin
    $ RUBYLIB=$SETUP_DIR/facter/lib:$SETUP_DIR/puppet/trunk/lib
    $ export PATH RUBYLIB

Facter changes far less often than Puppet and it is very minimal (a single
library file and a single executable), so it is probably worth just installing
it:

    $ cd facter
    $ sudo ruby ./install.rb

## Test That It Works

Now you can test that it is working.  The best way to do that is described in
the [testing](testing.html) guide, and involves writing a short site manifest.  Another
option is to run through all of the unit tests that ship with Puppet:

    $ cd $SETUP_DIR/puppet/test
    $ ./test

This tends to take a long time, however, and is probably only useful if you
already know there's a problem and want to report a bug or if you are planning
on doing development.  It is worth noting that some of these tests necessarily
modify your system, so unless you know what you are doing, **it is unadvisable
to run them as root**, and certainly not on a production system.