Mercurial > hg > dml-home
diff etc/setup_as_root.sh @ 1:bf3354229297
Root setup script now working correctly.
author | samer |
---|---|
date | Sun, 18 Jan 2015 17:31:08 +0000 |
parents | 7d34f4b6df69 |
children | 11e21255b404 |
line wrap: on
line diff
--- a/etc/setup_as_root.sh Sun Jan 18 16:18:01 2015 +0000 +++ b/etc/setup_as_root.sh Sun Jan 18 17:31:08 2015 +0000 @@ -1,54 +1,107 @@ #!/bin/sh - -echo 'THIS IS NOT READY YET!' -exit 1 # ---------------------- CONFIGURATION PART ---------------------- HAVE_MATLAB=yes SWI_GUI=no +SETUP_X=yes +HEADLESS=yes +DRY_RUN=yes + +if [ $# -gt 0 ]; then + echo "Setting DRY_RUN to $1" 1>&2 + DRY_RUN=$1 +fi + +# If DRY_RUN=yes, then this script will do nothing, but will output the commands +# it would have done to stdout. # ------------------- END OF CONFIGURATION PART ------------------ + +if [ $DRY_RUN == yes ]; then + echo "I am doing a DRY RUN ONLY. The commands to be executed (as root) will" 1>&2 + echo "be output to stdout. Messages (such as this one) are output to stderr." 1>&2 + echo "Run the following to write a script to run later:" 1>&2 + echo 1>&2 + echo " \$ sh setup_as_root.sh > install.sh" 1>&2 + echo 1>&2 + echo "Alternatively, run" 1>&2 + echo 1>&2 + echo " \$ sh setup_as_root.sh no" 1>&2 + echo 1>&2 + DO=echo +else + echo "I am going to do everything FOR REAL. Type 'yes' and hit return to continue" + read CONTINUE + if [ $CONTINUE == yes ]; then + echo "Ok, going ahead with setup" + else + exit 1 + fi + DO= +fi # APT GET installs -apt-get install build-essential autoconf mercurial git pkg-config -apt-get install libossp-uuid-dev libssl-dev zlib1g-dev unixodbc-dev libsmf-dev libsqlite3-dev -apt-get install graphviz lilypond pdf2svg texlive-font-utils p7zip-full -apt-get install vorbis-tools lame sox faad flac libsox-fmt-all fluidsynth +$DO apt-get install build-essential autoconf mercurial git pkg-config screen +$DO apt-get install libossp-uuid-dev libssl-dev zlib1g-dev unixodbc-dev libsmf-dev libsqlite3-dev +$DO apt-get install graphviz lilypond pdf2svg texlive-font-utils p7zip-full +$DO apt-get install vorbis-tools lame sox faad flac libsox-fmt-all fluidsynth # Only if you want SWI Prolog GUI -#sudo apt-get install libxpm-dev libxt-dev libjpeg-dev libx11-dev libxft-dev libxinerama1 libfontconfig1-dev +if [ $SWI_GUI == yes ]; then + $DO apt-get install libxpm-dev libxt-dev libjpeg-dev libx11-dev libxft-dev libxinerama1 libfontconfig1-dev +fi # If you have MATLAB if [ $HAVE_MATLAB == yes ]; then - MATLAB_ROOT=$(matlab -e | grep '^MATLAB=') - apt-get csh libtritonus-java libvorbisspi-java libmp3spi-java - ln -s /lib/x86_64-linux-gnu/libc.so.6 /lib64 - ln -s $(MATLAB_ROOT)/bin/matlab /usr/local/bin + echo "Checking for MATLAB..." 1>&2 + MATLAB_ROOT=$(matlab -e | grep '^MATLAB=' | sed -e 's/MATLAB=//') + echo "MATLAB installed in $MATLAB_ROOT" 1>&2 + $DO apt-get csh libtritonus-java libvorbisspi-java libmp3spi-java + $DO ln -sf /lib/x86_64-linux-gnu/libc.so.6 /lib64 + $DO ln -sf $MATLAB_ROOT/bin/matlab /usr/local/bin # MATLAB (R2012a at least) looks for Java extension jars in this directory - mkdir -p /usr/java/packages/lib/ext + $DO mkdir -p /usr/java/packages/lib/ext # NB - there may be some duplication of service providers here - I'm not sure # which of them works best. - ln -s /usr/shara/java/{vorbisspi,mp3spi}.jar /usr/java/packages/lib/ext - ln -s /usr/shara/java/tritonus_{aos,core,jorbis,mp3,remaining,share}.jar /usr/java/packages/lib/ext + $DO ln -sf /usr/shara/java/{vorbisspi,mp3spi}.jar /usr/java/packages/lib/ext + $DO ln -sf /usr/shara/java/tritonus_{aos,core,jorbis,mp3,remaining,share}.jar /usr/java/packages/lib/ext # need to add native library paths to this file - if [ ! grep '/usr/lib/jni' $(MATLAB_ROOT)/toolbox/local/librarypath.txt ]; then - echo '/usr/lib/jni' >> $(MATLAB_ROOT)/toolbox/local/librarypath.txt - end + if grep '/usr/lib/jni' $MATLAB_ROOT/toolbox/local/librarypath.txt; then + echo "MATLAB Library path already set." 1>&2 + else + if [ $DRY_RUN == yes ]; then + echo "echo '/usr/lib/jni' >> $MATLAB_ROOT/toolbox/local/librarypath.txt" + else + echo '/usr/lib/jni' >> $MATLAB_ROOT/toolbox/local/librarypath.txt + fi + fi fi -#if [ -x ~dml/.boot ]; then -# sudo -u dml -H mkdir -p ~dml/var/log -# sudo -u dml -H bash -l -c '~/.boot >> ~/var/log/boot.log' -#fi +$DO install -bC rc.local /etc -if $SETUP_X; then - if $HEADLESS; then - apt-get install xinit xserver-xorg-video-dummy - cp ~/etc/xorg.conf /etc/X11 + +if [ $SETUP_X == yes ]; then + echo "Setting up X server..." 1>&2 + if [ $HEADLESS == yes ]; then + echo "Installing dummy video driver for headless X server..." 1>&2 + $DO apt-get install xinit xserver-xorg-video-dummy + + $DO install --mode=644 -bC xorg.conf /etc/X11 else - apt-get install xinit blackbox + echo "Installing X server and window manager..." 1>&2 + $DO apt-get install xinit blackbox fi - dpkg-reconfigure x11-common + if [ $DRY_RUN == yes ]; then + $DO dpkg-reconfigure x11-common + else + echo + echo "I am about to call dpkg-reconfigure x11-common." + echo "Please select 'Anybody' to allow dml to start the X server automatically." + echo "Press RETURN to continue." + read + $DO dpkg-reconfigure x11-common + fi fi +