aboutsummaryrefslogtreecommitdiffstats
path: root/ftp/frox/files/frox.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ftp/frox/files/frox.sh')
-rw-r--r--ftp/frox/files/frox.sh71
1 files changed, 50 insertions, 21 deletions
diff --git a/ftp/frox/files/frox.sh b/ftp/frox/files/frox.sh
index e83d121716e6..bc8fc02fbf19 100644
--- a/ftp/frox/files/frox.sh
+++ b/ftp/frox/files/frox.sh
@@ -1,23 +1,52 @@
#!/bin/sh
+#
+# $FreeBSD$
+#
-if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
- echo "$0: Cannot determine the PREFIX" >&2
- exit 1
-fi
-
-case "$1" in
-start)
- [ -x ${PREFIX}/sbin/frox -a -f ${PREFIX}/etc/frox.conf ]
- ! grep -iq '^[[:space:]]*frominetd[[:space:]]*yes' ${PREFIX}/etc/frox.conf && \
- ${PREFIX}/sbin/frox && \
- echo -n ' frox'
- ;;
-stop)
- [ -f /var/run/frox.pid ] && kill `cat /var/run/frox.pid` && echo -n ' frox'
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" >&2
- ;;
-esac
-
-exit 0
+# PROVIDE: frox
+# REQUIRE: NETWORKING
+# KEYWORD: FreeBSD shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable frox:
+#
+#frox_enable="YES"
+#
+# See frox(8) for flags
+#
+
+. %%RC_SUBR%%
+
+name=frox
+rcvar=`set_rcvar`
+
+command=%%PREFIX%%/sbin/frox
+pidfile=/var/run/frox.pid
+required_files=%%PREFIX%%/etc/frox.conf
+
+start_precmd=start_precmd
+stop_postcmd=stop_postcmd
+
+# if require start from inetd?
+start_precmd()
+{
+ if grep -iq '^[[:space:]]*frominetd[[:space:]]*yes' %%PREFIX%%/etc/frox.conf;
+ then
+ return 1
+ else
+ return 0
+ fi
+}
+
+stop_postcmd()
+{
+ rm -f $pidfile
+}
+
+# set defaults
+
+frox_enable=${frox_enable:-"NO"}
+frox_flags=${frox_flags:-""}
+
+load_rc_config $name
+run_rc_command "$1"