Changes between Initial Version and Version 1 of EncapHowto

06/28/06 12:31:21 (16 years ago)



  • EncapHowto

    v1 v1  
     1= Encap based bootstrap for bcfg2 and complete bcfg2 client toolchain = 
     3The bcfg2-encap-bootstrap package is a method for getting bcfg2 (as a  
     4client), including all dependencies, up and running on a new platform as 
     5quickly as possible. 
     7It is available from: 
     8 * 
     10Using the encap package manager it automatically downloads, builds and 
     11creates encap packages for bcfg2 and dependencies to `/usr/local/encap`, and 
     12installs symbolic links to these packages from `/usr/local` (the usual encap 
     15It attempts to be as self contained as possible; everything gets linked to 
     16under `/usr/local/lib/bcfg2`, except for bcfg2 itself and some dependent 
     17software, which is prefixed by `b2` (`b2openssl`, `b2python` etc.).   
     19Note that to run the bcfg2 server, you also need to install gamin, which 
     20supports a subset of the platforms bcfg2 client will work on, including 
     21GNU/Linux and FreeBSD. 
     23== Building and installing everything == 
     24 1. Make sure all of the Prerequisites (see below) are installed. 
     25 1. The build user needs write access to the encap source and build  
     26    directories. By default, these are `/usr/local/encap` and  
     27    `/usr/local/src`. If you like to live dangerously, you can also just do  
     28    the builds as `root`. 
     29 1. Run `make`. This will kick off and background the entire build process.  
     30    Make output will be redirected to `make.log`, and package build output  
     31    will go to individual log files. 
     32 1. If everything goes well, try running "`bcfg2-repo-validate`". This should  
     33    not generate a python traceback :-) 
     34 1. You now have *-encap-*.tar.gz encap packages you can distribute to other  
     35    machines. If you don't like the OS name encap uses automatically (esp.  
     36    on GNU/Linux these can be too generic), do `make rename OS=somestring`. 
     38== Prerequisites == 
     39 * GNU gcc and GNU g++ 
     40 * GNU make (make sure "gmake" links to GNU make on non-GNU platforms) 
     41 * epkg from 
     42   * If built from source, first need all recommended libraries from web page 
     44You will need binaries of the GNU tools. For GNU and BSD based operating  
     45systems, you should be able to get these via the operating system's package  
     46system. For commercial operating systems, these can be obtained from: 
     48 AIX:: 
     49 * UCLA's Public Domain Software Library for AIX at  
     51   (These are trivial to convert into encap packages) 
     52 * Bull AIX Freeware at 
     54 Solaris:: 
     55 * Freeware for Solaris at 
     56 * Community Software for Solaris at 
     58== Supported Platforms ==  
     59Below is a table of platforms that have been successfully bootstrapped using 
     60this code. 
     62|| OS        || Vendor || Version || Arch  || GCC   || By || 
     63|| AIX       || IBM    || 5.3     || POWER || 4.1.0 || dc || 
     64|| GNU/Linux || Debian || Sarge   || i386  || 3.3.5 || dc || 
     65|| GNU/Linux || Debian || Sid     || i386  || 4.1.2 || dc || 
     67dc: "Daniel Clark" <mailto:[email protected]> 
     69If you bootstrap a platform not listed above, please send email to Daniel 
     70Clark <mailto:[email protected]> so that platform can be added to the 
     71list. If you modified any of the files in this package to be able to  
     72bootstrap the new platform, please include either diffs or a tarball of your 
     73modified version so your changes can be incorporated into a new release. Any 
     74other notes, such as where you got the GNU binaries or any issues people 
     75should be aware of, would be appreciated.  
     77You may want to scan all of the bootstrapped binaries and libraries with 
     78`ldd` (or equivalent) to make sure there are no dependencies on libraries 
     79other than those included with the base operating system and the libraries 
     80built as part of the bootstrap process.  
     82On non-GNU operating systems, libgcc and libstdc++ are a run-time 
     83requirement. These libraries are usually distributed with gcc/g++, so the 
     84bootstrap system attempts to create encap packages containing those 
     85libraries by copying them from the build machine. To test that this worked, 
     86you'll want to either temporarily remove gcc/g++ from the build machine and 
     87make sure everything still works, or install the bcfg2-*.tar.gz encap 
     88packages on a "clean" machine (without a gcc/g++ install) and test on that  
     91Note that the doc for the encap profile format is in "man 5 encap_profile". 
     93== Release Notes == 
     94 0.1:: 
     95 * Initial Released Version 
     96 * Work needs to be done to minimize size of distribution. In 0.1 
     97   libraries and binaries are not stripped, and there is a lot of 
     98   pruning that can be done of individual packages. 
     100== Documentation Version == 
     101$Id: README 151 2006-06-28 11:37:41Z dcca2302 $