#!/bin/sh

exec &> /var/log/Xsession

. /etc/profile
. /etc/default/rcS
. /etc/exorint.funcs

export HOME=/home/app

if [ -f /usr/bin/dbus-launch ]; then
  ## test for an existing bus daemon, just to be safe
  if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then

     # Start a session for root and one for app
     export HOME=/home/root
     rm -rf $HOME/.dbus

     eval `/usr/bin/dbus-launch --auto-syntax --exit-with-session`
     mkdir -p $HOME/.dbus/session-bus
     echo DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS > $HOME/.dbus/session-bus/bus

     export HOME=/home/app
     rm -rf $HOME/.dbus

     eval `su app -c "/usr/bin/dbus-launch --auto-syntax --exit-with-session"`
     echo "D-BUS per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"

     mkdir -p $HOME/.dbus/session-bus
     echo DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS > $HOME/.dbus/session-bus/bus
     chown -R app $HOME/.dbus
  fi
fi

SYSSESSIONDIR=/etc/X11/Xsession.d

# Can't use run-parts like this, busybox doesn't support it. Use ls instead
SESSIONFILES=`ls -X $SYSSESSIONDIR`
if [ -n "$SESSIONFILES" ]; then
  for SESSIONFILE in $SESSIONFILES; do
  # Test if script is executable first before sourcing it
    if [ -x "$SYSSESSIONDIR/$SESSIONFILE" ]; then
      . $SYSSESSIONDIR/$SESSIONFILE
    fi
  done
fi

exit 0
