Skip to content
Snippets Groups Projects
lofarinit.sh 4.89 KiB
Newer Older
Ger van Diepen's avatar
Ger van Diepen committed
#!/bin/echo Usage: .
#-----------------------------------------------------------------------------
# lofarinit.sh: Define the LOFAR environment for Bourne-like shells
#-----------------------------------------------------------------------------
#
# Copyright (C) 2005
# ASTRON (Netherlands Foundation for Research in Astronomy)
# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands, seg@astron.nl
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# $Id$

Ger van Diepen's avatar
Ger van Diepen committed
# Define root here.
# This is a placeholder, so do NOT change the line.
# The actual value is filled in by make install (see Makefile.am).
Ger van Diepen's avatar
Ger van Diepen committed
lfr_root=. #filled in by install
Ger van Diepen's avatar
Ger van Diepen committed

Ger van Diepen's avatar
Ger van Diepen committed
# Get python version.
Marcel Loose's avatar
Marcel Loose committed
a_pyv=`python -V 2>&1`
Ger van Diepen's avatar
Ger van Diepen committed
a_pyvv=`echo $a_pyv | sed -e "s/Python \([0-9]\.[0-9]\).*/\1/"`
Marcel Loose's avatar
Marcel Loose committed
# Fall-back: if python cannot be found assume Python 2.4
Ger van Diepen's avatar
Ger van Diepen committed
if test "$a_pyv" = "$a_pyvv"; then
  a_pyvv=2.4
fi

# First strip the current LOFARROOT from PATH, LD_LIBRARY_PATH, and PYTHONPATH.
Ger van Diepen's avatar
Ger van Diepen committed
# Take care that a possible . is preceeded by a backslash (for the later sed).
Ger van Diepen's avatar
Ger van Diepen committed
if [ "$LOFARROOT" != "" ]; then
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_path=`echo $LOFARROOT | sed -e 's/\./\\\./g'`
    lfr_bin="$lfr_path/bin"
    PATH=`echo $PATH | sed -e "s%:$lfr_bin:%:%g" -e "s%^$lfr_bin:%%"  -e "s%:$lfr_bin$%%" -e "s%^$lfr_bin$%%"`
Ger van Diepen's avatar
Ger van Diepen committed
    export PATH
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_lib="$lfr_path/lib"
    LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -e "s%:$lfr_lib:%:%g" -e "s%^$lfr_lib:%%"  -e "s%:$lfr_lib$%%" -e "s%^$lfr_lib$%%"`
Ger van Diepen's avatar
Ger van Diepen committed
    export LD_LIBRARY_PATH
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_pyt="$lfr_path/lib/python$a_pyvv/site-packages"
    PYTHONPATH=`echo $PYTHONPATH | sed -e "s%:$lfr_pyt:%:%g" -e "s%^$lfr_pyt:%%"  -e "s%:$lfr_pyt$%%" -e "s%^$lfr_pyt$%%"`
    export PYTHONPATH
Ger van Diepen's avatar
Ger van Diepen committed
fi

Ger van Diepen's avatar
Ger van Diepen committed
# Now define the new LOFARROOT (if possible)
# Do it only if the bin directory exists.
Ger van Diepen's avatar
Ger van Diepen committed
lfr_nroot=`cd $lfr_root > /dev/null; pwd`      # make path absolute
if [ "$lfr_nroot" = ""  -o  ! -d $lfr_nroot/bin ]; then
    echo "LOFAR root directory $lfr_nroot/bin does not exist; keeping old LOFARROOT $LOFARROOT"
Ger van Diepen's avatar
Ger van Diepen committed
else
Ger van Diepen's avatar
Ger van Diepen committed
    LOFARROOT=$lfr_nroot
Ger van Diepen's avatar
Ger van Diepen committed
    export LOFARROOT
Ger van Diepen's avatar
Ger van Diepen committed

Ger van Diepen's avatar
Ger van Diepen committed
    # Also strip root from the current paths (in case it is contained).
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_path=`echo $LOFARROOT | sed -e 's/\./\\\./g'`
    lfr_bin="$lfr_path/bin"
    PATH=`echo $PATH | sed -e "s%:$lfr_bin:%:%g" -e "s%^$lfr_bin:%%"  -e "s%:$lfr_bin$%%" -e "s%^$lfr_bin$%%"`
Ger van Diepen's avatar
Ger van Diepen committed
    export PATH
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_lib="$lfr_path/lib"
    LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -e "s%:$lfr_lib:%:%g" -e "s%^$lfr_lib:%%"  -e "s%:$lfr_lib$%%" -e "s%^$lfr_lib$%%"`
Ger van Diepen's avatar
Ger van Diepen committed
    export LD_LIBRARY_PATH
Ger van Diepen's avatar
Ger van Diepen committed
    lfr_pyt="$lfr_path/lib/python$a_pyvv/site-packages"
    PYTHONPATH=`echo $PYTHONPATH | sed -e "s%:$lfr_pyt:%:%g" -e "s%^$lfr_pyt:%%"  -e "s%:$lfr_pyt$%%" -e "s%^$lfr_pyt$%%"`
    export PYTHONPATH
Ger van Diepen's avatar
Ger van Diepen committed
fi
Ger van Diepen's avatar
Ger van Diepen committed

Ger van Diepen's avatar
Ger van Diepen committed
# Add to the paths if the bin directory exsists.
if [ "$LOFARROOT" = ""  -o  ! -d $LOFARROOT/bin ]; then
    echo "No LOFARROOT defined"
else
Ger van Diepen's avatar
Ger van Diepen committed
    # Add the path to the standard paths.
    if [ "$PATH" = "" ]; then
        PATH=$LOFARROOT/bin
    else
        PATH=$LOFARROOT/bin:$PATH
    fi
    export PATH
    if [ "$LD_LIBRARY_PATH" = "" ]; then
        LD_LIBRARY_PATH=$LOFARROOT/lib
    else
        LD_LIBRARY_PATH=$LOFARROOT/lib:$LD_LIBRARY_PATH
    fi
    export LD_LIBRARY_PATH
Ger van Diepen's avatar
Ger van Diepen committed
    a_pyt=$LOFARROOT/lib/python$a_pyvv/site-packages
    if [ "$PYTHONPATH" = "" ]; then
        PYTHONPATH=$a_pyt
    else
        PYTHONPATH=$a_pyt:$PYTHONPATH
    fi
    export PYTHONPATH
Ger van Diepen's avatar
Ger van Diepen committed
fi
Arthur Coolen's avatar
Arthur Coolen committed

Ger van Diepen's avatar
Ger van Diepen committed
# Now define the new LOFARDATAROOT (if possible).
# First try as data directory of the LOFAR install directory.
data_path=`echo $LOFARROOT | sed -e 's%/installed.*%%'`
if [ "$data_path" != ""  -a  -d $data_path/data ]; then
Arthur Coolen's avatar
Arthur Coolen committed
    LOFARDATAROOT=$data_path/data
    export LOFARDATAROOT
Ger van Diepen's avatar
Ger van Diepen committed
else
    # Try it as the LOFARDATA directory (part of the source tree).
    data_path=`echo $LOFARROOT | sed -e 's%/LOFAR/.*%/LOFAR%'`
    if [ "$data_path" != ""  -a  -d ${data_path}DATA ]; then
        LOFARDATAROOT=${data_path}DATA
        export LOFARDATAROOT
Ger van Diepen's avatar
Ger van Diepen committed
    else
        LOFARDATAROOT=/opt/lofar/data
        export LOFARDATAROOT
Ger van Diepen's avatar
Ger van Diepen committed
    fi
Ger van Diepen's avatar
Ger van Diepen committed
fi
Ger van Diepen's avatar
Ger van Diepen committed

Ger van Diepen's avatar
Ger van Diepen committed
# Create a .glishrc.post in the HOME directory to append
# the LOFAR libexec to the glish path.
if [ -f $HOME/.glishrc.post ]; then
  mv $HOME/.glishrc.post $HOME/.glishrc.post-old
fi
echo "system.path.include := [system.path.include, '$LOFARROOT/libexec/glish']" > $HOME/.glishrc.post

Ger van Diepen's avatar
Ger van Diepen committed
# Clean up
Ger van Diepen's avatar
Ger van Diepen committed
unset lfr_root lfr_nroot lfr_bin lfr_lib lfr_pyt a_pyv a_pyvv lfr_path