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