summaryrefslogtreecommitdiff
path: root/opentox-ruby.sh
diff options
context:
space:
mode:
Diffstat (limited to 'opentox-ruby.sh')
-rw-r--r--opentox-ruby.sh123
1 files changed, 82 insertions, 41 deletions
diff --git a/opentox-ruby.sh b/opentox-ruby.sh
index 6302009..5f8cc65 100644
--- a/opentox-ruby.sh
+++ b/opentox-ruby.sh
@@ -1,49 +1,90 @@
#!/bin/sh
+#
+# Installs Opentox-ruby gem.
+# Author: Christoph Helma, Andreas Maunz.
+#
-echo "Installing opentox-ruby gem"
-. /etc/profile
-. ./config
-gem install opentox-ruby
-gem install builder # not included by spreadsheet gem
+. "`pwd`/utils.sh"
+DIR="`pwd`"
-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="/tmp/`basename $0`-log.txt"
+
+echo
+echo "Opentox-ruby ('$LOG'):"
+
+for mygem in opentox-ruby builder jeweler; do
+ if ! $GEM list | grep "$mygem" >/dev/null 2>&1; then
+ cmd="$GEM install $mygem" && run_cmd "$cmd" "$mygem"
+ fi
+done
-# create config file
-servername=`hostname`.`dnsdomainname`
-escapedservername=`echo $servername|sed 's/\/\\\//'`
-if [ $branch = "development" ]
-then
- logger=":logger: backtrace"
+
+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=""
+ logger=""
fi
-if [ $install = "server" ]
-then
- aa="https:\/\/opensso.in-silico.ch"
+if [ "$OT_INSTALL" = "server" ]; then
+ aa="https:\/\/opensso.in-silico.ch"
else
- aa=nil
-fi
-
-mkdir -p $HOME/.opentox/config
-mkdir -p $HOME/.opentox/log
-#sed -e "s/SERVERNAME/$servername/;s/LOGGER/$logger/;s/AA/$aa/" production.yaml > $HOME/.opentox/config/production.yaml
-sed -e "s/PASSWORD/$password/;s/SERVERNAME/$servername/;s/ESCAPEDSERVERNAME/$escapedservername/;s/LOGGER/$logger/;s/AA/$aa/" production.yaml > $HOME/.opentox/config/production.yaml
-sed -e "s/PASSWORD/$password/;s/SERVERNAME/$servername/;s/ESCAPEDSERVERNAME/$escapedservername/;s/LOGGER/$logger/;s/AA/$aa/" aa-$install.yaml >> $HOME/.opentox/config/production.yaml
-
-# checkout development version and link lib to opentox-ruby gem
-if [ $branch = "development" ]
-then
- mkdir -p /var/www/opentox
- cd /var/www/opentox
- git clone http://github.com/opentox/opentox-ruby.git
- cd opentox-ruby
- git checkout -t origin/$branch
- gem install jeweler
- rake install
- gem_lib=`gem which opentox-ruby`
- gem_lib=`echo $gem_lib | sed 's/\/opentox-ruby.rb//'`
- mv $gem_lib $gem_lib~
- ln -s /var/www/opentox/opentox-ruby/lib $gem_lib
-fi
-cd $dir
+ aa=""
+fi
+
+mkdir -p "$HOME/.opentox/config" >>$LOG 2>&1
+mkdir -p "$HOME/.opentox/log" >>$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,\" 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,\" aa-$OT_INSTALL.yaml >> $HOME/.opentox/config/production.yaml" && run_cmd "$cmd" "Config 1"
+
+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"