diff options
Diffstat (limited to 'encap/README')
-rw-r--r-- | encap/README | 116 |
1 files changed, 115 insertions, 1 deletions
diff --git a/encap/README b/encap/README index 1d8344a30..5caf3ef53 100644 --- a/encap/README +++ b/encap/README @@ -1 +1,115 @@ -For now, look at the HOWTO += EncapReadme: Encap based bootstrap for bcfg2 and complete bcfg2 toolchain = + +This code is a method for getting bcfg2, including all dependencies, up and +running on many platforms as quickly as possible, from source. + +== What you get == +The end result is a self-extracting/self-installing bcfg2 client distribution +that does a complete client install, which includes: + * the epkg encap package manager + * all software on which bcfg2 depends + * bcfg2 itself + * ostiary to kick off bcfg2 client runs remotely + * daemontools to run bcfg2 client as a periodic service with logging + * all with site-specific configuration parameters, set at build time in a + single unified build-time configuration file, site-settings.conf + * optional install-time entry of bcfg2 and ostiary passwords, interactively + or via environment variables + +As well as: + * encap packages for software on which the bcfg2 server functionality + depends (glib, gamin, and cheetah) + * encaps of optional documentation packages + +== Internet resources == +For a more general overview of what this is, see: + * http://trac.mcs.anl.gov/projects/bcfg2/wiki/EncapPackages + +You can obtain the latest version of the code from bcfg2 svn: + * `svn co https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2/encap` + +== Operation notes == +Using the encap package manager this code automatically downloads, builds and +creates encap packages for bcfg2 and dependencies to `/usr/local/encap`, and +installs symbolic links to these packages from `/usr/local` (the usual encap +thing). + +It attempts to be as self contained as possible; everything gets linked to +under `/usr/local/lib/bcfg2`, except for bcfg2 itself and some dependent +software, which is prefixed by `b2-` (`b2-openssl`, `b2-python` etc.). + +To run the bcfg2 server, you also need to install gamin, which +supports a subset of the platforms bcfg2 client will work on, including +GNU/Linux (but first install glib, on which gamin depends). You also need to +install the cheetah templating system on the bcfg2 server if you wish to use +the bcfg2 templating functionality. + +== Important differances from upstream sources == + * `/usr/local/etc/bcfg2.conf` is used instead of `/etc/bcfg2.conf` + * In general, everything is under `/usr/local` instead of `/` + +== About ostiary integration == +TODO + +== About daemontools integration == +TODO + +== Environment variables == +TODO +Before the initial make/gmake and before the client install, you can set some +environment variables to control some behaviors: + * DEST="" + * FORCE_CONFIG="yes" + * + +== Supported Platforms == +Below is a table of platforms that have been successfully bootstrapped using +this code. + +|| OS || Vendor || Version || Arch || GCC || By || Bcfg2 (+svn) || +|| AIX || IBM || 5.3 || POWER || 4.1.0 || dc || 0.8.2 +r???? || +|| GNU/Linux || Debian || Sarge || i386 || 3.3.5 || dc || 0.8.2 +r???? || +|| GNU/Linux || Debian || Sid || i386 || 4.1.2 || dc || 0.8.2 +r???? || +|| GNU/Linux || Ubuntu || Dapper || i386 || 4.0.3 || dc || 0.8.2 +r???? || +|| Solaris || Sun || 10 || Sparc || 3.4.3 || dc || 0.8.2 +r???? || +|| Solaris || Sun || 10 || i386 || 3.4.3 || dc || 0.8.2 +r???? || + +dc: "Daniel Clark" <mailto:dclark@member.fsf.org> + +If you bootstrap a platform not listed above, please add a comment to: + * http://trac.mcs.anl.gov/projects/bcfg2/ticket/74 +so that platform can be added to the list. + +If you modified any of the files in this package to be able to bootstrap the +new platform, please include either diffs or a tarball of your modified +version in a new ticket so your changes can be incorporated into a new +release. + +Any other notes, such as where you got the GNU binaries or any issues people +should be aware of, would also be appreciated. + +You may want to scan all of the bootstrapped binaries and libraries with +`ldd` (or equivalent) to make sure there are no dependencies on libraries +other than those included with the base operating system and the libraries +built as part of the bootstrap process. + +== libgcc and libstdc++ == +On non-GNU operating systems, libgcc and libstdc++ are a run-time +requirement. These libraries are usually distributed with gcc/g++, so the +bootstrap system attempts to create encap packages containing those +libraries by copying them from the build machine. To test that this worked, +you'll want to either temporarily remove gcc/g++ from the build machine and +make sure everything still works, or install the bcfg2-*.tar.gz encap +packages on a "clean" machine (without a gcc/g++ install) and test on that +machine. + +== Encap profile (.ep) documentation == +Note that the doc for the encap profile format is in +[wiki:EncapManEncapProfile "`man 5 encap_profile`"]. + +== Next steps == + 1. Build and install; see [wiki:EncapInstall INSTALL] + 1. Set up your server and clients; see [wiki:EncapHowto HOWTO] + +== Documentation Version == +$Id$ |