Convert links from http -> https
[buildfarm-client-wiki.git] / Installation.md
index 36e7265517e51c4ddc71b9e7c1c7b4f7b14a761c..9afa241878f3cdbeed932c912eb0f7fc2163ccb0 100644 (file)
@@ -1,16 +1,26 @@
 # Installing Exim BuildFarm Client
 So you want to give back to the Exim project but don't know how?  Being a member of the Exim BuildFarm is one way you can help.  If your distro and version is not on the list that is currently being built, or if your build configuration is drastically different than others with your distro and version, then please consider submitting a request to join the farm.  I would also like to point out that the Debian project has excellent Exim coverage on their Experimental [Build Farm](https://buildd.debian.org/status/package.php?p=exim4&suite=experimental).  We're not discouraging you from joining the Exim BuildFarm if you're Debian or Debian derivative, but merely want to acknowledge the excellent job the Debian project already does with it.
 
-You will need to submit an [Exim BuildFarm Application](http://buildfarm.exim.org/cgi-bin/register-form.pl) and the BuildFarm administration has sent you an email with your machine alias (aka _animal_) and secret password, which you will enter in step 9 below.  If you just want to run the build farm client and never submit the results, you call simply run everything with the --test option and it will go through all defined build/test steps without saving the state anywhere.  In that case, if you accidentally run it without --test, the build process will still work, but the build state will be locally recorded, and when the stated is submitted to the server, it will reject the feedback because it's from an unknown _animal_.
+You will need to submit an [Exim BuildFarm Application](https://buildfarm.exim.org/cgi-bin/register-form.pl) and the BuildFarm administration has sent you an email with your machine alias (aka _animal_) and secret password, which you will enter in step 9 below.  If you just want to run the build farm client and never submit the results, you call simply run everything with the --test option and it will go through all defined build/test steps without saving the state anywhere.  In that case, if you accidentally run it without --test, the build process will still work, but the build state will be locally recorded, and when the stated is submitted to the server, it will reject the feedback because it's from an unknown _animal_.
 
 If you want to run more than one instance of the build farm to test multiple different configurations, such as one with OpenSSL and one with GnuTLS, make a copy of the *build-farm.conf* template for each subsequent animal simply start at step 9.  More details on the extra configuration required to keep it separate from the main build are at the end of this page.
 
 ## Install Steps
 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.
+A set needed for basic build (not including the buildfarm!) of a bulky-configuration Exim on Fedora 27 is:
+git gcc make
+pcre-devel
+libdb-devel libXaw-devel libXt-devel libidn2-devel libidn-devel
+lmdb-devel sqlite-devel hiredis-devel postgresql-devel mysql-devel
+openssl-devel openldap-devel
+perl-ExtUtils-Embed perl-experimental
+redhat-rpm-config
 
 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**, **exim4**, or **Debian-exim**.  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.  You also must assign a geckos name, or some tests will fail.  I suggest "Exim BuildFarm".  An example command that should work for most distributions:
+3. Create a user that will run the Build Farm.  I suggest the user **farm**.
+It can be your normal login, but be warned: you'll be giving it passwordless "sudo" permissions.
+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.  You also must assign a GeCos name, or some tests will fail.  I suggest "Exim BuildFarm".  An example command that should work for most distributions:
 `useradd -m -c 'Exim BuildFarm' farm`
 
 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.)  Here is a sample user/group configuration:
@@ -69,7 +79,7 @@ This will create the repo checkout in the directory *~/code/*.
     $HOME/code/run_cron --run-all $@
     ````
 
-20. The default tests that are run are a limited set, from 1 to 999.  This covers basic Exim functions, but does not exercise a lot of the advanced functions.  Once a few cronjob runs complete successfully, increase the range of tests to run.  Edit the *build-farm.conf* file and change the `range_num_tests => '1 999',` to `range_num_tests => '1 5999',` and it will run more advanced tests.
+20. The default tests that are run are a limited set, from 1 to 999.  This covers basic Exim functions, but does not exercise a lot of the advanced functions.  Once a few cronjob runs complete successfully, increase the range of tests to run.  Edit the *build-farm.conf* file and change the `range_num_tests => '1 2',` to `range_num_tests => '1 5999',` and it will run more advanced tests.
 
 
 ## Multiple build clients on one machine