#!/bin/sh
# Copyright (C) 2000-2016 Synology Inc. All rights reserved.

### This script will be executed when package installed and upgraded.
### Actions after package installed.
### ex. create database, create symbolic link...

ln -sf $SYNOPKG_PKGDEST/usr/bin/SyncoveryCL /usr/bin/

echo "[Syncovery] Installing to $SYNOPKG_PKGDEST"  >>"$SYNOPKG_PKGDEST"/log.txt
/usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] Installing to $SYNOPKG_PKGDEST"

echo "Running as $USER" >>"$SYNOPKG_PKGDEST"/log.txt

echo "*************************"  >>"$SYNOPKG_PKGDEST"/log.txt 
echo >>"$SYNOPKG_PKGDEST"/log.txt 
echo POST INSTALL v2 >>"$SYNOPKG_PKGDEST"/log.txt 
date >>"$SYNOPKG_PKGDEST"/log.txt 
echo PKG ENVIROMENT VARIABLES >>"$SYNOPKG_PKGDEST"/log.txt 
set | grep PKG >>"$SYNOPKG_PKGDEST"/log.txt

 
cd "$SYNOPKG_PKGDEST"
echo CURRENT DIRECTORY IS >>"$SYNOPKG_PKGDEST"/log.txt
pwd >>"$SYNOPKG_PKGDEST"/log.txt 

res=$(ls -al usr/bin/SyncoveryCL)
echo "[Syncovery] File details: $res" >>"$SYNOPKG_PKGDEST"/log.txt
/usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] File details: $res"

res=$(uname -a)
/usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] System details: $res"

mkdir "$SYNOPKG_PKGVAR"/Logs
mkdir "$SYNOPKG_PKGVAR"/Database

if [ -e ./usr/bin/SyncoveryCL-arm ]; then
  case "$(uname -m)" in
    armv5*|armv6*|armv7*)
      if grep -qw vfp /proc/cpuinfo; then
        echo "armhf detected" >>"$SYNOPKG_PKGDEST"/log.txt
        rm ./usr/bin/SyncoveryCL-arm
      else
        echo "arm detected" >>"$SYNOPKG_PKGDEST"/log.txt
        rm ./usr/bin/SyncoveryCL
        mv -f ./usr/bin/SyncoveryCL-arm ./usr/bin/SyncoveryCL
      fi
      ;;
    *)
      echo "Unsupported CPU: $(uname -m)" >>"$SYNOPKG_PKGDEST"/log.txt
      exit 1
      ;;
  esac
fi

GOTMESSAGE = 0

if [ ! -f "$SYNOPKG_PKGVAR"/Syncovery.cfg ]
 then
 
 MIGATTEMPTED = 0

 if [ -d "$SYNOPKG_PKGDEST_VOL"/.Syncovery ]
  then
 echo NOW CALLING SyncoveryCL MIGSYNO "$SYNOPKG_PKGDEST_VOL"/.Syncovery "$SYNOPKG_PKGVAR" >>"$SYNOPKG_PKGDEST"/log.txt 
 MIGATTEMPTED = 1
 res=$(./usr/bin/SyncoveryCL MIGSYNO "$SYNOPKG_PKGDEST_VOL"/.Syncovery "$SYNOPKG_PKGVAR" 2>&1)
 /usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] SET MIGSYNO result: $res"
 echo "$res" >>"$SYNOPKG_PKGDEST"/log.txt
 fi

 if [ ! -f "$SYNOPKG_PKGVAR"/Syncovery.cfg ]
  then
  if [ -f /etc/SyncoveryCL.conf ]
   then
  echo NOW CALLING SyncoveryCL MIGSYNO CONF "$SYNOPKG_PKGVAR" >>"$SYNOPKG_PKGDEST"/log.txt 
 MIGATTEMPTED = 1
  res=$(./usr/bin/SyncoveryCL MIGSYNO CONF "$SYNOPKG_PKGVAR" 2>&1)
  /usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] SET MIGSYNO CONF result: $res"
  echo "$res" >>"$SYNOPKG_PKGDEST"/log.txt
  fi
 fi

if [ -f "$SYNOPKG_PKGVAR"/Syncovery.cfg ]
 then
   GOTMESSAGE = 1
   echo The Syncovery configuration files were moved to the new DSM 7 folder. Please check if everything is there. >>"$SYNOPKG_TEMP_LOGFILE" 
   echo In addition, you need to give Syncovery permissions to access your folders in File Station. >>"$SYNOPKG_TEMP_LOGFILE"
   echo In case of problems, contact support@syncovery.com. >>"$SYNOPKG_TEMP_LOGFILE"
 else
  if [ $MIGATTEMPTED = 1 ]
   then
   GOTMESSAGE = 1
   echo WARNING: the Syncovery config files could not be moved to the new DSM 7 folder. >>"$SYNOPKG_TEMP_LOGFILE"
   echo In addition, you need to give Syncovery permissions to access your folders in File Station. >>"$SYNOPKG_TEMP_LOGFILE"
   echo In case of problems, contact support@syncovery.com. >>"$SYNOPKG_TEMP_LOGFILE"
  fi
fi

fi

echo NOW CALLING SyncoveryCL SET /LogFolder="$SYNOPKG_PKGVAR"/Logs /INI="$SYNOPKG_PKGVAR"/Syncovery.cfg >>"$SYNOPKG_PKGDEST"/log.txt 

res=$(./usr/bin/SyncoveryCL SET /LogFolder="$SYNOPKG_PKGVAR"/Logs /INI="$SYNOPKG_PKGVAR"/Syncovery.cfg 2>&1)
/usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] SET /LogFolder result: $res"
echo "$res" >>"$SYNOPKG_PKGDEST"/log.txt

echo NOW CALLING SyncoveryCL SET /DatabasePath="$SYNOPKG_PKGVAR"/Database /INI="$SYNOPKG_PKGVAR"/Syncovery.cfg >>"$SYNOPKG_PKGDEST"/log.txt
res=$(./usr/bin/SyncoveryCL SET /DatabasePath="$SYNOPKG_PKGVAR"/Database /INI="$SYNOPKG_PKGVAR"/Syncovery.cfg 2>&1)
/usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] SET /DatabasePath result: $res"
echo "$res" >>"$SYNOPKG_PKGDEST"/log.txt

echo NOW CALLING SyncoveryCL SET /TempPath="$SYNOPKG_PKGTMP" /INI="$SYNOPKG_PKGVAR"/Syncovery.cfg >>"$SYNOPKG_PKGDEST"/log.txt
res=$(./usr/bin/SyncoveryCL SET /TempPath="$SYNOPKG_PKGTMP" /INI="$SYNOPKG_PKGVAR"/Syncovery.cfg 2>&1)
/usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] SET /TempPath result: $res"
echo "$res" >>"$SYNOPKG_PKGDEST"/log.txt

echo NOW CALLING SyncoveryCL SET /WEBSERVER=localhost /PORT=8999 /INI="$SYNOPKG_PKGVAR"/Syncovery.cfg >>"$SYNOPKG_PKGDEST"/log.txt 
res=$(./usr/bin/SyncoveryCL SET /WEBSERVER=localhost /WEBPORT=8999 /INI="$SYNOPKG_PKGVAR"/Syncovery.cfg 2>&1)
/usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] SET /WEBSERVER=localhost result: $res"
echo "$res" >>"$SYNOPKG_PKGDEST"/log.txt

echo END POST INSTALL >>"$SYNOPKG_PKGDEST"/log.txt 
echo "*************************"  >>"$SYNOPKG_PKGDEST"/log.txt 
echo >>"$SYNOPKG_PKGDEST"/log.txt

res=$(ps -e | grep SyncoveryCL | grep ./ 2>&1)
/usr/syno/bin/synologset1 sys info 0x11100000 "[Syncovery] Status at end of post_install: $res"
echo "[Syncovery] Status at end of post_install:" >>"$SYNOPKG_PKGDEST"/log.txt
echo "$res" >>"$SYNOPKG_PKGDEST"/log.txt

if [ $GOTMESSAGE = 0 ]
   then
   echo "Syncovery has been installed successfully. You can reach it via port 8999, or by clicking its icon in the Main Menu." >>"$SYNOPKG_TEMP_LOGFILE"
   echo "Please note, you need to give Syncovery permissions to access your folders in File Station." >>"$SYNOPKG_TEMP_LOGFILE"
   echo "In case of problems, contact support@syncovery.com." >>"$SYNOPKG_TEMP_LOGFILE"
fi


log "[Syncovery] Installation log file: $SYNOPKG_PKGDEST/log.txt"

echo "[Syncovery] End of post_install, calling exit 0" >>"$SYNOPKG_PKGDEST"/log.txt

exit 0
