Mention cron sanitizes PATH
authorTodd Lyons <tlyons@ivenue.com>
Tue, 29 Oct 2013 20:53:27 +0000 (13:53 -0700)
committerTodd Lyons <tlyons@ivenue.com>
Tue, 29 Oct 2013 20:53:27 +0000 (13:53 -0700)
Installation.md

index 22f1ce60725ee1d734fc93aa9686ebc9f62e9508..d0c313d347c6dbd0f0143c6f7c5df4c33d996f39 100644 (file)
@@ -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.
 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:
 
 ## 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: