#!/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