#!/bin/sh -e pkg=$(cat "$__object/parameter/from-package") servicedir=$(cat "$__object/parameter/servicedir") __package "$pkg" __directory "$servicedir" --mode 700 os=$(cat "$__global/explorer/os") init=$(cat "$__global/explorer/init") case $os in freebsd) # TODO change to __start_on_boot once it supports 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 --name ".*/svscan $servicedir" --start 'service svscan start' ;; *) case $init in init) if [ -f "$__object/parameter/install-init-script" ]; then __config_file /etc/init.d/svscan --mode 755 --source "$__type/files/init.d-svscan" REQUIREEXTRA="__config_file/etc/init.d/svscan" fi require="$require $REQUIREEXTRA" __start_on_boot svscan require="$require __package/$pkg __directory/$servicedir __start_on_boot/svscan" \ __process svscan --name ".*/svscan $servicedir" --start 'service svscan start' ;; *) echo "Your init system ($init) is not supported by this type. Submit a patch at github.com/ungleich/cdist!" exit 1 ;; esac ;; esac