From a83d2ea035989cc004d5d6afbb1919ce33cefe3d Mon Sep 17 00:00:00 2001 From: Daniel Joseph Barnhart Clark Date: Thu, 5 Oct 2006 19:28:37 +0000 Subject: EncapPackages: README update (a) no longer refer to need for libgcc/libstdc++ at runtime, since that has been removed; (b) add new boostrapped platforms git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2388 ce84e21b-d406-0410-9b95-82705330c041 --- encap/README | 84 +++++++++++++++++++++++++++++------------------------------- 1 file changed, 41 insertions(+), 43 deletions(-) (limited to 'encap') diff --git a/encap/README b/encap/README index 1f4de89ec..895085b0e 100644 --- a/encap/README +++ b/encap/README @@ -15,11 +15,11 @@ that does a complete client install, which includes: * 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 + * 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) @@ -35,11 +35,11 @@ You can obtain the latest version of the code from bcfg2 svn: 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). +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.). +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 @@ -52,15 +52,15 @@ templating functionality. * `/usr/local/etc/bcfg2.conf` is used instead of `/etc/bcfg2.conf` == Environment variables and Sentinel files == -Before the initial make/gmake and before the client install, you can set some +Before the initial make/gmake and before the client install, you can set some environment variables to control some behaviors: - * `DEST=""` - Set where the final build output goes. Default is + * `DEST=""` - Set where the final build output goes. Default is `./DIST` - * `REPLACE_CONFIG="yes"` - Unconditionally replace local configuration files - for bcfg2 and ostiary with those included in the distribution. The old + * `REPLACE_CONFIG="yes"` - Unconditionally replace local configuration files + for bcfg2 and ostiary with those included in the distribution. The old files are saved to -. - * `LOC_BCFG2_PASSWD=""` , `LOC_OST_PASSWD=""` - Set the - bcfg2 server and ostiaryd daemon passwords, to avoid being interactively + * `LOC_BCFG2_PASSWD=""` , `LOC_OST_PASSWD=""` - Set the + bcfg2 server and ostiaryd daemon passwords, to avoid being interactively prompted for them. There are also some "sentinel files" (zero byte files that only indicate @@ -69,13 +69,13 @@ mostly useful so that installs don't clobber local changes / changes made by bcfg2. Sentinel file names: - * `.SENTINEL_SITE` - Indicates that the bcfg2 client has been previously + * `.SENTINEL_SITE` - Indicates that the bcfg2 client has been previously installed. * `.SENTINEL_BCFG2` - Indicates that the files have been modified by bcfg2 itself. (If you change any of the config files mentioned below via bcfg2, - you'll want to put this sentinel file in the appropriate directory with + you'll want to put this sentinel file in the appropriate directory with bcfg2 as well). - + If either of these files exist, the install will not overwrite the existing config files unless `REPLACE_CONFIG="yes"` is set. @@ -88,20 +88,20 @@ Directory with sentinel file(s) Covered config files /usr/local/sbin ost-bcfg2.sh }}} -== About daemontools integration == +== About daemontools integration == In order to avoid a lot of platform/distribution-specific code, the encap bcfg2 distribution includes and uses [http://cr.yp.to/daemontools.html -daemontools] (with some common patches) instead of init scripts and cron. +daemontools] (with some common patches) instead of init scripts and cron. The bcfg2 client (.run) distribution uses daemontools to run ostiary, and to -run the bcfg2 client periodically. +run the bcfg2 client periodically. On the server, edit `/usr/local/etc/default/bcfg2-server/env/OPTIONS` to include the options you want to start up the bcfg2 server with, and then do -{{{ -ln -s /usr/local/var/svc.d/bcfg2-server /service/ +{{{ +ln -s /usr/local/var/svc.d/bcfg2-server /service/ }}} -to enable the service. +to enable the service. You can use `/command/svstat /service/bcfg2-server` to see the status, and `/command/svrm /service/bcfg2-server` to remove it. @@ -118,7 +118,7 @@ arguments based on a password hash it receives. The following actions are available via ostiary; you can add more by editing `/usr/local/etc/ostiary.cfg`. The is a value you set during -compile-time or (preferably) .run file install time. +compile-time or (preferably) .run file install time. * `-bcfg2-dvqn` : Run `bcfg2-client -d -v -q -n` * `-bcfg2-dvn` : Run `bcfg2-client -d -v -n` * `-bcfg2-dvq` : Run `bcfg2-client -d -v -q` @@ -126,7 +126,7 @@ compile-time or (preferably) .run file install time. * `-bcfg2-vq` : Run `bcfg2-client -v -q` * `-bcfg2-v` : Run `bcfg2-client -v` * `-bcfg2-restart` : Restart the bcfg2-client daemontools service - + There are plans for the future for a bcfg2 plugin that will set per-machine passwords after the initial install, however as with cfengine the worst that someone can do if they find your password is to bring your host into a @@ -144,48 +144,46 @@ integrated into the same string). Logs of bcfg2-client runs kicked off via ostiary are in `/usr/local/var/multilog/bcfg2-client-ostiary` -== Supported Platforms == +== Supported Platforms == Below is a table of platforms that have been successfully bootstrapped using this code. -|| OS || Vendor || Version || Arch || GCC || By || Bcfg2 || -|| AIX || IBM || 5.3 || POWER || 4.1.0 || dc || 0.8.3 || -|| GNU/Linux || Debian || Sarge || i386 || 3.3.5 || dc || 0.8.3 || -|| GNU/Linux || Debian || Sid || i386 || 4.1.2 || dc || 0.8.3 || -|| GNU/Linux || Ubuntu || Dapper || i386 || 4.0.3 || dc || 0.8.3 || -|| Solaris || Sun || 10 || i386 || 3.4.3 || dc || 0.8.3 || -|| Solaris || Sun || 10 || Sparc || 3.4.3 || dc || 0.8.3 || +|| OS || Vendor || Version || Arch || GCC || By || Bcfg2 || +|| AIX || IBM || 4.3.1 || POWER || 2.95.3 || dc || 0.8.5 || +|| AIX || IBM || 4.3.3 || POWER || 3.3.0 || dc || 0.8.5 || +|| AIX || IBM || 5.2 || POWER || 3.3.2 || dc || 0.8.5 || +|| AIX || IBM || 5.3 || POWER || 4.1.1 || dc || 0.8.5 || +|| GNU/Linux || Debian || Sarge || i386 || 3.3.5 || dc || 0.8.5 || +|| GNU/Linux || Debian || Sid || i386 || 4.1.2 || dc || 0.8.5 || +|| GNU/Linux || Redhat || 6.0 || i386 || 2.91.66 || dc || 0.8.5 || +|| GNU/Linux || Redhat || 7.2 || i386 || 2.96 || dc || 0.8.5 || +|| GNU/Linux || SuSE || SLES8 || i386 || 3.2.2 || dc || 0.8.5 || +|| GNU/Linux || SuSE || SLES10 || i386 || 4.1.0 || dc || 0.8.5 || +|| GNU/Linux || Ubuntu || Dapper || i386 || 4.0.3 || dc || 0.8.5 || +|| Solaris || Sun || 10 || i386 || 3.4.3 || dc || 0.8.5 || +|| Solaris || Sun || 10 || Sparc || 3.4.3 || dc || 0.8.5 || dc: "Daniel Clark" 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. +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. +release. Any other notes, such as where you got the GNU binaries or any issues people -should be aware of, would also be appreciated. +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 client on a "clean" -machine (without a gcc/g++ install) and test on that machine. +built as part of the bootstrap process. == Encap profile (.ep) documentation == -Note that the doc for the encap profile format is in +Note that the doc for the encap profile format is in [wiki:EncapManEncapProfile `man 5 encap_profile`]. == Next steps == -- cgit v1.2.3-1-g7c22