### Generic variables and functions
### -------------------------------

if [ -z "${SYNOPKG_PKGNAME}" ] || [ -z "${SYNOPKG_DSM_VERSION_MAJOR}" ]; then
  echo "Error: Environment variables are not set." 1>&2;
  echo "Please run me using synopkg instead. Example: \"synopkg start [packagename]\"" 1>&2;
  exit 1
fi

USER="jellyfin"
EFF_USER="sc-jellyfin"


# Service port
SERVICE_PORT="8096"

# start-stop-status script redirect stdout/stderr to LOG_FILE
LOG_FILE="${SYNOPKG_PKGVAR}/${SYNOPKG_PKGNAME}.log"

# Service command has to deliver its pid into PID_FILE
PID_FILE="${SYNOPKG_PKGVAR}/${SYNOPKG_PKGNAME}.pid"


### Package specific variables and functions
### ----------------------------------------

# https://github.com/dotnet/core/issues/4011
[ -z "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" ] && export DOTNET_BUNDLE_EXTRACT_BASE_DIR="${XDG_CACHE_HOME:-"/var/packages/jellyfin/target/var/"}/dotnet_bundle_extract"

JELLYFIN_ARGS="--service \
 --package-name synology \
 -d ${SYNOPKG_PKGVAR}/data \
 -C ${SYNOPKG_PKGVAR}/cache \
 -c ${SYNOPKG_PKGVAR}/config \
 -l ${SYNOPKG_PKGVAR}/log \
 -w ${SYNOPKG_PKGDEST}/web \
 --ffmpeg /var/packages/ffmpeg6/target/bin/ffmpeg"

SERVICE_COMMAND="${SYNOPKG_PKGDEST}/share/jellyfin ${JELLYFIN_ARGS}"

SVC_BACKGROUND=y
SVC_WRITE_PID=y

GROUP=sc-media

service_postinst ()
{
    if [ "$SYNOPKG_DSM_VERSION_MAJOR" -ge 7 ]; then
        mkdir -p --mode=0777 /var/packages/jellyfin/var/data/transcodes
    fi
}
