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.
		
		
		
		
		
			
		
			
				
					
					
						
							68 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							68 lines
						
					
					
						
							1.7 KiB
						
					
					
				| # --- SDE-COPYRIGHT-NOTE-BEGIN --- | |
| # This copyright note is auto-generated by ./scripts/Create-CopyPatch. | |
| # | |
| # Filename: package/.../runit/rocknet_runit.sh | |
| # Copyright (C) 2004 - 2006 The T2 SDE Project | |
| # | |
| # More information can be found in the files COPYING and README. | |
| # | |
| # This program is free software; you can redistribute it and/or modify | |
| # it under the terms of the GNU General Public License as published by | |
| # the Free Software Foundation; version 2 of the License. A copy of the | |
| # GNU General Public License can be found in the file COPYING. | |
| # --- SDE-COPYRIGHT-NOTE-END --- | |
| export CANUSESERVICE=1 | |
|  | |
| service_create() { | |
| 	local service_name=$1 runstring="$2" finishstring="$3" | |
|  | |
| 	mkdir -p $rocknet_tmp_base/$service_name/log | |
|  | |
| 	# ./run | |
| 	cat <<-EOT > $rocknet_tmp_base/$service_name/run | |
| 	#!/bin/sh | |
| 	exec 2>&1 | |
|  | |
| 	$runstring | |
| 	EOT | |
|  | |
| 	# ./log/run | |
| 	cat <<-EOT > $rocknet_tmp_base/$service_name/log/run | |
| 	#!/bin/sh | |
| 	exec 2>&1 | |
|  | |
| 	if [ ! -d /var/log/$service_name ]; then | |
| 	    mkdir -p /var/log/$service_name | |
| 	    chown log /var/log/$service_name | |
| 	fi | |
| 	exec chpst -ulog svlogd -tt /var/log/$service_name | |
| 	EOT | |
|  | |
| 	# ./finish | |
| 	if [ "$finishstring" ]; then | |
| 		cat <<-EOT > $rocknet_tmp_base/$service_name/finish | |
| 		#!/bin/sh | |
| 		exec 2>&1 | |
|  | |
| 		$finishstring | |
| 		EOT | |
| 		chmod +x $rocknet_tmp_base/$service_name/finish | |
| 	fi | |
|  | |
| 	chmod +x $rocknet_tmp_base/$service_name/{,log/}run | |
| 	ln -nfs $rocknet_tmp_base/$service_name/ /service/$service_name | |
| } | |
|  | |
| service_destroy() { | |
| 	local service_name=$1 x= | |
|  | |
| 	for x in . log; do | |
| 		if [ -d /service/$service_name/$x/supervise ]; then | |
|         		runsvctrl d /service/$service_name/$x | |
|         		svwaitdown /service/$service_name/$x | |
| 		fi | |
| 	done | |
|  | |
| 	rm -f /service/$service_name | |
| 	rm -rf $rocknet_tmp_base/$service_name/ | |
| }
 | |
| 
 |