#!/bin/sh
# $Id: trac.sh,v 3.2.1.1 2016/03/19 09:37:50 asau Exp $
set -e
create () {
path="$1"
: ${path:?path required}
: ${DBURL:=postgres:///trac}
mkdir -p "${path}"
(echo; echo "${DBURL}") | trac-admin "${path}" initenv # project name, db connection
trac-admin "${path}" permission add admin TRAC_ADMIN
echo admin::$(printf admin::admin | md5 -q) > "${path}/.passwd"
# Drop sample settings:
psql -d "${DBURL}" -c "delete from milestone"
psql -d "${DBURL}" -c "delete from component"
psql -d "${DBURL}" -c "delete from version"
}
start () {
path="$1"
: ${path:?path required}
tracd -d --pidfile "${path}/.trac.pid" -s -p 8000 -b localhost -a "*,${path}/.passwd," "${path}"
}
stop () {
path="$1"
: ${path:?path required}
kill $(cat "${path}/.trac.pid")
}
cmd="$1"
shift
case "${cmd}" in
create) create ${1:+"$@"};;
start) start ${1:+"$@"};;
stop) stop ${1:+"$@"};;
esac