summaryrefslogtreecommitdiffstats
path: root/encap/INSTALL
blob: 500b262bb07037753b8a58d719534e03d275f6be (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
107
108
109
110
[[TracNav]]

EncapPackages | EncapReadme | EncapPlatforms | '''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)
   * Binaries are at http://mirror.opensysadmin.com/epkg-binaries/ 
     (Note: All other binary versions link against libtar-1.2.11 or earlier. 
     Versions of libtar before 1.2.12 have a nasty bug where 100 character 
     path names are truncated to 99 characters. To see what version of libtar
     your epkg binary is linked against, use `epkg -V`.)
   * If built from source, first need all recommended libraries from web page
     * To ease building from source, read `epkg/README` and use `epkg/Makefile`
 * On AIX 4.3.3, you will need GNU binutils from:
   ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/GNUPro/binutils-2.9.aix51.020209-4.aix4.3.ppc.rpm

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/
 * IBM AIX Toolbox at ftp://ftp.software.ibm.com/aix/freeSoftware

 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.

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