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
 |