Compare commits
	
		
			4 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 4f544f4130 | ||
|   | c65bed756e | ||
|   | ccc81a9cad | ||
|   | 3a1e304d6c | 
							
								
								
									
										32
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,3 +1,35 @@ | ||||
| commit c65bed756e5f5cfa244d9aa4325691345d8c324d | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     More s6 fixes | ||||
|      | ||||
|     - When no service link is in the scan directory, show the default | ||||
|       stopped message. | ||||
|     - Do not remove the service link when stopping the service. | ||||
|  | ||||
| commit ccc81a9cad5d9beb739593827fc4bbc04c4a3304 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     Fix the s6 handling | ||||
|      | ||||
|     This changes the default s6 service directory to /var/svc.d, also | ||||
|     it changes the code to work with the individual services instead of | ||||
|     forcing a rescan when a service is started or stopped. | ||||
|  | ||||
| commit 3a1e304d6c56875838b884b6e0608fe756ccce4e | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     Start work on 0.16.1 | ||||
|  | ||||
| commit d247ac4cbbe0ab62564ef82a5940b4f1a03973b3 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     Update changelog | ||||
|  | ||||
| commit bb2d7becfd3008379f8f69b5d036922281aa211f | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| NAME=		openrc | ||||
| VERSION=	0.16 | ||||
| VERSION=	0.16.1 | ||||
| PKG=		${NAME}-${VERSION} | ||||
|   | ||||
| @@ -114,7 +114,7 @@ in this release is S6 from Skarnet software. To use this, set | ||||
| supervisor=s6. | ||||
| .It Ar s6_service_path | ||||
| The path to the s6 service directory if you are monitoring this service | ||||
| with S6. The default is /etc/svc.d/${RC_SVCNAME}. | ||||
| with S6. The default is /var/svc.d/${RC_SVCNAME}. | ||||
| .It Ar s6_svwait_options_start | ||||
| The options to pass to s6-svwait when starting the service via s6. | ||||
| .It Ar s6_svwait_options_stop | ||||
|   | ||||
| @@ -37,10 +37,10 @@ s6_service_path - the path to the s6 service directory | ||||
| s6_svwait_options_start - the options to pass to s6-svwait when starting | ||||
| s6_svwait_options_stop - the options to pass to s6-svwait when stopping. | ||||
|  | ||||
| The s6_service_path variable defaults to /etc/svc.d/${RC_SVCNAME} if it | ||||
| The s6_service_path variable defaults to /var/svc.d/${RC_SVCNAME} if it | ||||
| is not set in the service script. For example, if you want a service | ||||
| script called /etc/init.d/foobar to use s6 to monitor its daemon, the s6 | ||||
| service should be the directory /etc/svc.d/foobar. | ||||
| service should be the directory /var/svc.d/foobar. | ||||
|  | ||||
| See the documentation for s6 for more information about s6 service | ||||
| directories. | ||||
|   | ||||
							
								
								
									
										38
									
								
								sh/s6.sh
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								sh/s6.sh
									
									
									
									
									
								
							| @@ -2,7 +2,7 @@ | ||||
| # Copyright (c) 2015 William Hubbs <w.d.hubbs@gmail.com> | ||||
| # Released under the 2-clause BSD license. | ||||
|  | ||||
| [ -z "${s6_service_path}" ] && s6_service_path="/etc/svc.d/${RC_SVCNAME}" | ||||
| [ -z "${s6_service_path}" ] && s6_service_path="/var/svc.d/${RC_SVCNAME}" | ||||
|  | ||||
| s6_start() | ||||
| { | ||||
| @@ -10,16 +10,17 @@ s6_start() | ||||
| 		eerror "${s6_service_path} does not exist." | ||||
|  	return 1 | ||||
|  fi | ||||
| 	local rc | ||||
| 	s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" | ||||
| 	ebegin "Starting ${name:-$RC_SVCNAME}" | ||||
| 	ln -sf "${s6_service_path}" "${RC_SVCDIR}"/s6-scan | ||||
| 	s6-svscanctl -an "${RC_SVCDIR}"/s6-scan | ||||
| 	rc=$? | ||||
| 	ln -sf "${s6_service_path}" "${s6_service_link}" | ||||
| 	s6-svc -u "${s6_service_link}" | ||||
| 	if [ -n "$s6_svwait_options_start" ]; then | ||||
| 		s6-svwait ${s6_svwait_options_start} "${s6_service_path}" | ||||
| 		rc=$? | ||||
| 		s6-svwait ${s6_svwait_options_start} "${s6_service_link}" | ||||
| 	fi | ||||
| 	eend $rc "Failed to start $RC_SVCNAME" | ||||
| 	sleep 1.5 | ||||
| 	set -- $(s6-svstat "${s6_service_link}") | ||||
| 	[ "$1" = "up" ] | ||||
| 	eend $? "Failed to start $RC_SVCNAME" | ||||
| } | ||||
|  | ||||
| s6_stop() | ||||
| @@ -28,19 +29,24 @@ s6_stop() | ||||
| 		eerror "${s6_service_path} does not exist." | ||||
|  	return 1 | ||||
|  fi | ||||
| 	local rc | ||||
| 	s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" | ||||
| 	ebegin "Stopping ${name:-$RC_SVCNAME}" | ||||
| 	rm -rf "${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" | ||||
| 	s6-svscanctl -an "${RC_SVCDIR}"/s6-scan | ||||
| 	rc=$?  | ||||
| 	s6-svc -d "${s6_service_link}" | ||||
| 	if [ -n "$s6_svwait_options_stop" ]; then | ||||
| 		s6-svwait ${s6_svwait_options_stop} "${s6_service_path}" | ||||
| 		rc=$? | ||||
| 		s6-svwait ${s6_svwait_options_stop} "${s6_service_link}" | ||||
| 	fi | ||||
| 	eend $rc "Failed to stop $RC_SVCNAME" | ||||
| 	sleep 1.5 | ||||
| 	set -- $(s6-svstat "${s6_service_link}") | ||||
| 	[ "$1" = "down" ] | ||||
| 	eend $? "Failed to stop $RC_SVCNAME" | ||||
| } | ||||
|  | ||||
| s6_status() | ||||
| { | ||||
| 	s6-svstat "${s6_service_path}" | ||||
| 	s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" | ||||
| 	if [ -L "${s6_service_link}" ]; then | ||||
| 		s6-svstat "${s6_service_link}" | ||||
| 	else | ||||
| 		_status | ||||
| 	fi | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user