fix sysvinit compatibility for shutdown wrapper
This commit is contained in:
		@@ -1,21 +1,29 @@
 | 
			
		||||
#!@SHELL@
 | 
			
		||||
 | 
			
		||||
poweroff_arg=
 | 
			
		||||
while getopts :HhPr opt; do
 | 
			
		||||
shutdown_arg=
 | 
			
		||||
while getopts :akrhPHfFnct: opt; do
 | 
			
		||||
	case "$opt" in
 | 
			
		||||
		h|P) poweroff_arg=--poweroff ;;
 | 
			
		||||
		H) poweroff_arg=--halt ;;
 | 
			
		||||
		r) poweroff_arg=--reboot ;;
 | 
			
		||||
		\?) printf "${0##*/}: invalid option ${optarg}\n" >&2
 | 
			
		||||
		a) ;;
 | 
			
		||||
		k) ;;
 | 
			
		||||
		r) shutdown_arg=--reboot ;;
 | 
			
		||||
		h) shutdown_arg=--halt ;;
 | 
			
		||||
		P) shutdown_arg=--poweroff ;;
 | 
			
		||||
		H) shutdown_arg=--halt ;;
 | 
			
		||||
		f) ;;
 | 
			
		||||
		F) ;;
 | 
			
		||||
		n) ;;
 | 
			
		||||
		c) ;;
 | 
			
		||||
		t) ;;
 | 
			
		||||
		[?]) printf "%s\n" "${0##*/}: invalid command line option" >&2
 | 
			
		||||
		exit 1
 | 
			
		||||
		;;
 | 
			
		||||
	esac
 | 
			
		||||
done
 | 
			
		||||
shift $((OPTIND-1))
 | 
			
		||||
 | 
			
		||||
if [ -z "${poweroff_arg}" ]; then
 | 
			
		||||
	poweroff_arg=--single
 | 
			
		||||
if [ -z "${shutdown_arg}" ]; then
 | 
			
		||||
	shutdown_arg=--single
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo @SBINDIR@/openrc-shutdown ${poweroff_arg} ${@}
 | 
			
		||||
exec @SBINDIR@/openrc-shutdown ${poweroff_arg} ${@}
 | 
			
		||||
echo @SBINDIR@/openrc-shutdown ${shutdown_arg} "$@"
 | 
			
		||||
exec @SBINDIR@/openrc-shutdown ${shutdown_arg} "$@"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user