From: Todd Lyons Date: Mon, 14 Jul 2014 17:26:17 +0000 (-0700) Subject: More detail on subdirectory permissions. X-Git-Url: https://git.exim.org/buildfarm-client-wiki.git/commitdiff_plain/12b967c1b5aa2da59825feddf392a9a8c146e548 More detail on subdirectory permissions. --- diff --git a/Installation.md b/Installation.md index c93d9fc..2c04f9a 100644 --- a/Installation.md +++ b/Installation.md @@ -28,7 +28,7 @@ This will create the repo checkout in the directory *~/code/*. `mkdir $HOME/buildfarm` **CAUTION:** Do not ever change anything in the git repo under that is created in *$HOME/buildfarm/HEAD/exim/*. It will cause the build to fail in the Git-Checkout phase. 11. Directory permissions must be lax enough for the **exim** user running the test suite to be able to access the files that user farm has checked out. One recommendation that we know works is to make the **farm** user's home directory be both group and world readable and group and world searchable: -`chmod og+rx $HOME`. Additionally, every subdirectory between */* and *$HOME/buildfarm* should have this permissive access. One thing that these tighter permissions will break, for example, is test 0005, because the sudo'd exim process in the test suite will be unable to read that test config file. +`chmod og+rx $HOME`. Additionally, every subdirectory between */* and *$HOME/buildfarm* should have this permissive access. Some users have reported they must set *$HOME/buildfarm* to 0775 for the test suite to run. What do these open permissions fix? One thing that tighter permissions will break, for example, is test 0005, because the sudo'd exim process in the test suite will be unable to read that test config file. 12. Make sure that your umask is 0022: `umask 0022`. This also will need to be set in any script you call the run_build.pl script. 13. Test the configure process by running `./run_build.pl --test --verbose=2 --only-steps=configure`. If there are errors, you'll need to correct them until the process succeeds (ends with OK). You can repeat this as many times as necessary because test mode does not store the status of the git repo or the status of each stage of the build. 14. Test the build process by running `./run_build.pl --test --verbose=2 --only-steps=configure,make`. If there are build errors, make adjustments, install additional packages, etc, and repeat the test.