summaryrefslogtreecommitdiff
path: root/install
blob: aaecd3eed7b107718e28ab639933c39cb6a8608a (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
#!/bin/sh

# Main OpenTox installer for user installation
# Author: Christoph Helma, Andreas Maunz

# Creates OT_PREFIX and ~/.opentox (CONFIG). The latter contains OT_UI_CONF (see README).
# Installs shell libraries and installer configuration to support installation of services.
# Installs rbenv to support custom ruby versions for services.

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

echo
echo "OpenTox Ruby"
echo "Hit <Return> If all services are stoppped, else hit <Ctrl+C>."
read delete_me

echo "Note: CONFIG (~/.opentox) will be backupped."
mkdir -p $OT_PREFIX/tmp/ >/dev/null 2>&1
DATE=`date +_%Y%m%d_%H_%M`
echo "Backups (if any):"
backup_targets="$HOME/.opentox $HOME/opentox-ruby"
for bt in $backup_targets; do
  if [ -f $bt ]; then
    mv -v --backup=numbered $bt $bt$DATE
  elif [ -d $bt ]; then
    mv -v --backup=numbered -T $bt $bt$DATE
  fi
done
echo "Backup finished."

. ./utils.sh

LOG="$OT_PREFIX/tmp/`basename $0`.log"
echo
echo "Welcome to base installation for OpenTox compatible services on Ruby and Debian."
echo "IMPORTANT: Hit <Ctrl+C> to adjust config.sh first (<Return> to continue)."
read delete_me
echo 
echo -n "We need to do some privileged action. "
sudo echo -n ""

[ -f $OT_PREFIX/install/utils.sh ] || (cmd="mkdir -p $OT_PREFIX/install && cp utils.sh $OT_PREFIX/install" && run_cmd "$cmd" "Install utils.sh to OT_PREFIX")
[ -f $HOME/.opentox/config/install/config.sh ] || (cmd="mkdir -p $HOME/.opentox/config/install && cp config.sh $HOME/.opentox/config/install" && run_cmd "$cmd" "Install config.sh to CONFIG (~/.opentox)")

. ./base-install.sh # Debian specific; disable for others.

if [ ! -d ~/.rbenv ]; then
  cmd="$GIT clone git://github.com/sstephenson/rbenv.git ~/.rbenv" && run_cmd "$cmd" "rbenv"
else
  echo "NOTE: 'rbenv' already installed. Leaving untouched."
fi

if ! grep "rbenv" $OT_UI_CONF >/dev/null 2>&1 ; then
  echo 'if ! echo "$PATH" | grep "$HOME/.rbenv/bin">/dev/null 2>&1; then export PATH="$HOME/.rbenv/bin:$PATH"; eval "$(rbenv init -)"; fi' >> $OT_UI_CONF
fi

[ -f $HOME/.opentox/config/ambit_descriptors.yaml ] || (cmd="cp ambit_descriptors.yaml $HOME/.opentox/config/" && run_cmd "$cmd" "Ambit keys file")
[ -f $HOME/.opentox/config/jl_keys.yaml ] || (cmd="cp jl_keys.yaml $HOME/.opentox/config/" && run_cmd "$cmd" "Joelib keys file")

echo
echo "Installation finished."
echo "Destination (OT_PREFIX): '$OT_PREFIX'" 
echo
echo "IMPORTANT: How to configure your system:"
echo "IMPORTANT: a) Include '$OT_UI_CONF' in shell startup (e.g. ~/.bashrc)."
echo "IMPORTANT: b) Manually source '$OT_UI_CONF' every time."
echo "IMPORTANT: The command in both cases: '. $OT_UI_CONF'"
echo "IMPORTANT: NOW would be the best time to configure!"
echo
echo "Thank you for your attention."
echo