Mention cron sanitizes PATH
[buildfarm-client-wiki.git] / Installation.md
index 60b8bf49ad2e8fff0388ffafa2cd4a345a468645..d0c313d347c6dbd0f0143c6f7c5df4c33d996f39 100644 (file)
@@ -1,5 +1,5 @@
 # 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 Experimental their [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.
+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.
 
 This Installation page works on the assumption that you have already submitted your [Exim BuildFarm Application](http://eximbuild.mrball.net/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 still work.  If you ever run it without --test, it will still work, but the server will reject the feedback because it's from an unknown _animal_.
 
@@ -31,6 +31,11 @@ This will create the repo checkout in the directory *~/code/*.
 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 --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.
+19. I found that running the *run_cron.sh* had a problem in that cron provides a sanitized path to the script when it gets run.  I made a second wrapper script to call the first one so I could put path elements in that were needed:
+    $ more /home/farm/bin/build_farm.sh 
+    #!/bin/bash
+    export PATH="/usr/local/bin:/sbin:/usr/sbin:$PATH"
+    $HOME/code/run_cron.sh --run-all $@
 
 ## Multiple build clients on one machine
 As mentioned above, you can start at step 9.  A second application must be filled out to put the appropriate data in the database because this is treated a separate BuildFarm client:
@@ -44,3 +49,4 @@ As mentioned above, you can start at step 9.  A second application must be fille
 ## Further documentation
 * Details of options in [build-farm.conf](https://github.com/mrballcb/exim-build-farm-client/wiki/BuildConfigConf)
 * Details of [potential testing commandlines](https://github.com/mrballcb/exim-build-farm-client/wiki/TestingBuilds)
+* Details of [building documentation](https://github.com/mrballcb/exim-build-farm-client/wiki/BuildingDocs)