diff --git a/net-im/matterbridge/files/matterbridge.in b/net-im/matterbridge/files/matterbridge.in index 61fdbd926c42..f50093c7dc7b 100644 --- a/net-im/matterbridge/files/matterbridge.in +++ b/net-im/matterbridge/files/matterbridge.in @@ -6,16 +6,21 @@ # # Add the following line to /etc/rc.conf to enable matterbridge: # -# matterbridge_enable (bool): Set to "NO" by default. -# Set it to "YES" to enable matterbridge -# matterbridge_config (str): Set to "%%PREFIX%%/etc/matterbridge.toml" by default. -# Set it to path to mattermost config file -# matterbridge_user (str): Set to "%%MATTERBRIDGE_USER%%" by default. -# Set it to user to run matterbridge under -# matterbridge_group (str): Set to "%%MATTERBRIDGE_GROUP%%" by default. -# Set it to group to run matterbridge under -# matterbridge_syslogtag (str):Set to "matterbridge" by default. -# Set it to tag to be used by syslog +# matterbridge_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable matterbridge +# matterbridge_config (str): Set to "%%PREFIX%%/etc/matterbridge.toml" by default. +# Set it to path to mattermost config file +# matterbridge_user (str): Set to "%%MATTERBRIDGE_USER%%" by default. +# Set it to user to run matterbridge under +# matterbridge_group (str): Set to "%%MATTERBRIDGE_GROUP%%" by default. +# Set it to group to run matterbridge under +# matterbridge_syslogtag (str): Set to "matterbridge" by default. +# Set it to tag to be used by syslog +# matterbridge_args (str): Empty by default. +# Command line parameters to be added +# matterbridge_autorestart (num): Empty by default. (seconds) +# Supervise and restart the program after the +# specified delay if it has been terminated # . /etc/rc.subr @@ -25,16 +30,30 @@ rcvar="matterbridge_enable" load_rc_config $name +pidfile="/var/run/matterbridge/${name}.pid" + : ${matterbridge_enable:="NO"} : ${matterbridge_config:="%%PREFIX%%/etc/matterbridge.toml"} : ${matterbridge_user:="%%MATTERBRIDGE_USER%%"} : ${matterbridge_group:="%%MATTERBRIDGE_GROUP%%"} : ${matterbridge_syslogtag:="matterbridge"} - -pidfile="/var/run/matterbridge/${name}.pid" +: ${matterbridge_daemon_args:="-S -m 3 -c -T ${matterbridge_syslogtag} -p ${pidfile}"} + +case ${matterbridge_autorestart} in + *[!0-9]*) + echo 'ERROR: /etc/rc.conf:$matterbridge_autorestart is not a number' + exit 1 + ;; + '') + break + ;; + *) + matterbridge_daemon_args="${matterbridge_daemon_args} -R ${matterbridge_autorestart}" + ;; +esac command="/usr/sbin/daemon" -command_args="-S -T ${matterbridge_syslogtag} -m 3 -c -p ${pidfile} env ${matterbridge_env} %%PREFIX%%/bin/matterbridge -conf ${matterbridge_config} ${matterbridge_args}" +command_args="${matterbridge_daemon_args} env ${matterbridge_env} %%PREFIX%%/bin/matterbridge -conf ${matterbridge_config} ${matterbridge_args}" procname=%%PREFIX%%/bin/matterbridge start_precmd="install -d -m 775 -o ${matterbridge_user} -g ${matterbridge_group} /var/run/matterbridge"