summaryrefslogtreecommitdiffstats
path: root/encap/INSTALL
blob: 685b685568364f2f7a935919768620bb4898d65d (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
EncapPackages | EncapReadme | '''EncapInstall''' | EncapHowto

----

= EncapInstall: bcfg2/encap installation instructions =

== Prerequisites ==
 * Read the [wiki:EncapReadme README]
 * GNU gcc and GNU g++
   * If you are using the gcc distributed with Solaris/x86 10, you need to 
     install the gcc bug fix at http://www.openssl.org/~appro/values.c by 
     running "`ksh -f values.c`" as root (or openssl will segfault)
 * GNU make (make sure "gmake" links to GNU make on non-GNU platforms)
 * epkg (the encap package manager)
   * Canonical website is http://www.encap.org/epkg
   * Mirror of epkg binaries is available at http://www.dclark.us/mirror/
   * If built from source, first need all recommended libraries from web page
     * To ease building from source, read `epkg/README` and use `epkg/Makefile`

You will need binaries of the GNU tools. For GNU and BSD based operating 
systems, you should be able to get these via the operating system's package 
system. For commercial operating systems, these can be obtained from:

 AIX::
 * UCLA's Public Domain Software Library for AIX at 
   http://aixpdslib.seas.ucla.edu/aixpdslib.html 
   (These are trivial to convert into encap packages)
 * Bull AIX Freeware at http://www.bullfreeware.com/

 Solaris::
 * Freeware for Solaris at http://www.sunfreeware.com/
 * Community Software for Solaris at http://www.blastwave.org/packages.php

== Advanced Packaging Tool (APT) support == 

On platforms that use APT, such as Debian and Ubuntu, "bcfg2-python-apt" must
be built. Unfortunately the version required is dependent on the version of the
distribution. 

To see if your distribution is supported, do:
{{{
cat /etc/issue
grep DISTRO src/encap-profiles/Makefile \
    | awk -F, '{print $2}' | sort | sed s:\)$::g
}}}
If any of the lines from `src/encap-profiles/Makefile` match your `/etc/issue`,
you're good to go; if not, open a ticket at http://www.bcfg2.org/newticket with 
the contents of your `/etc/issue` requesting that it be supported, and support
should be added within a few days (or of course patches are gratefully 
accepted).

When building "bcfg2-python-apt", there are some additional prerequisites:
 * `/usr/lib/libapt-pkg*` (Part of the "apt" package on Debian)
 * `/usr/lib/libapt-inst*` (Part of the "apt-utils" package on Debian)
 * The "`libapt-pkg-dev`" package 
So you probably want to do something like:
{{{
apt-get install apt apt-utils libapt-pkg-dev
}}}

== Building and installing everything ==
Note that the build is disruptive to the currently installed bcfg2 packages
(whatever you have installed is uninstalled and then replaced with the
newly-built packages), although no configuration files will be replaced
unless you ask them to be (via "`REPLACE_CONFIG="yes"; export REPLACE_CONFIG`").

 1. Make sure all of the prerequisites (see above) are installed.
 1. The build/install must be done as "`root`".
 1. Change to the src directory (`cd src`)
 1. Copy your `site-settings.conf` file to `bcfg2-site/`; if you don't have
    one already, copy over `bcfg2-site/site-settings.conf-example` and change
    it to suit your site.
 1. Run `make` (GNU/Linux platforms) or `gmake` (all other platforms). This 
    will kick off and background the entire build process. Make output will be
    redirected to `make.log`, and package build output will go to individual
    log files. If the entire build is successful, you will see: 
    {{{
    ### encap build finished...
    }}}
    followed by the locations of the various packages at the end of make.log

Packages that you can install on other machines will be in the "`DIST`" 
directory. In most cases you will only need the self-extracting/installing
package with the name like "`bcfg2-*.run`"; that will install the bcfg2 client.
You will need to install this even on your build machine(s) and server(s), so 
the setup script will run.

You can install the doc packages if you want, although it probably makes more
sense to let bcfg2 install them on machines you want to have them on after you
get stuff up and running.

On GNU/Linux platforms, glib and gamin will also be built; these only have to
be installed only on the bcfg2 server machine.

Cheetah will be built on all platforms (as it is needed as a build-time 
prerequisite), however for run-time it only needs to be installed on the bcfg2
server machine.

== Next step ==
For more information on the "`bcfg2-*.run`" file and what to do next, see the
[wiki:EncapHowto HOWTO].

== Documentation Version ==
 * This is a copy of: $Id$
 * Most recent version: http://www.bcfg2.org/browser/trunk/bcfg2/encap/INSTALL