mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
70 lines
2.4 KiB
Bash
70 lines
2.4 KiB
Bash
#!/bin/sh
|
|
|
|
echo "---Hyperion ambient light prerm ---"
|
|
|
|
UPGRADE="$1"
|
|
if [ "$2" = "in-favour" ]; then
|
|
# Treat conflict remove as an upgrade.
|
|
UPGRADE="upgrade"
|
|
fi
|
|
|
|
# Don't clean-up just for an upgrade.`
|
|
if [ "$UPGRADE" = "upgrade" ] ; then
|
|
exit 0
|
|
fi
|
|
|
|
# search for users in system, returns first entry
|
|
FOUND_USR=`who | grep -o -m1 '^\w*\b'` || "root"
|
|
|
|
# stop running daemon before we delete it
|
|
HYPERION_RUNNING=false
|
|
pgrep hyperiond > /dev/null 2>&1 && HYPERION_RUNNING=true
|
|
|
|
if grep -m1 systemd /proc/1/comm > /dev/null
|
|
then
|
|
# systemd
|
|
echo "---> stop init deamon: systemd"
|
|
CURRENT_SERVICE=$(systemctl list-units --all | { grep -o "hyperion*.*\.service" || true; })
|
|
if [ ! -z ${CURRENT_SERVICE} ]; then
|
|
$HYPERION_RUNNING && systemctl stop "${CURRENT_SERVICE}" 2> /dev/null
|
|
systemctl -q disable "${CURRENT_SERVICE}" 2> /dev/null
|
|
else
|
|
$HYPERION_RUNNING && systemctl stop hyperion hyperiond"@${FOUND_USR}" hyperion"@${FOUND_USR}" "hyperiond@root" "hyperion@root" 2> /dev/null
|
|
systemctl -q disable hyperion hyperiond"@${FOUND_USR}" hyperion"@${FOUND_USR}" "hyperiond@root" "hyperion@root" 2> /dev/null
|
|
fi
|
|
# disable user specific symlink
|
|
echo "---> Disable service and remove entry"
|
|
rm -v /etc/systemd/system/hyperion.service /etc/systemd/system/hyperiond@.service /etc/systemd/system/hyperion@.service 2> /dev/null
|
|
|
|
elif [ -e /sbin/initctl ]
|
|
then
|
|
# upstart
|
|
echo "---> stop init deamon: upstart"
|
|
$HYPERION_RUNNING && initctl stop hyperiond
|
|
$HYPERION_RUNNING && initctl stop hyperion
|
|
echo "---> Remove upstart service"
|
|
rm -v /etc/init/hyperion* 2>/dev/null
|
|
initctl reload-configuration
|
|
|
|
else
|
|
# sysV
|
|
echo "---> stop init deamon: sysV"
|
|
$HYPERION_RUNNING && service hyperiond stop 2> /dev/null
|
|
$HYPERION_RUNNING && service hyperion stop 2> /dev/null
|
|
echo "---> Remove sysV service"
|
|
update-rc.d -f hyperion remove
|
|
rm /etc/init.d/hyperion* 2>/dev/null
|
|
fi
|
|
|
|
# In case we don't use a service kill all instances
|
|
killall hyperiond 2> /dev/null
|
|
|
|
# delete desktop icons; desktop-file-edit is a workaround to hide the entry and delete it afterwards manual.
|
|
# TODO Better way for deletion and keep the desktop in sync without logout/login or desktop dependend cmds?
|
|
echo "---> Delete Hyperion desktop icons"
|
|
desktop-file-edit --set-key=NoDisplay --set-value=true /usr/share/applications/hyperiond.desktop 2> /dev/null
|
|
rm -v /usr/share/applications/hyperion* 2> /dev/null
|
|
rm -rv /usr/share/pixmaps/hyperion 2> /dev/null
|
|
|
|
exit 0
|