177c4835a5
1. Add log and config flags to init and config 2. Move the existing logs and config dirs to the right places 3. Some cleanups in the control scripts 4. Prune the changelog of pre-Jellyfin entries
61 lines
1.8 KiB
Bash
61 lines
1.8 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
NAME=jellyfin
|
|
DEFAULT_FILE=/etc/default/${NAME}
|
|
|
|
# Source Jellyfin default configuration
|
|
if [[ -f $DEFAULT_FILE ]]; then
|
|
. $DEFAULT_FILE
|
|
fi
|
|
|
|
# Data directories for program data (cache, db), configs, and logs
|
|
PROGRAMDATA=${JELLYFIN_DATA_DIRECTORY-/var/lib/$NAME}
|
|
CONFIGDATA=${JELLYFIN_CONFIG_DIRECTORY-/etc/$NAME}
|
|
LOGDATA=${JELLYFIN_DATA_DIRECTORY-/var/log/$NAME}
|
|
|
|
case "$1" in
|
|
remove|upgrade|deconfigure)
|
|
echo "Stopping Jellyfin!"
|
|
# 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
|
|
# Ensure that it is shutdown
|
|
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
|
|
# 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 Jellyfin, please do so before uninstalling."
|
|
exit 1
|
|
else
|
|
[[ -f $PIDFILE ]] && rm $PIDFILE
|
|
fi
|
|
fi
|
|
if [[ -f /usr/lib/jellyfin/bin/MediaBrowser.Server.Mono.exe.so ]]; then
|
|
rm /usr/lib/jellyfin/bin/MediaBrowser.Server.Mono.exe.so
|
|
fi
|
|
;;
|
|
failed-upgrade)
|
|
;;
|
|
*)
|
|
echo "prerm called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
#DEBHELPER#
|
|
|
|
exit 0
|