summaryrefslogtreecommitdiff
path: root/opentox-ruby.sh
blob: 64ac93aa0d088924189bfcb2bd74705a0c55a12c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/sh
#
# Installs Opentox-ruby gem.
# Author: Christoph Helma, Andreas Maunz.
#

. "`pwd`/utils.sh"
DIR="`pwd`"

if [ "$(id -u)" = "0" ]; then
  echo "This script must be run as non-root." 1>&2
  exit 1
fi

# Utils
GIT="`which git`"
if [ ! -e "$GIT" ]; then
  echo "'git' missing. Install 'git' first. Aborting..."
  exit 1
fi

GEM="`which gem`"
if [ ! -e "$GEM" ]; then
  echo "'gem' missing. Install 'gem' first. Aborting..."
  exit 1
fi

RAKE="`which rake`"
if [ ! -e "$RAKE" ]; then
  echo "'rake' missing. Install 'rake' first. Aborting..."
  exit 1
fi


# Pkg
LOG="$HOME/tmp/`basename $0`-log.txt"

echo
echo "Opentox-ruby ('$LOG'):"

for mygem in opentox-ruby builder jeweler; do
  if ! $GEM list | sed 's/\ .*//g' | grep -x "$mygem" >/dev/null 2>&1; then
    cmd="$GEM install $mygem" && run_cmd "$cmd" "$mygem"
  fi
done


servername="`hostname`"
serverdomain="`dnsdomainname`"
if [ -n "$serverdomain" ]; then
  servername="$servername"."$serverdomain"
fi
escapedserver="`echo $servername | sed 's/\/\\\//'`"

if [ "$OT_BRANCH" = "development" ]; then
  logger=":logger: backtrace"
else
  logger=""
fi

if [ "$OT_INSTALL" = "server" ]; then
  aa="https:\/\/opensso.in-silico.ch"
else
  aa=""
fi

mkdir -p "$HOME/.opentox/config" >>$LOG 2>&1
mkdir -p "$HOME/.opentox/log" >>$LOG 2>&1
mkdir -p "$HOME/.opentox/tmp" >>$LOG 2>&1

$GIT checkout production.yaml      >>$LOG 2>&1
$GIT checkout aa-$OT_INSTALL.yaml  >>$LOG 2>&1

cmd="sed -e \"s,SERVERNAME,$servername,;s,ESCAPEDSERVER,$escapedserver,;s,LOGGER,$logger,;s,AA,$aa,;s,WWW_DEST,$WWW_DEST,;s,NGINX_PORT,$NGINX_PORT,;s,OHM_PORT,$OHM_PORT,\" production.yaml > $HOME/.opentox/config/production.yaml" && run_cmd "$cmd" "Config 1"
cmd="sed -e \"s,SERVERNAME,$servername,;s,ESCAPEDSERVER,$escapedserver,;s,LOGGER,$logger,;s,AA,$aa,;s,WWW_DEST,$WWW_DEST,;s,NGINX_PORT,$NGINX_PORT,;s,OHM_PORT,$OHM_PORT,\" aa-$OT_INSTALL.yaml >> $HOME/.opentox/config/production.yaml" && run_cmd "$cmd" "Config 2"
cmd="cp ambit_descriptors.yaml $HOME/.opentox/config/" && run_cmd "$cmd" "Ambit"

if [ "$OT_BRANCH" = "development" ] || expr match "$OT_BRANCH" "release"; then
  mkdir -p $WWW_DEST/opentox >>$LOG 2>&1
  cd $WWW_DEST/opentox >>$LOG 2>&1
  rm -rf opentox-ruby >>$LOG 2>&1
  $GIT clone git://github.com/opentox/opentox-ruby.git >>$LOG 2>&1
  cd opentox-ruby >>$LOG 2>&1
  $GIT checkout -b $OT_BRANCH origin/$OT_BRANCH >>$LOG 2>&1
  cmd="$RAKE install" && run_cmd "$cmd" "Install"
  GEM_LIB=`$GEM which opentox-ruby | sed 's/\/opentox-ruby.rb//'`
  rm -rf "$GEM_LIB~" >>$LOG 2>&1
  mv "$GEM_LIB" "$GEM_LIB~" >>$LOG 2>&1
  cmd="ln -sf $WWW_DEST/opentox/opentox-ruby/lib $GEM_LIB" && run_cmd "$cmd" "Linking back"
fi

cd "$DIR"