#!/bin/sh

# Package
PACKAGE="smi-server"
DNAME="SMI-Server"

# Others
INSTALL_DIR="/usr/${PACKAGE}"
RUNAS="root"

preinst ()
{
    # echo "$(date) $line PREINST()" >> $SYNOPKG_PKGDEST_VOL/public/InstallLog.txt
    echo "$(date) $line PREINST()" >> /volume1/public/InstallLog.txt
    exit 0
}
preuninst ()
{
    echo "$(date) $line PREUNINST()" >> $SYNOPKG_PKGDEST_VOL/public/InstallLog.txt

    exit 0
}

postinst ()
{
    echo "$(date) $line POSTINST()" >> $SYNOPKG_PKGDEST_VOL/public/InstallLog.txt
    ### create link for executable
    ln -sf $SYNOPKG_PKGDEST/usr/bin/smi-server /usr/bin/

    ### create service configuration file
    echo "[smi-server]" >>$SYNOPKG_PKGDEST/etc/smi-server.sc
    echo "title=\"SMI-Server\"" >>$SYNOPKG_PKGDEST/etc/smi-server.sc
    echo "desc=\"SMI-Server\"" >>$SYNOPKG_PKGDEST/etc/smi-server.sc
    echo "port_forward=\"no\"" >>$SYNOPKG_PKGDEST/etc/smi-server.sc
    echo "dst.ports=\"${pkgwizard_smi_server_port}/tcp\"" >>$SYNOPKG_PKGDEST/etc/smi-server.sc

    #### copy paket configuration files
    cp $SYNOPKG_PKGDEST/etc/smi-server.sc /usr/local/etc/services.d/smi-server.sc
    cp $SYNOPKG_PKGDEST/etc/smi-server.conf.patterndb /usr/local/etc/syslog-ng/patterndb.d/smi-server.conf
    cp $SYNOPKG_PKGDEST/etc/smi-server.logrotate /usr/local/etc/logrotate.d/smi-server

    ### copy server configuration


#    synoshare --get SMI >> /volume1/public/InstallLog.txt
#    check_return=$?
#    if [ $check_return -ne 0 ]; then
#        echo "$(date) $line Share does not exist. ->> creating share now. (code: $check_return)" >> /volume1/public/InstallLog.txt
        synoshare --add "SMI" "SMI-Server shared folder" "$SYNOPKG_PKGDEST_VOL/SmartHome/SMI" "" "root, admin" "" 1 "" >> /volume1/public/InstallLog.txt
#        create_return=$?
#        if [ $create_return -eq 0 ]; then
#            echo "$(date) $line Share successfull created! (code: $check_return|$create_return)" >> /volume1/public/InstallLog.txt
#            echo "share has been created" >> $SYNOPKG_TEMP_LOGFILE
#        else
#            echo "$(date) $line Share not created! (code: $check_return|$create_return)" >> /volume1/public/InstallLog.txt
#        fi
#    else
#        echo "$(date) $line Share exists (code: $check_return)" >> /volume1/public/InstallLog.txt
#
#    fi

    sudo ln -sf $SYNOPKG_PKGDEST_VOL/SmartHome/SMI/ $SYNOPKG_PKGDEST/share
    cp $SYNOPKG_PKGDEST/etc/smi-server.conf $SYNOPKG_PKGDEST_VOL/SmartHome/SMI/smi-server.conf.template

    ### create poor config file
    echo ${pkgwizard_smi_server_port} >> /var/packages/smi-server/port      # config file ?!

    ### add port config to resource file
    echo -n ",\"port-config\":{" >> /var/packages/smi-server/conf/resource
    echo -n "\"protocol-file\":\"etc/smi-server.sc\"}" >> /var/packages/smi-server/conf/resource

    ### add syslog config to resource file
    echo -n ",\"syslog-config\":{" >> /var/packages/smi-server/conf/resource
    echo -n "\"patterndb-relpath\":\"etc/smi-server.conf\"," >> /var/packages/smi-server/conf/resource
    echo -n "\"logrotate-relpath\":\"etc/logrotate.d/smi-server\"}" >> /var/packages/smi-server/conf/resource
    ### add data-share
    echo -n ",\"data-share\":{" >> /var/packages/smi-server/conf/resource
    echo -n "\"shares\":[{" >> /var/packages/smi-server/conf/resource
    echo -n "\"name\":\"SmiServer\"," >> /var/packages/smi-server/conf/resource
    echo -n "\"permission\":{" >> /var/packages/smi-server/conf/resource
    echo -n "\"rw\":[\"admin\"]" >> /var/packages/smi-server/conf/resource
    echo -n "}" >> /var/packages/smi-server/conf/resource
    echo -n "}]" >> /var/packages/smi-server/conf/resource
    echo -n "}" >> /var/packages/smi-server/conf/resource

    # echo "$SYNOPKG_PKGDEST_VOL/SmartHome/SMI" >> /var/packages/smi-server/conf/share
    # echo "${SYNOPKG_PKGDEST_VOL}/SmartHome/SMI" >> /var/packages/smi-server/conf/share
    # echo $SYNOPKG_PKGDEST_VOL >> /var/packages/smi-server/conf/share
    # echo ${SYNOPKG_PKGDEST_VOL} >> /var/packages/smi-server/conf/share
    # echo "--------------------------------" >> /var/packages/smi-server/conf/share


    ### activate new configuration files
    /usr/syno/sbin/synopkghelper update smi-server port-config
    sudo synoservice -restart syslog-ng

    exit 0
}

preuninst ()
{
    echo "$(date) $line PREUNINST()" >> $SYNOPKG_PKGDEST_VOL/public/InstallLog.txt

    exit 0
}

postuninst ()
{
    echo "$(date) $line POSTUNINST()" >> $SYNOPKG_PKGDEST_VOL/public/InstallLog.txt
    rm -f /usr/bin/smi-server
    rm -f /usr/local/etc/services.d/smi-server.sc

    exit 0
}

preupgrade ()
{
    echo "$(date) $line PREUPGRADE()" >> $SYNOPKG_PKGDEST_VOL/public/InstallLog.txt
    exit 0
}

postupgrade ()
{
    echo "$(date) $line POSTUPGRADE()" >> /volume1/public/InstallLog.txt
    exit 0
}

prestart ()
{
    echo "$(date) $line PRESTART()" >> /volume1/public/InstallLog.txt
    exit 0
}

prestop ()
{
    echo "$(date) $line PRESTOP()" >> /volume1/public/InstallLog.txt
    exit 0
}
