#!/bin/sh

BIN_DIR=/usr/local/bin
ADDON_DIR=/usr/local/etc/config/addons/pmatic
RCD_DIR=/usr/local/etc/config/rc.d
CONFIG_DIR=/usr/local/etc/config

if [ "$1" = "" ]; then
  echo "CCU1"
  lcdtool "installing pmatic   "
  mount -t yaffs /dev/mtdblock3 /usr/local
elif [ "$1" = "CCU2" ]; then
  echo "CCU2"
  if ! mount | grep ^ubi1:user.*rw >/dev/null 2>&1; then
      mount -t ubifs ubi1:user /usr/local
  fi
elif [ "$1" = "HM-RASPBERRYMATIC" ]; then
  echo "HM-RASPBERRYMATIC"
  mount /usr/local
fi

# remove files of old versions (same as in pmatic.init)
rm $BIN_DIR/python2.7 $BIN_DIR/python $BIN_DIR/pmatic-manager
rm -rf $ADDON_DIR/python
rm -rf $ADDON_DIR/pmatic
rm -rf $ADDON_DIR/lib
rm -rf $ADDON_DIR/manager_static
if [ -h /usr/lib/libexpat.so.1 ]; then
    mount -o remount,rw /
    rm -f /usr/lib/libexpat.so.1
    mount -o remount,ro /
fi

if [ ! -d $BIN_DIR ]; then
    mkdir -p $BIN_DIR
    chmod 755 $BIN_DIR
fi

if [ ! -d $ADDON_DIR ]; then
    mkdir -p $ADDON_DIR
    chmod 755 $ADDON_DIR
fi

if [ ! -d $RCD_DIR ]; then
    mkdir -p $RCD_DIR
    chmod 755 $RCD_DIR
fi

if [ ! -d $ADDON_DIR/scripts ]; then
    mkdir -p $ADDON_DIR/scripts
    chmod 755 $ADDON_DIR/scripts
fi

if [ ! -d $ADDON_DIR/etc ]; then
    mkdir -p $ADDON_DIR/etc
    chmod 755 $ADDON_DIR/etc
fi

# Make python executable shipped with pmatic available via PATH
ln -s ../etc/config/addons/pmatic/python/bin/python2.7 $BIN_DIR/python2.7
cp python-wrapper $BIN_DIR/python
chmod +x $BIN_DIR/python

cp pmatic-manager $BIN_DIR/
chmod +x $BIN_DIR/pmatic-manager

# copy all stuff and setup rc.d
cp -R python manager_static $ADDON_DIR/
cp -R libs $ADDON_DIR/lib
cp -R examples $ADDON_DIR/scripts/
cp -R pmatic $ADDON_DIR/python/lib/python2.7/
ln -s python/lib/python2.7/pmatic $ADDON_DIR/pmatic
cp pmatic.init $RCD_DIR/pmatic
chmod +x $RCD_DIR/pmatic

sync

if [ "$1" = "" ]; then
  echo "CCU1"
  lcdtool "Reboot...             "
  lcdtool -a 0x40 -t bin 00
  echo "x" > /dev/watchdog
  reboot
  while true ; do true ;  done
elif [ "$1" = "CCU2" ]; then
  echo "CCU2"
  # CCU2 always reboots after Addon/Firmware Update
elif [ "$1" = "HM-RASPBERRYMATIC" ]; then
  echo "HM-RASPBERRYMATIC"
  # RASPBERRYMATIC always reboots after Addon/Firmware Update
fi
