Improve __daemontools on FreeBSD (#567)

Improve __daemontools on freebsd
This commit is contained in:
kamila 2017-09-02 21:25:17 +02:00 committed by Darko Poljak
parent a9f338b6a5
commit b8a1ad0ebd
4 changed files with 28 additions and 4 deletions

View file

@ -21,11 +21,16 @@ OPTIONAL PARAMETERS
from-package from-package
Package to install. Must be compatible with the original daemontools. Example: daemontools-encore. Default: daemontools. 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 BOOLEAN PARAMETERS
------------------ ------------------
install-init-script install-init-script
Add an init script and set it to start on boot. Add an init script and set it to start on boot.
EXAMPLES EXAMPLES
-------- --------

View file

@ -1,16 +1,33 @@
#!/bin/sh -e #!/bin/sh -e
pkg=$(cat "$__object/parameter/from-package") pkg=$(cat "$__object/parameter/from-package")
servicedir=$(cat "$__object/parameter/servicedir")
__package $pkg __package $pkg
__directory $servicedir --mode 755
if [ -f "$__object/parameter/install-init-script" ]; then if [ -f "$__object/parameter/install-init-script" ]; then
os=$(cat "$__global/explorer/os")
init=$(cat "$__global/explorer/init") init=$(cat "$__global/explorer/init")
case $init in case $init in
init) init)
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" __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 __config_file/etc/init.d/svscan" __start_on_boot svscan
require="$require __start_on_boot/svscan" __process svscan --start 'service svscan start' 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!" echo "Your init system ($init) is not supported by this type. Submit a patch at github.com/ungleich/cdist!"

View file

@ -0,0 +1 @@
/service

View file

@ -1 +1,2 @@
from-package from-package
servicedir