This page contains notes taken while installing a new FreeBSD jail in August 2010 - the new machine was named gump2 and later renamed to gump (which was the name of the old machine as well). It has been amended after the OS has been upgraded in March 2012

gump runs in a FreeBSD 9.0 jail on sigyn.

The installation procedure is pretty similar to that of VmgumpConfig so only the differences are note here.

OS level software installed via ports

This has been installed by the infrastructure team.

$ java -version
openjdk version "1.6.0_30"
OpenJDK Runtime Environment (build 1.6.0_30-b24)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

Other Dependencies

no differences to VmgumpConfig

Create the gump user

used adduser interactively to create a user gump in group gump.

create the Gump directory structure

similar to VmgumpConfig but had to explicitly disable storing of svn password for root in /root/.subversion/config - and checked out Gump's trunk instead of the live branch, i.e.

~$ cd /srv/gump/public
/srv/gump/public$ sudo -u gump svn co https://svn.apache.org/repos/asf/gump/trunk/ gump

create a testbed workspace

similar to VmgumpConfig but the file names are /srv/gump/public/gump/metadata/gump.xml and /srv/gump/public/gump/cron/local-env-gump2.sh the later contains:

export GUMP_WORKSPACE=/srv/gump/public/gump/metadata/gump
export JAVA_HOME=/usr/local/openjdk6
export MAVEN_HOME=/opt/maven
export M2_HOME=/opt/maven2
export M3_HOME=/opt/maven3
export MVN_PROXY_HOME=/opt/repoproxy

export LANG=en_US.UTF-8
export PATH=$PATH:$MAVEN_HOME/bin:$M2_HOME/bin

Some of the builds really only work with GNU make, so the workspace needs an attribute makeCommand="gmake".

make the results world-visible

configure /usr/local/etc/apache22/Includes/gump.zones.apache.org.conf

NameVirtualHost *
<VirtualHost *>

        ServerAdmin private@gump.apache.org
        ServerName gump2.zones.apache.org

        DocumentRoot /usr/local/www/apache22/gump

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /usr/local/www/apache22/gump>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/gump2.zones.apache.org.error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/gump2.zones.apache.org.access.log combined
        ServerSignature On

        Alias /gump/public/ /srv/gump/public/workspace/log/

        <Directory /srv/gump/>
            HeaderName /disclaimer.html
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>

        <Location /gump/public/workspace_defn.html>
            Order deny,allow
            Deny from all
        </Location>
</VirtualHost>
~$ sudo mkdir /usr/local/www/apache22/gump
~$ sudo chown gump:gump /usr/local/www/apache22/gump
~$ sudo apachectl graceful

make it a real Gump instance

switch to the gump profile and set up crontab for Gump like described in VmgumpConfig

crontab needs an extra line

PATH=/usr/bin:/bin:/usr/local/bin

because python (and most anything else) is in /usr/local

help CVS

can be done before starting the Gump run, see VmgumpConfig

help svn

Unlike the svn client on Ubuntu systems the one found on FreeBSD doesn't accept server certificates automatically. I'm sure there is a setting somewhere that can (and should) be tweaked, for now I've accepted all cetificates manually so the updates will work on subsequent Gump runs.

help Maven 1.x

see VmgumpConfig

git

see VmgumpConfig

database

Applied recommendations from http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html

Created the gump_public database and the gump user as in VmgumpConfig.

Used the "create database from scratch" approach.

Added a database element to the profile.

Note this is obviously not enough to make Gump use the database, this topic is under investigation 8-)

Rename gump2 -> gump

Hostname has to be changed from outside the jail.

# mv /srv/gump/public/gump/cron/local-env-gump2.sh /srv/gump/public/gump/cron/local-env-gump.sh

edit /usr/local/etc/apache22/Includes/gump.zones.apache.org.conf and change ServerName to gump.zones.apache.org

$ sudo apachectl graceful

  • No labels