Improve __daemontools on FreeBSD (#567)
Improve __daemontools on freebsd
This commit is contained in:
		
					parent
					
						
							
								a9f338b6a5
							
						
					
				
			
			
				commit
				
					
						b8a1ad0ebd
					
				
			
		
					 4 changed files with 28 additions and 4 deletions
				
			
		|  | @ -21,11 +21,16 @@ OPTIONAL PARAMETERS | |||
| from-package | ||||
|    Package to install. Must be compatible with the original daemontools. Example: daemontools-encore. Default: daemontools. | ||||
| 
 | ||||
| servicedir | ||||
|    Directory to scan for services. Default: `/service` | ||||
| 
 | ||||
| 
 | ||||
| BOOLEAN PARAMETERS | ||||
| ------------------ | ||||
| install-init-script | ||||
|    Add an init script and set it to start on boot. | ||||
| 
 | ||||
| 
 | ||||
| EXAMPLES | ||||
| -------- | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,17 +1,34 @@ | |||
| #!/bin/sh -e | ||||
| 
 | ||||
| pkg=$(cat "$__object/parameter/from-package") | ||||
| servicedir=$(cat "$__object/parameter/servicedir") | ||||
| 
 | ||||
| __package $pkg | ||||
| __directory $servicedir --mode 755 | ||||
| 
 | ||||
| if [ -f "$__object/parameter/install-init-script" ]; then | ||||
| 	os=$(cat "$__global/explorer/os") | ||||
| 	init=$(cat "$__global/explorer/init") | ||||
| 
 | ||||
| 	case $init in | ||||
| 		init) | ||||
| 			__config_file /etc/init.d/svscan --mode 755 --source "$__type/files/init.d-svscan" | ||||
| 			require="$require __config_file/etc/init.d/svscan" __start_on_boot svscan | ||||
| 			require="$require __start_on_boot/svscan" __process svscan --start 'service svscan start' | ||||
| 		;; | ||||
| 			case $os in | ||||
| 				freebsd) | ||||
| 					__config_file /etc/rc.conf.d/svscan --source - <<-EOT | ||||
| 						svscan_enable="YES" | ||||
| 						svscan_servicedir="$servicedir" | ||||
| 					EOT | ||||
| 					require="$require __package/$pkg __directory/$servicedir __config_file/etc/rc.conf.d/svscan" \ | ||||
| 					__process svscan --start 'service svscan start' | ||||
| 				;; | ||||
| 				*) | ||||
| 					__config_file /etc/init.d/svscan --mode 755 --source "$__type/files/init.d-svscan" | ||||
| 					require="$require __config_file/etc/init.d/svscan" __start_on_boot svscan | ||||
| 					require="$require __package/$pkg __directory/$servicedir __start_on_boot/svscan" \ | ||||
| 					__process svscan --start 'service svscan start' | ||||
| 				;; | ||||
| 			esac | ||||
| 			;; | ||||
| 		*) | ||||
| 			echo "Your init system ($init) is not supported by this type. Submit a patch at github.com/ungleich/cdist!" | ||||
| 			exit 1 | ||||
|  |  | |||
|  | @ -0,0 +1 @@ | |||
| /service | ||||
|  | @ -1 +1,2 @@ | |||
| from-package | ||||
| servicedir | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue