Mac OS X Server 10.6 (Snow Leopard).
A Gump user was created with as home /Users/Shared/Gump, and group gump. All users that need access to Gump should be a member of the group gump. The gump user has no shell, so no one can log in as it or su to it. sudo is possible by users who have that power, but be careful with the environment. For what it's worth, mail for the gump user forwards to email@example.com.
All users on the machine are set up per Infrastructure regulations, with centrally managed ssh keys. The only exception to the infra rules is OPIE, which is not supported by the OS.
Gump Location and Configuration
Gump has been checked out from the Live branch: http://svn.apache.org/repos/asf/gump/live
Gump and its auxiliary directories are located under /Users/Shared/gump, in the subdirectories
- gump -- The software
- workspace -- The run output, source code and artefacts
- repoproxy -- Document root for the local Maven Repository proxy
- packages -- Pre-built packages used by gump, checked out from private svn space.
All these directories have been made 2775 (group-writable with sticky setgid), as have their subdirectories through a find operation. All files have been made g+w. This may need to be repeated if users other than gump itself carry out actions that manipulate file permissions.
A .cvspass file was copied from the old installation on Clarus.
adam:gump sctemme$ cat metadata/adam.xml <?xml version="1.0" ?> <workspace basedir="/Users/Shared/gump/workspace" pkgdir="/Users/Shared/gump/packages" version="0.4" name="adam-test"> <property name="build.sysclasspath" value="only"/> <sysproperty name="java.awt.headless" value="true"/> <!-- <profile href="profile/gump.xml"/> --> <profile href="testbase/profile.xml"/> </workspace>
adam:gump sctemme$ cat cron/local-env-adam.sh GUMP_WORKSPACE=/Users/Shared/gump/gump/metadata/adam JAVA_HOME=/Library/Java/Home MAVEN_HOME=/opt/local/share/java/maven M2_HOME=/usr/share/maven M3_HOME=/opt/local/share/java/maven3 MVN_PROXY_HOME=/opt/repoproxy/lib export GUMP_WORKSPACE JAVA_HOME MAVEN_HOME M2_HOME M3_HOME MVN_PROXY_HOME LANG=en_US.utf8 PATH=/usr/local/bin:/opt/local/bin:$PATH export LANG PATH
Note that cron sets the PATH to /usr/bin:/bin. /opt/local/bin is the location of MacPorts, the contents of which may be overridden by what's in /usr/local/bin.
adam:gump sctemme$ sudo crontab -l -u gump Password: MAILTO = firstname.lastname@example.org 55 * * * * cd /Users/Shared/gump/packages; /usr/bin/svn up 0,15,30,45 * * * * cd /Users/Shared/gump/gump/cron; /bin/bash gump.sh all
This is a frequent run with a limited workload to iron out the bugs. A full run will likely be started less often.
Maven Repo Proxy
A current build (0.5 at time of writing) of the Maven Repo Proxy is installed at /opt/repoproxy.
The Mac OS X Server web server (which happens to be Apache 2.2) has been configured to the effect of
Alias "/gump" "/Users/Shared/gump/workspace/log"
MacPorts has been installed in /opt/local. A crontab runs at five after midnight each day to run port selfupdate and port upgrade outdated. Put /opt/local/bin on your PATH and run port installed active to get a list of what's currently there; port list to get a list of what's available and sudo port install foo to install the port named foo. MacPorts does automatic dependency resolution.
The MySQL installation supplied with Mac OS X Server hosts the Gump database. It has been configured (through the Server Admin GUI) to not listen on the network. To facilitate installation of the Python module (see below), headers and client-side libraries have been downloaded from http://www.opensource.apple.com/other/MySQL-49.binaries.tar.gz , which has been untarred into / .
Gump runs on /usr/bin/python. A few modules have been installed through easy_install, notably MySQL-python.
I, SanderTemme, don't remember whether or which other modules I had to install to make it work. Update this when you find out.
GNU libtool 1.5 has been installed in /usr/local since much software (notably, in the test collection, expat) can't deal with libtool 2.x provided by both the OS and MacPorts. Note that you need to run ./configure --program-prefix=g since buildconf scripts will look for glibtoolize on the Mac (/usr/bin/libtool is a NeXT holdover and does different things).
A symbolic link to nant has been placed in /usr/local/bin:
adam:gump sctemme$ cd /usr/local/bin adam:bin sctemme$ ls -l NAnt.exe lrwxr-xr-x 1 root wheel 19 Nov 7 14:04 NAnt.exe -> /opt/local/bin/nant