| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | #!/bin/bashset -eNAME=jellyfinDEFAULT_FILE=/etc/default/${NAME}# Source Jellyfin default configurationif [[ -f $DEFAULT_FILE ]]; then  . $DEFAULT_FILEfi# Data directories for program data (cache, db), configs, and logsPROGRAMDATA=${JELLYFIN_DATA_DIRECTORY-/var/lib/$NAME}CONFIGDATA=${JELLYFIN_CONFIG_DIRECTORY-/etc/$NAME}LOGDATA=${JELLYFIN_LOG_DIRECTORY-/var/log/$NAME}CACHEDATA=${JELLYFIN_CACHE_DIRECTORY-/var/cache/$NAME}case "$1" in  configure)    # create jellyfin group if it does not exist    if [[ -z "$(getent group jellyfin)" ]]; then      addgroup --quiet --system jellyfin > /dev/null 2>&1    fi    # create jellyfin user if it does not exist    if [[ -z "$(getent passwd jellyfin)"  ]]; then      adduser --system --ingroup jellyfin --shell /bin/false jellyfin --no-create-home --home ${PROGRAMDATA} \        --gecos "Jellyfin default user" > /dev/null 2>&1    fi    # ensure $PROGRAMDATA exists    if [[ ! -d $PROGRAMDATA ]]; then      mkdir $PROGRAMDATA    fi    # ensure $CONFIGDATA exists    if [[ ! -d $CONFIGDATA ]]; then      mkdir $CONFIGDATA    fi    # ensure $LOGDATA exists    if [[ ! -d $LOGDATA ]]; then      mkdir $LOGDATA    fi    # ensure $CACHEDATA exists    if [[ ! -d $CACHEDATA ]]; then      mkdir $CACHEDATA    fi    # Ensure permissions are correct on all config directories    chown -R jellyfin $PROGRAMDATA $CONFIGDATA $LOGDATA $CACHEDATA    chgrp adm $PROGRAMDATA $CONFIGDATA $LOGDATA $CACHEDATA    chmod 0750 $PROGRAMDATA $CONFIGDATA $LOGDATA $CACHEDATA    chmod +x /usr/lib/jellyfin/restart.sh > /dev/null 2>&1 || true    # Install jellyfin symlink into /usr/bin    ln -sf /usr/lib/jellyfin/bin/jellyfin /usr/bin/jellyfin    ;;    abort-upgrade|abort-remove|abort-deconfigure)    ;;    *)      echo "postinst called with unknown argument \`$1'" >&2      exit 1    ;;esac#DEBHELPERif [[ -x "/usr/bin/deb-systemd-helper" ]]; then  # Manual init script handling  deb-systemd-helper unmask jellyfin.service >/dev/null || true  # was-enabled defaults to true, so new installations run enable.  if deb-systemd-helper --quiet was-enabled jellyfin.service; then    # Enables the unit on first installation, creates new    # symlinks on upgrades if the unit file has changed.    deb-systemd-helper enable jellyfin.service >/dev/null || true  else    # Update the statefile to add new symlinks (if any), which need to be    # cleaned up on purge. Also remove old symlinks.    deb-systemd-helper update-state jellyfin.service >/dev/null || true  fifi# End automatically added section# Automatically added by dh_installinitif [[ "$1" == "configure" ]] || [[ "$1" == "abort-upgrade" ]]; then  if [[ -d "/run/systemd/systemd" ]]; then    systemctl --system daemon-reload >/dev/null || true    deb-systemd-invoke start jellyfin >/dev/null || true  elif [[ -x "/etc/init.d/jellyfin" ]] || [[ -e "/etc/init/jellyfin.conf" ]]; then    update-rc.d jellyfin defaults >/dev/null    invoke-rc.d jellyfin start || exit $?  fifiexit 0
 |