#!/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 >>"$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 

echo Invoking chmod 555 SyncoveryCL >>"$SYNOPKG_PKGDEST"/log.txt 
chmod 555 usr/bin/SyncoveryCL >>"$SYNOPKG_PKGDEST"/log.txt 2>&1

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
        echo Invoking chmod 555 SyncoveryCL >>"$SYNOPKG_PKGDEST"/log.txt 
        chmod 555 ./usr/bin/SyncoveryCL >>"$SYNOPKG_PKGDEST"/log.txt 2>&1
      fi
      ;;
    *)
      echo "Unsupported CPU: $(uname -m)" >>"$SYNOPKG_PKGDEST"/log.txt
      exit 1
      ;;
  esac
fi

if [ -f "usr/bin/libacl.so.1" ] 
then
  echo Invoking chmod 555 libacl.so.1 >>"$SYNOPKG_PKGDEST"/log.txt 
  chmod 555 usr/bin/libacl.so.1 >>"$SYNOPKG_PKGDEST"/log.txt 2>&1
  echo cp usr/bin/libacl.so.1 /usr/lib/ >>"$SYNOPKG_PKGDEST"/log.txt 
  cp -nv usr/bin/libacl.so.1 /usr/lib/ >>"$SYNOPKG_PKGDEST"/log.txt 2>&1 
fi

echo Invoking chmod 555 libtgputty.so >>"$SYNOPKG_PKGDEST"/log.txt 
chmod 555 usr/bin/libtgputty.so >>"$SYNOPKG_PKGDEST"/log.txt 2>&1

echo Invoking chmod 555 puttygen >>"$SYNOPKG_PKGDEST"/log.txt 
chmod 555 usr/bin/puttygen >>"$SYNOPKG_PKGDEST"/log.txt 2>&1

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_PKGDEST_VOL"/.Syncovery
mkdir "$SYNOPKG_PKGDEST_VOL"/.Syncovery/Logs
mkdir "$SYNOPKG_PKGDEST_VOL"/.Syncovery/Database

chmod a+rw "$SYNOPKG_PKGDEST_VOL"/.Syncovery
chmod a+rw "$SYNOPKG_PKGDEST_VOL"/.Syncovery/Logs
chmod a+rw "$SYNOPKG_PKGDEST_VOL"/.Syncovery/Database


if [ "$SYNOPKG_DSM_ARCH" = "88f6281" ]
then
if [ ! -f /lib/ld-linux-armhf.so.3 ]; then
  echo Linking ld-linux-armhf.so.3 as a symlink to /lib/ld-linux.so.2 
  ln -s /lib/ld-linux.so.2 /lib/ld-linux-armhf.so.3
fi
fi

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

chmod a+rw "$SYNOPKG_PKGDEST_VOL"/.Syncovery/Syncovery.cfg

res=$(./usr/bin/SyncoveryCL SET /LogFolder="$SYNOPKG_PKGDEST_VOL"/.Syncovery/Logs /INI="$SYNOPKG_PKGDEST_VOL"/.Syncovery/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_PKGDEST_VOL"/.Syncovery/Database /INI="$SYNOPKG_PKGDEST_VOL"/.Syncovery/Syncovery.cfg >>"$SYNOPKG_PKGDEST"/log.txt
res=$(./usr/bin/SyncoveryCL SET /DatabasePath="$SYNOPKG_PKGDEST_VOL"/.Syncovery/Database /INI="$SYNOPKG_PKGDEST_VOL"/.Syncovery/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 /WEBSERVER=localhost /PORT=8999 /INI="$SYNOPKG_PKGDEST_VOL"/.Syncovery/Syncovery.cfg >>"$SYNOPKG_PKGDEST"/log.txt 
res=$(./usr/bin/SyncoveryCL SET /WEBSERVER=localhost /WEBPORT=8999 /INI="$SYNOPKG_PKGDEST_VOL"/.Syncovery/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 [ -f /tmp/syncoveryguardianstatus ]
 then
#   if [ -f /var/packages/SyncoveryGuardian/scripts/start-stop-status ]
   if [ -f /usr/bin/SyncoveryGuardian ]
   then
#      res=$(/var/packages/SyncoveryGuardian/scripts/start-stop-status start >>"$SYNOPKG_PKGDEST"/log.txt 2>&1)
      echo NOW CALLING /usr/bin/SyncoveryGuardian with ampersand >>"$SYNOPKG_PKGDEST"/log.txt
      /usr/bin/SyncoveryGuardian & >>"$SYNOPKG_PKGDEST"/log.txt 2>&1
   fi
fi

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 "In case of problems, contact support@syncovery.com." >>"$SYNOPKG_TEMP_LOGFILE"


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

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

exit 0
