1883ecd817
After removal of the symlink target file "/usr/lib/jellyfin/bin/jellyfin", file existence check on the symlink "[[ -f /usr/bin/jellyfin ]]" returns false. As a result the symlink is left in place on package purge. The correct check would be "[[ -L /usr/bin/jellyfin ]]", but since it could be a file in cases, e.g. manual fix on file systems with no symlink support or for any other reason, it is easiest to use "rm -f" to assure that it is removed in both cases and not return false even if it does not exist at all. Additionally this fixes a typo on upstart script check. Signed-off-by: MichaIng <micha@dietpi.com>
82 lines
2.3 KiB
Bash
82 lines
2.3 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_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 || true
|
|
fi
|
|
|
|
case "$1" in
|
|
purge)
|
|
echo PURGE | debconf-communicate $NAME > /dev/null 2>&1 || true
|
|
|
|
if [[ -x "/etc/init.d/jellyfin" ]] || [[ -e "/etc/init/jellyfin.conf" ]]; then
|
|
update-rc.d jellyfin remove >/dev/null 2>&1 || true
|
|
fi
|
|
|
|
if [[ -x "/usr/bin/deb-systemd-helper" ]]; then
|
|
deb-systemd-helper purge jellyfin.service >/dev/null
|
|
deb-systemd-helper unmask jellyfin.service >/dev/null
|
|
fi
|
|
|
|
# Remove user and group
|
|
userdel jellyfin > /dev/null 2>&1 || true
|
|
delgroup --quiet jellyfin > /dev/null 2>&1 || true
|
|
# Remove config dir
|
|
if [[ -d $CONFIGDATA ]]; then
|
|
rm -rf $CONFIGDATA
|
|
fi
|
|
# Remove log dir
|
|
if [[ -d $LOGDATA ]]; then
|
|
rm -rf $LOGDATA
|
|
fi
|
|
# Remove cache dir
|
|
if [[ -d $CACHEDATA ]]; then
|
|
rm -rf $CACHEDATA
|
|
fi
|
|
# Remove program data dir
|
|
if [[ -d $PROGRAMDATA ]]; then
|
|
rm -rf $PROGRAMDATA
|
|
fi
|
|
# Remove binary symlink
|
|
rm -f /usr/bin/jellyfin
|
|
# Remove sudoers config
|
|
[[ -f /etc/sudoers.d/jellyfin-sudoers ]] && rm /etc/sudoers.d/jellyfin-sudoers
|
|
# Remove anything at the default locations; catches situations where the user moved the defaults
|
|
[[ -e /etc/jellyfin ]] && rm -rf /etc/jellyfin
|
|
[[ -e /var/log/jellyfin ]] && rm -rf /var/log/jellyfin
|
|
[[ -e /var/cache/jellyfin ]] && rm -rf /var/cache/jellyfin
|
|
[[ -e /var/lib/jellyfin ]] && rm -rf /var/lib/jellyfin
|
|
;;
|
|
remove)
|
|
if [[ -x "/usr/bin/deb-systemd-helper" ]]; then
|
|
deb-systemd-helper mask jellyfin.service >/dev/null
|
|
fi
|
|
;;
|
|
upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
|
;;
|
|
*)
|
|
echo "postrm called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
#DEBHELPER#
|
|
|
|
exit 0
|