#!/bin/bash

CONTAINER="jug_xl"
VERSION="3.0-stable"

## Simple setup script that installs the container
## in your local environment under $PWD/local/lib
## and creates a simple top-level launcher script
## that launches the container for this working directory
## with the $ATHENA_PREFIX variable pointing
## to the $PWD/local directory

mkdir -p local/lib || exit 1

## check for a singularity install
if [ $(type -P singularity ) ]; then
  SINGULARITY=$(which singularity)
#if [ -z $SINGULARITY ]; then
else
  ## jlab singularity
  if [ -d "/apps/singularity/3.7.1/bin/" ]; then
    SINGULARITY="/apps/singularity/3.7.1/bin/singularity"
  ## cvmfs singularity
  elif [ -f "/cvmfs/oasis.opensciencegrid.org/mis/singularity/bin/singularity" ]; then
    SINGULARITY="/cvmfs/oasis.opensciencegrid.org/mis/singularity/bin/singularity"
  else
    echo "ERROR: no singularity found, please make sure you have singularity in your \$PATH"
    exit 1
  fi
fi
echo "Found singularity at $SINGULARITY"

SIF=
## check if we can just use cvmfs for the image
if [ -f /cvmfs/eic.opensciencegrid.org/singularity/athena/jug_xl_v${VERSION}.sif ]; then
  ln -sf /cvmfs/eic.opensciencegrid.org/singularity/athena/jug_xl_v${VERSION}.sif local/lib
  SIF="$PWD/local/lib/jug_xl_v${VERSION}.sif"
## if not, download the container to the system
else
  ## get the python installer and run the old-style install
  wget https://eicweb.phy.anl.gov/containers/eic_container/-/raw/master/install.py
  chmod +x install.py
  ./install.py -c $CONTAINER -v $VERSION $PWD/local
  ## Don't place eic-shell in local/bin as this may
  ## conflict with things we install inside the container
  rm $PWD/local/bin/eic-shell
  ## Cleanup
  rm -rf __pycache__ install.py
  SIF=$PWD/local/lib/${CONTAINER}.sif.${VERSION}
fi

if [ -z $SIF -o ! -f $SIF ]; then
  echo "ERROR: no singularity image found"
else
  echo "Using ${CONTAINER} image: $SIF"
fi

## create a new top-level eic-shell launcher script
## that sets the ATHENA_PREFIX and then starts singularity
cat << EOF > eic-shell
#!/bin/bash
export ATHENA_PREFIX=$PWD/local
$SINGULARITY run $SIF
EOF
chmod +x eic-shell

echo "Created custom eic-shell excecutable"