ports/154682: [net/iaxmodem] add rc script for running more than 1 iaxmodem with configuration files
Mikhail
warrior-frela at mail.ru
Fri Feb 11 13:10:08 UTC 2011
>Number: 154682
>Category: ports
>Synopsis: [net/iaxmodem] add rc script for running more than 1 iaxmodem with configuration files
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Feb 11 13:10:07 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Mikhail
>Release: 7.3-STABLE
>Organization:
Meganet
>Environment:
FreeBSD 7.3-STABLE FreeBSD 7.3-STABLE #1: Thu May 13 12:24:05 MSD 2010 root at gate..ru:/usr/obj/usr/src/sys/GENERIC i386
>Description:
new script running more than 1 iaxmodem, it`s needed for more than 1 receiving or sending fax message
>How-To-Repeat:
-
>Fix:
new script
Patch attached with submission follows:
--- iaxmodem.in.orig 2011-02-11 16:00:42.000000000 +0300
+++ iaxmodem.in 2011-02-11 16:06:33.000000000 +0300
@@ -6,20 +6,50 @@
#
# Add the following lines to /etc/rc.conf to enable iaxmodem:
-#
-# iaxmodem_enable="YES"
-#
+# iaxmodem_enable (bool): Set to NO by default.
+# Set it to YES to enable iaxmodem.
+# iaxmodem_daemons (array):
+# array of names of configuration files for running modems which located in /usr/local/etc/iaxmodem/
+# EXAMPLE:
+# iaxmodem_enable="YES"
+# iaxmodem_daemons="ttyIAX1 ttyIAX2 ttyIAX3 ttyIAX4 ttyIAX5 ttyIAX6 ttyIAX7 ttyIAX8 ttyIAX9 ttyIAX10"
. /etc/rc.subr
name=iaxmodem
rcvar=`set_rcvar`
-command=%%PREFIX%%/sbin/iaxmodem
+load_rc_config $name
-pidfile=${iaxmodem_pidfile:-"/var/run/iaxmodem.pid"}
+_daemon_cmd="/usr/sbin/daemon"
iaxmodem_enable=${iaxmodem_enable:-"NO"}
-load_rc_config $name
-run_rc_command "$1"
+do_cmd() {
+ local ret
+ ret=0
+ for daemon in ${iaxmodem_daemons}; do
+ pidfile=/var/run/iaxmodem/${daemon}.pid
+ command="/usr/local/sbin/iaxmodem"
+ flags="-fp ${pidfile} /usr/local/sbin/iaxmodem ${daemon}"
+ name="iaxmodem_${daemon}"
+ case "$1" in
+ restart)
+ run_rc_command "stop"
+ command=${_daemon_cmd}
+ run_rc_command "start"
+ ;;
+ start)
+ command=${_daemon_cmd}
+ run_rc_command "$1" || ret=1
+ ;;
+ *)
+ run_rc_command "$1"
+ ;;
+ esac
+ _rc_restart_done=false
+ done
+ return ${ret}
+}
+
+do_cmd "$1"
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list