Updated Home (markdown)
[buildfarm-client-wiki.git] / Installation.md
index badd982d5a861307d2d49bb8c1501f9a8a4fe467..f56db411406b93fd5bdceea9dedf657ed37d7fa5 100644 (file)
@@ -5,7 +5,7 @@ So you want to give back to the Exim project but don't know how?  Being a member
 1. Make sure that all required packages for Exim to build successfully are installed. The minimal package requirements are the basic suite of compiler tools and basic libraries.  You will also need to install the ccache package.
 2. Create the master exim user (i.e. the user that Exim changes uid to when it runs in normal operation).  I suggest the user **exim**.  If you already have the Exim package provided by your distro installed, chances are good that you already have a user named **exim** or **exim4**.  That user is fine.  This howto also assumes you use the groupname **exim**.
 3. Create a user that will run the Build Farm.  I suggest the user **farm**.  Due to some assumptions that are made in the test suite, the group name must also be **farm**. It is ok if you make it a secondary group or the primary group.
-4. Add **exim** as a secondary group to the **farm** user.
+4. Add **exim** as a secondary group to the **farm** user.  (You should **NOT** add **farm** as a secondary group to the exim user; this will cause test errors.)
 5. Configure sudo to allow user **farm** to elevate to root without a password.  Run `visudo` and add:
 `farm    ALL=(ALL)       NOPASSWD: ALL`
 6. Change to the **farm** user.
@@ -24,13 +24,9 @@ This will create the repo checkout in the directory *~/code/*.
 14. Test the test suite by running `./run_build.pl --test --verbose=2 --only-steps=configure,make,test --override range_num_tests='1 2'`.  If there are build errors when building the test suite, or runtime errors trying to run the test suite, you may need to install additional packages (you shouldn't though).
 15. If you enabled the documentation building process in the *build-farm.conf*, then you can try to build it with `./run_build.pl --test --verbose=2 --only-steps=configure,build_docs`.  For documentation generation to succeed, it will require extra packages to be installed to support xml, xslt, pdf, and a few other things.
 16. If you can get past each of these steps, then your build farm system meets the minimum requirements.
-17. The official process can be kicked off by running `/home/farm/code/run_cron.sh`.  This will run the default build configuration, keep track of the git repository status, and upload the build results to the server.
+17. The official process can be kicked off by running `/home/farm/code/run_cron.sh --run-all`.  This will run the default build configuration, keep track of the git repository status, and upload the build results to the server.
 18. Once that command runs with no complaints, add it to the **farm** user crontab.  You can run it at whatever frequency you choose, I suggest 1 hour.  If a previous instantiation is still running, the script will detect the lockfile and exit so as not to step on each other.
 
-## Overview
-
-In the default configuration, a full rebuild of Exim will occur every 7 days, and it will also build and run the test suite.  You can choose to also have it also build the docs, but there are several extra package requirements for it to build the documentation.
-
-Review your enabled features in the Makefile and make adjustments to your *build-farm.conf* to enable those features, using either the makefile_set, makefile_add, or makefile_regex.  You may also receive requests from the developers to enable specific features on your build.
-
-The default build configuration will build all branches specified in a text file on the server.  Most of the time this will only be HEAD, but occasionally the developers may have an interest in building some experimental code on a different branch.  The above configuration will do all of it automatically for you.  The *run_cron.sh* will also check the master repo at github and update itself (the Exim Build Farm Client software).
\ No newline at end of file
+## Further documentation
+* Details of options in [build-farm.conf](https://github.com/mrballcb/exim-build-farm-client/wiki/BuildConfigConf)
+* Details of [testing procedures](https://github.com/mrballcb/exim-build-farm-client/wiki/TestingBuilds)