diff options
Diffstat (limited to 'opentox-ruby.sh')
-rw-r--r-- | opentox-ruby.sh | 123 |
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" |