| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | #!/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}# In case this system is running systemd, we make systemd reload the unit files# to pick up changes.if [[ -d /run/systemd/system ]] ; then  systemctl --system daemon-reload >/dev/null || trueficase "$1" in  install|upgrade)    # try graceful termination;    if [[ -d /run/systemd/system ]]; then      deb-systemd-invoke stop ${NAME}.service > /dev/null 2>&1 || true    elif [ -x "/etc/init.d/${NAME}" ] || [ -e "/etc/init/${NAME}.conf" ]; then      invoke-rc.d ${NAME} stop > /dev/null 2>&1 || true    fi    # try and figure out if jellyfin is running    PIDFILE=$(find /var/run/ -maxdepth 1 -mindepth 1  -name "jellyfin*.pid" -print -quit)    [[ -n "$PIDFILE" ]] && [[ -s "$PIDFILE" ]] && JELLYFIN_PID=$(cat ${PIDFILE})    # if its running, let's stop it    if [[ -n "$JELLYFIN_PID" ]]; then      echo "Stopping Jellyfin!"      # if jellyfin is still running, kill it      if [[ -n "$(ps -p $JELLYFIN_PID -o pid=)" ]]; then        CPIDS=$(pgrep -P $JELLYFIN_PID)        sleep 2 && kill -KILL $CPIDS        kill -TERM $CPIDS > /dev/null 2>&1      fi      sleep 1      # if it's still running, show error      if [[ -n "$(ps -p $JELLYFIN_PID -o pid=)" ]]; then        echo "Could not successfully stop JellyfinServer, please do so before uninstalling."        exit 1      else        [[ -f $PIDFILE ]] && rm $PIDFILE      fi    fi    # Clean up old Emby cruft that can break the user's system    [[ -f /etc/sudoers.d/emby ]] && rm -f /etc/sudoers.d/emby    # If we have existing config, log, or cache dirs in /var/lib/jellyfin, move them into the right place    if [[ -d $PROGRAMDATA/config ]]; then        mv $PROGRAMDATA/config $CONFIGDATA    fi    if [[ -d $PROGRAMDATA/logs ]]; then        mv $PROGRAMDATA/logs $LOGDATA    fi    if [[ -d $PROGRAMDATA/logs ]]; then        mv $PROGRAMDATA/cache $CACHEDATA    fi    ;;  abort-upgrade)    ;;  *)    echo "preinst called with unknown argument \`$1'" >&2    exit 1    ;;esac#DEBHELPER#exit 0
 |