5
# * rework to switch/case "common script" with symlink architecture
6
# * create hook to integrate with existing tomcat6 service.
7
# * parameterize opengrok config at runtime
8
# * attach and manage persistant storage for src & data
2
set -eu # -x for verbose logging to juju debug-log
10
4
tarball=opengrok-0.11.1.tar.gz
5
tarball_sha256=b49e795f3421117e0e1176bf786335c3aba70ad67ad77fb2800f9f4d6ae246c5
11
6
grokjar=http://hub.opensolaris.org/bin/download/Project+opengrok/files/${tarball}
13
8
juju-log "Preparing to install OpenGrok"
14
export DEBIAN_FRONTEND=noninteractive
15
apt-get -q -y install tomcat6 exuberant-ctags wget bzr
9
add-apt-repository ppa:charmers/charm-helpers
11
apt-get -qqy install tomcat6 exuberant-ctags wget bzr charm-helper-sh
17
13
juju-log "Installing opengrok 11.1 JAR from tarball"
19
wget ${grokjar} 2>/dev/null
21
ln -s opengrok-0.11.1 opengrok
14
. /usr/share/charm-helper/sh/net.sh
15
templocation=`ch_get_file ${grokjar} ${tarball_sha256}`
16
tar xzf ${templocation} -C /opt
17
ln -s /opt/opengrok-0.11.1 /opt/opengrok
24
19
juju-log "deploying opengrok war to servlet root"
25
20
# deploy script scans for common servlets and had hardcoded paths
26
21
# should you use tomcat7 this will probably not work.
27
pushd /opt/opengrok/bin
22
cd /opt/opengrok/bin && ./OpenGrok deploy
31
24
juju-log "creating opengrok src and data store"
32
25
mkdir -p /var/opengrok/src /var/opengrok/data
34
27
juju-log "acquiring example source code: juju"
35
pushd /var/opengrok/src
36
bzr branch lp:juju 2>/dev/null
28
bzr branch lp:juju /var/opengrok/src/juju 2>/dev/null
39
30
juju-log "indexing..."
40
pushd /opt/opengrok/bin
31
cd /opt/opengrok/bin && ./OpenGrok index
46
35
juju-log "opengrok installed, expose service and visit http://HOSTIP:8080/source"