From 1130cf2d6e254b6b16358244116a4837352cb5bd Mon Sep 17 00:00:00 2001 From: Andreas Maunz Date: Thu, 22 Mar 2012 15:24:09 +0100 Subject: Modular: Initial version for main installer --- base-install.sh | 20 +++++++++++++++++-- config.sh | 22 +++++++-------------- openbabel.sh | 38 +++++++------------------------------ ruby.sh | 59 ++++++++++++++++++++++++++------------------------------- 4 files changed, 59 insertions(+), 80 deletions(-) diff --git a/base-install.sh b/base-install.sh index 73c9e37..e9e0860 100644 --- a/base-install.sh +++ b/base-install.sh @@ -16,6 +16,7 @@ fi # Utils APTITUDE="`which aptitude`" +GIT="`which git`" APT_CACHE="`which apt-cache`" DPKG="`which dpkg`" @@ -24,10 +25,15 @@ if [ ! -e "$APTITUDE" ]; then exit 1 fi +if [ ! -e "$GIT" ]; then + echo "Git missing. Install git first." 1>&2 + exit 1 +fi + touch $OT_UI_CONF # Pkgs -packs="binutils build-essential git-core gnuplot hostname libcurl4-openssl-dev libgsl0-dev libreadline6-dev libreadline-dev libsqlite3-dev libssl-dev libxml2-dev libxslt1-dev lsb-release openjdk-6-jdk psmisc pwgen raptor-utils r-base r-base-core r-base-dev sqlite3 wget xsltproc zlib1g-dev" +packs="binutils build-essential cmake gnuplot hostname libcurl4-openssl-dev libgsl0-dev libreadline6-dev libreadline-dev libsqlite3-dev libssl-dev libxml2-dev libxslt1-dev lsb-release openjdk-6-jdk psmisc pwgen raptor-utils r-base r-base-core r-base-dev sqlite3 udev wget xsltproc zlib1g-dev" echo echo "Base Packages:" @@ -65,7 +71,6 @@ if [ -n "$pack_fail" ]; then sleep 5 fi -echo sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true | sudo /usr/bin/debconf-set-selections echo if [ -n "$pack_arr" ]; then echo "Installing missing packages:" @@ -92,5 +97,16 @@ if [ ! -f $JAVA_CONF ]; then fi fi +if [ ! -d ~/.rbenv ]; then + cmd="$GIT clone git://github.com/sstephenson/rbenv.git ~/.rbenv" && run_cmd "$cmd" "rbenv" +else + echo "'rbenv' already installed. Leaving untouched." +fi + +if ! grep "rbenv" $OT_UI_CONF >/dev/null 2>&1 ; then + echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> $OT_UI_CONF + echo 'eval "$(rbenv init -)"' >> $OT_UI_CONF +fi + cd "$DIR" diff --git a/config.sh b/config.sh index 87b19b7..5bf084c 100755 --- a/config.sh +++ b/config.sh @@ -14,38 +14,30 @@ OT_PREFIX="$HOME/opentox-ruby" OT_JAVA_HOME="/usr/lib/jvm/java-6-openjdk" # 3) What versions to install. -RUBY_NUM_VER="1.8.7-2011.03" -OB_NUM_VER="2.2.3" -KL_NUM_VER="0.9-11" -REDIS_NUM_VER="2.4.4" +RUBY_NUM_VER="1.9.3-p125" +OB_NUM_VER="2.3.1" +REDIS_NUM_VER="2.2.2" # 4) Server settings. NGINX_SERVERNAME="toxcreate3.in-silico.ch" WWW_DEST="$OT_PREFIX/www" -NGINX_PORT="" # set to empty string ("") for port 80 otherwise set to port *using colon* e.g. ":8080" -OHM_PORT="6379" # set to port (no colon) +UNICORN_PORT="" # set to empty string ("") for port 80 otherwise set to port *using colon* e.g. ":8080" +OHM_PORT="" # set to port (no colon) # Done. ### Nothing to gain from changes below this line. JAVA_CONF="$OT_PREFIX/.sh_java_ot" -RUBY_CONF="$OT_PREFIX/.sh_ruby_ot" -REDIS_CONF="$OT_PREFIX/.sh_redis_ot" -NGINX_CONF="$OT_PREFIX/.sh_nginx_ot" OB_CONF="$OT_PREFIX/.sh_OB_ot" -KL_CONF="$OT_PREFIX/.sh_R_ot" +R_CONF="$OT_PREFIX/.sh_R_ot" -RUBY_VER="ruby-enterprise-$RUBY_NUM_VER" OB_VER="openbabel-$OB_NUM_VER" -KL_VER="$KL_NUM_VER" REDIS_VER="$REDIS_NUM_VER" -RUBY_DEST="$OT_PREFIX/$RUBY_VER" OB_DEST="$OT_PREFIX/$OB_VER" OB_DEST_BINDINGS="$OT_PREFIX/openbabel-ruby-install" -KL_DEST="$OT_PREFIX/r-packages" -NGINX_DEST="$OT_PREFIX/nginx" +R_DEST="$OT_PREFIX/r-packages" REDIS_DEST="$OT_PREFIX/redis-$REDIS_VER" REDIS_SERVER_CONF="$REDIS_DEST/redis.conf" diff --git a/openbabel.sh b/openbabel.sh index 3016d95..367fb28 100755 --- a/openbabel.sh +++ b/openbabel.sh @@ -19,6 +19,11 @@ if [ ! -e "$WGET" ]; then echo "'wget' missing. Install 'wget' first. Aborting..." exit 1 fi +CMAKE="`which cmake`" +if [ ! -e "$CMAKE" ]; then + echo "'cmake' missing. Install 'cmake' first. Aborting..." + exit 1 +fi # Pkg LOG="$HOME/tmp/`basename $0`-log.txt" @@ -45,9 +50,8 @@ if [ ! $OB_DONE ]; then cmd="tar zxf $OB_VER.tar.gz?use_mirror=kent $OB_VER" && run_cmd "$cmd" "Unpack" fi cd "$HOME/tmp/$OB_VER">>$LOG 2>/dev/null - - cmd="./configure --prefix=$OB_DEST" && run_cmd "$cmd" "Configure" - cmd="make" && run_cmd "$cmd" "Make" + cmd="$CMAKE -DCMAKE_INSTALL_PREFIX=$OB_DEST" && run_cmd "$cmd" "Configure" + cmd="make -j2" && run_cmd "$cmd" "Make" cmd="make install" && run_cmd "$cmd" "Install" fi @@ -63,9 +67,6 @@ if [ ! -f "$OB_CONF" ]; then echo "if [ -z \"\$BABEL_DATADIR\" ]; then export BABEL_DATADIR=\"$OB_DEST/share/openbabel/$OB_NUM_VER\"; fi" >> "$OB_CONF" echo "if ! [ -d \"\$BABEL_DATADIR\" ]; then echo \"\$0: '\$BABEL_DATADIR' is not a directory!\"; fi" >> "$OB_CONF" - echo "if echo \"\$RUBYLIB\" | grep -v \"$OB_DEST_BINDINGS\">/dev/null 2>&1; then export RUBYLIB=\"$OB_DEST_BINDINGS:\$RUBYLIB\"; fi" >> "$RUBY_CONF" - echo "if ! [ -d \"$OB_DEST_BINDINGS\" ]; then echo \"\$0: '$OB_DEST_BINDINGS' is not a directory!\"; fi" >> "$RUBY_CONF" - echo "Openbabel configuration has been stored in '$OB_CONF'." if ! grep "$OB_CONF" $OT_UI_CONF >/dev/null 2>&1 ; then echo ". \"$OB_CONF\"" >> $OT_UI_CONF @@ -73,28 +74,3 @@ if [ ! -f "$OB_CONF" ]; then fi -echo "Bindings:" -OB_DONE=false -. "$OT_UI_CONF" -mkdir -p "$OB_DEST_BINDINGS">/dev/null 2>&1 -if [ ! -d "$OB_DEST_BINDINGS" ]; then - echo "Install directory '$OB_DEST_BINDINGS' is not available! Aborting..." - exit 1 -else - if [ "`ls $OB_DEST_BINDINGS | wc -l`" -gt 0 ]; then - OB_DONE=true - fi -fi - -if ! $OB_DONE ; then - OB_SRC_DIR="$HOME/tmp/$OB_VER/scripts/ruby/" - cd "$OB_SRC_DIR" - cmd="ruby extconf.rb --with-openbabel-include=$OB_DEST/include/openbabel-2.0 --with-openbabel-lib=$OB_DEST/lib" && run_cmd "$cmd" "Code" - cmd="make" && run_cmd "$cmd" "Make" - cmd="cp openbabel.so $OB_DEST_BINDINGS" && run_cmd "$cmd" "Install" - cmd="ln -sf $OB_DEST_BINDINGS/openbabel.so $RUBY_DEST/lib/ruby/site_ruby/1.8/`uname -m`-linux/" && run_cmd "$cmd" "Link" - cd "$DIR" - . "`pwd`/utils.sh" - cmd="ruby test-ob-rb.rb" && run_cmd "$cmd" "Load" -fi - diff --git a/ruby.sh b/ruby.sh index 2e53384..b88cfe2 100755 --- a/ruby.sh +++ b/ruby.sh @@ -19,12 +19,17 @@ if [ ! -e "$WGET" ]; then echo "'wget' missing. Install 'wget' first. Aborting..." exit 1 fi +RBENV="`which rbenv`" +if [ ! -e "$RBENV" ]; then + echo "'rbenv' missing. Install 'rbenv' first. Aborting..." + exit 1 +fi # Pkg LOG="$HOME/tmp/`basename $0`-log.txt" echo -echo "Ruby Enterprise edition ('$RUBY_DEST', '$LOG')." +echo "Ruby ('$RUBY_DEST', '$LOG')." mkdir "$RUBY_DEST" >/dev/null 2>&1 @@ -39,45 +44,35 @@ fi if [ ! $RUBY_DONE ]; then cd $HOME/tmp - URI="http://rubyenterpriseedition.googlecode.com/files/$RUBY_VER.tar.gz" - if ! [ -d "$HOME/tmp/$RUBY_VER" ]; then + URI="http://ftp.ruby-lang.org/pub/ruby/1.9/$RUBY_VER.tar.gz" + if ! [ -d "$RUBY_VER" ]; then cmd="$WGET $URI" && run_cmd "$cmd" "Download" cmd="tar xzf $RUBY_VER.tar.gz" && run_cmd "$cmd" "Unpack" fi - cmd="sh $HOME/tmp/$RUBY_VER/installer --dont-install-useful-gems --no-dev-docs --auto=$RUBY_DEST" && run_cmd "$cmd" "Install" + cmd="cd $RUBY_VER" && run_cmd "$cmd" "cd" + cmd="./configure --prefix=$RUBY_DEST" && run_cmd "$cmd" "Configure" + cmd="make" && run_cmd "$cmd" "Make" + cmd="make install" && run_cmd "$cmd" "Install" + cmd="cd -" && run_cmd "$cmd" "cd" fi +cmd="$RBENV rehash" && run_cmd "$cmd" "Rbenv Update" -if ! [ -f "$RUBY_CONF" ]; then - echo "if echo \"\$PATH\" | grep -v \"$RUBY_DEST\">/dev/null 2>&1; then export PATH=\"$RUBY_DEST/bin:\$PATH\"; fi" >> "$RUBY_CONF" - - echo "Ruby configuration has been stored in '$RUBY_CONF'." - if ! grep "$RUBY_CONF" $OT_UI_CONF >/dev/null 2>&1 ; then - echo ". \"$RUBY_CONF\"" >> $OT_UI_CONF - fi -fi -. "$RUBY_CONF" +#GEM="`which gem`" +#if [ ! -e "$GEM" ]; then +# echo "'gem' missing. Install 'gem' first. Aborting..." +# exit 1 +#fi +# +#export PATH="$RUBY_DEST/bin:$PATH" +#cmd="$GEM sources -a http://gemcutter.org" && run_cmd "$cmd" "Add Gemcutter" +#cmd="$GEM sources -a http://rubygems.org" && run_cmd "$cmd" "Add Rubygems" +#GEMCONF="gem: --no-ri --no-rdoc" +#if ! grep "$GEMCONF" $HOME/.gemrc >>$LOG 2>&1; then +# echo "$GEMCONF" | tee -a $HOME/.gemrc >>$LOG 2>&1 +#fi -GEM="`which gem`" -if [ ! -e "$GEM" ]; then - echo "'gem' missing. Install 'gem' first. Aborting..." - exit 1 -fi - -if [ "$PASSENGER_SKIP" != "s" ]; then - export PATH="$RUBY_DEST/bin:$PATH" - cmd="$GEM sources -a http://gemcutter.org" && run_cmd "$cmd" "Add Gemcutter" - cmd="$GEM sources -a http://rubygems.org" && run_cmd "$cmd" "Add Rubygems" - GEMCONF="gem: --no-ri --no-rdoc" - if ! grep "$GEMCONF" $HOME/.gemrc >>$LOG 2>&1; then - echo "$GEMCONF" | tee -a $HOME/.gemrc >>$LOG 2>&1 - fi - if ! $GEM list | grep passenger >/dev/null 2>&1; then - cmd="$GEM install passenger" && run_cmd "$cmd" "Install Passenger" - fi -fi - cd "$DIR" -- cgit v1.2.3