#!/bin/sh
#
# by ymc-geko
# generate symbolic link link_in_filesystem -> link_target
#


link_target=$1
link_in_filesystem=$2
ymcCommand=$3

USAGE="usage: $0 link_target link_in_filesystem {start|stop|status}";

usage()
{
  echo $USAGE >&2
}

if [ $# != 3 ]; then
  usage
  exit 1
fi

create_link()
{
  dirname_of_link=$(dirname $link_in_filesystem)
  if [ $? -eq 0 ] && \
     [ -n "$dirname_of_link" ] && \
     [ ! -e $dirname_of_link ]; then
    mkdir -p $(dirname $link_in_filesystem)
  fi

  if [ -L "$link_in_filesystem" ]; then
    rm -f $link_in_filesystem
  fi

  if [ -e "$link_in_filesystem" ]; then
    echo "ERROR: There is something at '$link_in_filesystem'" 1>&2
    exit 1
  fi

  ln -s $link_target $link_in_filesystem || true
  exit 0
}

remove_link()
{
  if [ -L "$link_in_filesystem" ]; then
    rm -f $link_in_filesystem || true
  fi
}

check_link()
{
  if [ -L "$link_in_filesystem" ]; then
    echo "link '$link_in_filesystem' exists"
  else
    echo "link '$link_in_filesystem' does not exist"
  fi
}

case $ymcCommand in
  start)        create_link;;
  stop)         remove_link;;
  status)       check_link;;
  *)            usage
                exit 1
                ;;
esac
