summaryrefslogtreecommitdiff
path: root/misc/upclient/files/upclient.sh
diff options
context:
space:
mode:
authorKirill Ponomarev <krion@FreeBSD.org>2004-03-03 11:46:05 +0000
committerKirill Ponomarev <krion@FreeBSD.org>2004-03-03 11:46:05 +0000
commite8ef4a0dcd8bac56a0bdcc55a001b2df2abe4cc1 (patch)
tree70d4be2a2080d66b13b9e31d55aba72aca86b62b /misc/upclient/files/upclient.sh
parentFix package build. (diff)
- Fix MASTER_SITES
- Add USE_RC_SUBR - Update pkg-descr - Use DOCSDIR PR: ports/63668 Submitted by: maintainer
Notes
Notes: svn path=/head/; revision=102811
Diffstat (limited to 'misc/upclient/files/upclient.sh')
-rw-r--r--misc/upclient/files/upclient.sh114
1 files changed, 38 insertions, 76 deletions
diff --git a/misc/upclient/files/upclient.sh b/misc/upclient/files/upclient.sh
index b44005f1061f..d1f8d5f7d408 100644
--- a/misc/upclient/files/upclient.sh
+++ b/misc/upclient/files/upclient.sh
@@ -2,89 +2,51 @@
#
# $FreeBSD$
#
-# Start or stop upclient.
+# PROVIDE: upclient
+# REQUIRE: DAEMON
+# KEYWORD: FreeBSD
+#
+# Add the following line to /etc/rc.conf to enable upclient:
+#
+# upclient_enable="YES"
#
-rc_file=${0##*/}
-rc_arg=$1
+upclient_precmd ()
+{
+ ws=" "
+ grep -qs "^[$ws]*AuthKey[$ws]*=" ${configfile} ||
+ err 1 "AuthKey is missing from ${configfile}."
+ grep -qs "^[$ws]*AuthKey[$ws]*=[$ws]*your_authkey" ${configfile} &&
+ err 1 "AuthKey isn't configured in ${configfile}."
-if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/${rc_file}\$"); then
- echo "${rc_file}: Cannot determine PREFIX." >&2
- echo "Please use the complete pathname." >&2
- exit 64
-fi
+ hn=uptimes.wonko.com
+ egrep -qs "^[$ws]*UptimeServer[$ws]*=[$ws]*${hn}[$ws]*" ${configfile} &&
+ err 1 "${configfile} needs to be updated from ${samplefile}."
-program_dir=${PREFIX}/sbin
-program_file=upclient
-program_path=${program_dir}/${program_file}
+ kw="IdleTime|OS|(OS|CPU)Level"
+ egrep -qs "^[$ws]*Send($kw)[$ws]*=" ${configfile} &&
+ err 1 "${configfile} needs to be updated from ${samplefile}."
-config_dir=${PREFIX}/etc
-config_file=${program_file}.conf
-config_path=${config_dir}/${config_file}
+ :
+}
-sample_path=${config_path}.sample
+upclient_enable=NO
+upclient_flags=
-pid_dir=/var/run
-pid_file=${program_file}.pid
-pid_path=${pid_dir}/${pid_file}
+. /etc/rc.subr
-syslog_facility=daemon.err
+name=upclient
+rcvar=$(set_rcvar)
-case "$rc_arg" in
-start)
- if [ ! -x ${program_path} ]; then
- logger -sp ${syslog_facility} -t ${program_file} \
- "unable to start: ${program_path} is missing."
- exit 72
- fi
- if [ ! -f ${config_path} ]; then
- logger -sp ${syslog_facility} -t ${program_file} \
- "unable to start: ${config_path} is missing."
- exit 72
- fi
- ws=" "
- if ! grep -qs "^[$ws]*AuthKey[$ws]*=" ${config_path}; then
- logger -sp ${syslog_facility} -t ${program_file} \
- "unable to start: AuthKey is missing from" \
- "${config_path}."
- exit 72
- fi
- if grep -qs "^[$ws]*AuthKey[$ws]*=[$ws]*your_authkey" ${config_path}
- then
- logger -sp ${syslog_facility} -t ${program_file} \
- "unable to start: AuthKey isn't configured in" \
- "${config_path}."
- exit 72
- fi
- kw="IdleTime|OS|(OS|CPU)Level"
- if egrep -qs "^[$ws]*Send($kw)[$ws]*=" ${config_path}
- then
- logger -sp ${syslog_facility} -t ${program_file} \
- "unable to start: ${config_path} needs to be updated" \
- "from ${sample_path}."
- exit 72
- fi
- ${program_path} 2> /dev/null &&
- echo -n " ${program_file}"
- ;;
-stop)
- if [ -r ${pid_path} ]; then
- kill $(cat ${pid_path}) 2> /dev/null
- else
- killall ${program_file} 2> /dev/null
- fi
- ;;
-restart)
- $0 stop
- $0 start
- ;;
-status)
- ps -auxww | egrep ${program_file} | egrep -v "($0|egrep)"
- ;;
-*)
- echo "usage: ${rc_file} {start|stop|restart|status}" >&2
- exit 64
- ;;
-esac
+# private
+configfile=%%PREFIX%%/etc/${name}.conf
+samplefile=${configfile}.sample
+
+# public
+command=%%PREFIX%%/sbin/${name}
+pidfile=/var/run/${name}.pid
+required_files=${configfile}
+start_precmd=${name}_precmd
-exit 0
+load_rc_config ${name}
+run_rc_command "$1"