#!/bin/sh

# Script Environment Variables
# -------------------------------------------------------------------------------------
# SYNOPKG_PKGNAME               =   Package identify which is defined in INFO
# SYNOPKG_PKGVER                =   Package version which is defined in INFO
# SYNOPKG_PKGDEST               =   Package destination path
#                                   /volume[x]/@appstore/[Package Name]
# SYNOPKG_TEMP_UPGRADE_FOLDER   =   Temporary upgrade folder
#                                   /volume1/@tmp/synopkg.tmp/[Package Name]
# -------------------------------------------------------------------------------------


# Important Paths, soft links and variables
# -------------------------------------------------------------------------------------
# DSM WebGUI folder
# /usr/syno/synoman/webman/3rdparty/[Package Name] -> /var/packages/[Package Name]/target
WEBGUI_FOLDER="/usr/syno/synoman/webman/3rdparty/${SYNOPKG_PKGNAME}"

# Soft link
# /var/packages/[Package Name]/target -> /volume1/@appstore/[Package Name]
PACKAGE_FOLDER="/var/packages/${SYNOPKG_PKGNAME}/target/ui"

# Timestamp - Formatting the Timestamp to terminate log entries
TIMESTAMP=$(date +%Y-%m-%d%t%H:%M:%S)
# -------------------------------------------------------------------------------------


# Action...
# -------------------------------------------------------------------------------------
# Sprachauswahl
if [ -f $(/usr/bin/dirname $0)/lang/${SYNOPKG_DSM_LANGUAGE} ] ; then
     . $(/usr/bin/dirname $0)/lang/${SYNOPKG_DSM_LANGUAGE}
else
     . $(/usr/bin/dirname $0)/lang/enu
fi

# prüft die Kompatibilität mit dem Paket Docker
machinetyp=$(uname --machine)
device=$( uname -a | awk -F_ '{print $NF}' | sed "s/+/plus/g" )

if [ $machinetyp != "x86_64" ] && [ $machinetyp != "aarch64" ]; then
    echo "${PKG_NOINSTALL_ERROR_PART1} (${device}) ${PKG_NOINSTALL_ERROR_PART2} ${machinetyp} ${PKG_NOINSTALL_ERROR_PART3}" > $SYNOPKG_TEMP_LOGFILE
    exit 1
fi

# on aarch64 at least Python 3.9 must be available
# (reason: see prepare_python in APP/ui/synOCR.sh - dateparser dependency backports.zoneinfo)
if [ "${machinetyp}" = "aarch64" ]; then
    python_ok=0
    for py in /bin/python3.* /usr/bin/python3.* /usr/local/bin/python3.*; do
        [ -x "$py" ] || continue
        ver=$("$py" -c "import sys; print('%d.%d' % sys.version_info[:2])" 2>/dev/null)
        [ -z "$ver" ] && continue
        major=${ver%%.*}
        minor=${ver#*.}
        if [ "$major" -gt 3 ] || { [ "$major" -eq 3 ] && [ "$minor" -ge 9 ]; }; then
            python_ok=1
            break
        fi
    done
    if [ "$python_ok" -eq 0 ]; then
        echo "${PKG_NOINSTALL_PYTHON_AARCH64_ERROR}" > $SYNOPKG_TEMP_LOGFILE
        exit 1
    fi
fi

if [ ! -e "/var/run/docker.sock" ]; then
    echo "${PKG_NOINSTALL_MISSING_DOCKER_ERROR}" > $SYNOPKG_TEMP_LOGFILE
    exit 1
fi

exit 0
