mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
88 lines
2.7 KiB
Bash
88 lines
2.7 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
|
|
|
|
# remove desktop/appstream file
|
|
rm -v /usr/share/applications/hyperion* 2> /dev/null
|
|
rm -v /usr/share/metainfo/hyperion* 2> /dev/null
|
|
|
|
# update desktop-database (if exists)
|
|
if [ -x /usr/bin/update-desktop-database ]; then
|
|
update-desktop-database -q /usr/share/applications
|
|
fi
|
|
|
|
# remove Hyperion icons
|
|
for i in 16x16 22x22 24x24 32x32 36x36 48x48 64x64 72x72 96x96 128x128 192x192 256x256 512x512
|
|
rm -v usr/share/icons/hicolor/$i/apps/hyperion.png 2> /dev/null
|
|
done
|
|
|
|
# update icon-cache
|
|
if [ -e /usr/share/icons/hicolor/icon-theme.cache ] ; then
|
|
# touch it, just in case we cannot find the binary...
|
|
touch --no-create /usr/share/icons/hicolor
|
|
if hash gtk-update-icon-cache 2>/dev/null; then
|
|
gtk-update-icon-cache /usr/share/icons/hicolor
|
|
fi
|
|
# ignore errors
|
|
true
|
|
fi
|
|
|
|
exit 0
|