forked from ungleich-public/cdist
		
	improve __daemontools on freebsd
This commit is contained in:
		
					parent
					
						
							
								0043b3f4b0
							
						
					
				
			
			
				commit
				
					
						e75cb325bc
					
				
			
		
					 4 changed files with 29 additions and 5 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
 | 
			
		||||
;#!/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