You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							103 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
	
	
							103 lines
						
					
					
						
							2.5 KiB
						
					
					
				dnl | 
						|
dnl Macros for creating the SysV init scripts with nice or raw output | 
						|
dnl | 
						|
dnl --- SDE-COPYRIGHT-NOTE-BEGIN --- | 
						|
dnl This copyright note is auto-generated by ./scripts/Create-CopyPatch. | 
						|
dnl | 
						|
dnl Filename: package/.../sysvinit/init_macros.m4 | 
						|
dnl Copyright (C) 2010 The OpenSDE Project | 
						|
dnl Copyright (C) 2004 - 2006 The T2 SDE Project | 
						|
dnl Copyright (C) 1998 - 2003 Clifford Wolf | 
						|
dnl | 
						|
dnl More information can be found in the files COPYING and README. | 
						|
dnl | 
						|
dnl This program is free software; you can redistribute it and/or modify | 
						|
dnl it under the terms of the GNU General Public License as published by | 
						|
dnl the Free Software Foundation; version 2 of the License. A copy of the | 
						|
dnl GNU General Public License can be found in the file COPYING. | 
						|
dnl --- SDE-COPYRIGHT-NOTE-END --- | 
						|
dnl | 
						|
divert(-1) | 
						|
 | 
						|
initstyle = sysv_nice ....... Nice colored output | 
						|
initstyle = sysv_text ....... Raw text output | 
						|
 | 
						|
ifelse(initstyle, `sysv_nice', | 
						|
	`define(`IT', `dnl') | 
						|
	define(`IN', `')' | 
						|
, | 
						|
	`define(`IT', `') | 
						|
	define(`IN', `dnl')' | 
						|
) | 
						|
 | 
						|
define(`this_is_not_the_first_option', `') | 
						|
define(`default_restart', `    restart) | 
						|
	`$'0 stop; `$'0 start | 
						|
	;; | 
						|
 | 
						|
') | 
						|
 | 
						|
define(`end_restart', ` | restart') | 
						|
 | 
						|
ifelse(initstyle, `sysv_nice', ` | 
						|
	define(`main_begin', `title() { | 
						|
	local x w="`$'( stty size 2>/dev/null </dev/tty | cut -d" " -f2  )" | 
						|
	[ -z "`$'w" ] && w="`$'( stty size </dev/console | cut -d" " -f2  )" | 
						|
	for (( x=1; x<w; x++ )) do echo -n .; done | 
						|
	echo -e "\e[222G\e[3D v \r\e[36m`$'* \e[0m" | 
						|
	error=0 | 
						|
} | 
						|
 | 
						|
status() { | 
						|
	if [ `$'error -eq 0 ] | 
						|
	then | 
						|
		echo -e "\e[1A\e[222G\e[4D\e[32m [OK]\e[0m" | 
						|
	else | 
						|
		echo -e "\e[1A\e[222G\e[8D\a\e[1;31m [FAILED]\e[0m" | 
						|
	fi | 
						|
} | 
						|
 | 
						|
case "`$'1" in') | 
						|
' , ` | 
						|
	define(`main_begin', `case "`$'1" in') | 
						|
') | 
						|
define(`main_end', `default_restart    *) | 
						|
	echo "Usage: `$'0 { undivert(1)end_restart }" | 
						|
	exit 1 ;; | 
						|
 | 
						|
esac | 
						|
 | 
						|
exit 0') | 
						|
 | 
						|
ifelse(initstyle, `sysv_nice', ` | 
						|
 | 
						|
	define(`echo_title', `ifelse(`$1', `', `define(`dostatus', 0)dnl', `define(`dostatus', 1)	title "$1"')') | 
						|
 | 
						|
	define(`echo_status', `ifelse(dostatus, 1, `	status', `dnl')') | 
						|
 | 
						|
	define(`check', `ifelse(dostatus, 1, `$* || error=$?', `$*')') | 
						|
 | 
						|
' , ` | 
						|
 | 
						|
	define(`echo_title', `ifelse(`$1', `', `dnl', `	echo "$1"')') | 
						|
	define(`echo_status', `dnl') | 
						|
	define(`check', `$*') | 
						|
') | 
						|
 | 
						|
define(`block_begin', `$1) | 
						|
divert(1)dnl | 
						|
this_is_not_the_first_option`$1'dnl | 
						|
define(`this_is_not_the_first_option',` | ')dnl | 
						|
define(`default_$1', `')dnl | 
						|
define(`end_$1', `')dnl | 
						|
divert(0)dnl | 
						|
echo_title(`$2')') | 
						|
 | 
						|
define(`block_split', `echo_status | 
						|
 | 
						|
echo_title(`$1')') | 
						|
 | 
						|
define(`block_end', `echo_status | 
						|
	;;') | 
						|
 | 
						|
divert(0)dnl
 | 
						|
 |