#!/bin/sh


DAEMON=/usr/bin/freevo
X="$DAEMON.real $@"

U=`id -u`
G=`id -g`

unset OS_LOGDIR FREEVO_LOGDIR OS_STATICDIR FREEVO_STATICDIR OS_CACHEDIR FREEVO_CACHEDIR FREEVO_SHARE FREEVO_CONTRIB FREEVO_SCRIPT FREEVO_CONFIG LD_PRELOAD SDL_VIDEODRIVER FREEVO_LOCALE FREEVO_PYTHON

test -r /etc/freevo/debconf.sh && . /etc/freevo/debconf.sh

test -r /etc/default/freevo && . /etc/default/freevo


if test "$U" = 0  ; then
 # there are cases when you should run as root, as for example
 # freevo convert_config  local_conf.py -w
 if test "$1" = convert_config  ; then
  exec $DAEMON.real "$@"
 fi
 if test "$1" = cache  ; then
   echo "This process will be run as user 'freevo'."
   exec su freevo -c "$DAEMON.real $@"
 fi
 echo "It is advisable not to start freevo as root, due to security concerns." 1>&2
 echo "Please use the 'freevo' user to start freevo." 1>&2
 exec $DAEMON.real "$@"
fi

if test "$G" = "$FREEVO_GID" -o "$U" = "$FREEVO_UID"  ; then
 exec $DAEMON.real "$@"
fi

for i in `id -G` ; do
  if test "$i" = "$FREEVO_GID"   ; then
   echo "Switching process to principal group 'freevo'."
   exec sg freevo -c "$X"
 fi
done

echo "You are not part of the group 'freevo', you cannot exploit shared resources (such as the cache). Your data will be saved in ${HOME}/.freevo " 1>&2


export FREEVO_CACHEDIR=$HOME/.freevo/cache
export FREEVO_LOGDIR=$HOME/.freevo/log
export FREEVO_STATICDIR=$HOME/.freevo/static

test -r ~/.freevo/user.rc && . ~/.freevo/user.rc

for d in $FREEVO_LOGDIR $FREEVO_CACHEDIR  $FREEVO_STATICDIR ; do
 [ -d "$d" ] || mkdir -v --parents "$d"
done

exec $DAEMON.real "$@"

