Subversion Repositories wimsdev

Rev

Rev 8487 | Rev 9840 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#! /bin/sh

if [ "$(id -ru)" = 0 ]; then
 cat <<@
You are trying to compile WIMS as 'root'. You should not do that !
Please compile as 'wims'.
@
 exit 1
fi

option=$1

##########################################################################
cat <<@
Welcome to the compilation of WIMS (WWW Interactive Multipurpose Server)

@
cd `dirname $0`
dir=`pwd`;

if [ ! "$option" ] ; then option=no ; fi ;

for a in $(seq $#) ; do opt=$1;
 if [ "$opt" = "--build-chroot" ] ; then
  if [ -d chroot ] ; then
    mkdir -p chroot/tmp
    mkdir -p chroot/tmp/sessions
    touch chroot/tmp/sessions/.chroot
  else
   cat <<@
   You must first get and install the chroot directory. See the README

@
   exit 1
  fi
 fi
 if [ "$opt" = "--mathjax" ] ; then
  echo "load mathjax"
    vmathjax=v2.4
    if [ -d "public_html/scripts/js/mathjax" ] ; then
     mv public_html/scripts/js/mathjax public_html/scripts/js/mathjax_tmp
    fi;
    cd tmp
    wget --no-check-certificate http://github.com/mathjax/MathJax/zipball/$vmathjax-latest
    unzip $vmathjax-latest
    rm -f $vmathjax-latest
    cd $dir
    mv -f tmp/mathjax-MathJax-* public_html/scripts/js/mathjax
    rm -rf public_html/scripts/js/mathjax_tmp
 fi
 if [ "$opt" = "--jmol" ] ; then
  echo "load jmol"
    vJmol=Jmol-14.0.13-binary
    vjmol=jmol-14.0.13
    cd tmp
    wget http://downloads.sourceforge.net/project/jmol/Jmol/Version%2014.0/Version%2014.0.13/$vJmol.zip
    unzip $vJmol
    cd $vjmol;
    unzip jsmol.zip
    rm -f $jsmol.zip
    cd $dir
    if [ -d "public_html/java/jmol/j2s" ] ; then
      mv public_html/java/jmol/j2s public_html/java/jmol/j2s_tmp
    fi
    mv -f tmp/$vjmol/jsmol/j2s public_html/java/jmol/j2s
    cp tmp/$vjmol/jsmol/JSmol.min.js public_html/java/jmol/
    cp tmp/$vjmol/jsmol/js/Jmol2.js public_html/java/jmol/
    rm -rf tmp/$vjmol
    rm -rf public_html/java/jmol/j2s_tmp
 fi

 if [ "$opt" = "--modules" ] ; then
    echo "load modules"
    src/wims_modules.pl
    cd $dir
 fi
 if [ "$opt" = "--shtooka" ] ; then
    echo "load audio shtooka"
    bin/swac
    cd $dir
 fi
 if [ "$opt" = "--gcov" ] ; then
    export CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
 fi
 shift
done

cd src

if [ -f ../.wims_maintainer_mode ]; then
  touch configure.ac ;
  if (autoconf); then :; else
    echo "[maintainer mode] Please install autoconf first."
    exit 1
  fi
  autoheader
fi
./configure || exit
# ./configure CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib || exit
make clean || exit
make all || exit

if [ -f ../.wims_maintainer_mode ]; then
### use convert, identify
  make maintainer || exit
### all the maintainers should have Apache ant - java compilation
  if (ant -version); then :; else
    echo "[maintainer mode] Please install Apache ant first."
    exit 1
  fi
  if (convert -version) || (identify -version); then :; else
    echo "[maintainer mode] Please install convert and identify first."
    exit 1
  fi
  cd Misc ; make maintainer || exit
  cd ..
fi
cd ..

if [ -f log/wims.conf ]; then :; else
  if (echo | mail -r wims testuser@localhost 2>/dev/null); then
    echo "mailback_opt=-r" >> log/wims.conf;
    chmod 600 log/wims.conf
  fi
  cat <<@

You can configure some parameters which allow the manager site
to make more configuration from the web interface.

Please write the IP address of the wims webmaster ? [127.0.0.1]
@
  read ans1
  if [ -z $ans1 ]; then :; else
    echo "manager_site=$ans1" >> log/wims.conf
    chmod 600 log/wims.conf
  fi
  cat <<@

Please write the email address of the wims webmaster: ? []
@
  read ans2
  if [ -z $ans2 ]; then
     if [ -z $ans1 ]; then :; else echo "site_manager=" >> log/wims.conf; fi
  else
     if [ -z $ans1 ]; then echo "manager_site=127.0.0.1" >> log/wims.conf ; fi
     echo "site_manager=$ans2" >> log/wims.conf
     chmod 600 log/wims.conf
  fi
fi
if [ -f log/.wimspass ]; then :; else
  cat <<@

Please give the password for the wims webmaster
You can change it in the file log/.wimspass
Webmaster password: ? []
@
  read ans3
  if [ -z $ans3 ]; then :; else
    echo "$ans3" > log/.wimspass
    chmod 600 log/.wimspass
  fi
fi
if [ $option = "--build-chroot" ] ; then
  script=wrapuid ;
else
 script=setwrapexec ;
fi

cat <<@

Please run './bin/$script' (and './bin/apache-config' for the first installation) as root
(e.g. using sudo) to finish WIMS setup.

See README about installation of help and teaching modules.

@

exit