summaryrefslogtreecommitdiff
path: root/devel/distcc/files/distccd.sh
blob: bb5311ceb96cbc623c13e9589c09eece421d6e8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: distccd.sh,v 1.7 2005/02/18 07:50:49 xtraeme Exp $
#

# PROVIDE: distccd
# BEFORE:  DAEMON

if [ -f /etc/rc.subr ]; then
	. /etc/rc.subr
fi

name="distccd"
rcvar="${name}"
command="@PREFIX@/bin/${name}"
pidfile="@DISTCC_PIDDIR@/${name}.pid"
command_args="--daemon --pid-file ${pidfile}"
distccd_user="@DISTCC_USER@"
distccd_group="@DISTCC_GROUP@"
start_precmd="distcc_precmd"

distcc_precmd()
{
    if [ ! -d @DISTCC_PIDDIR@ ]; then
	@MKDIR@ @DISTCC_PIDDIR@
	@CHMOD@ 0700 @DISTCC_PIDDIR@
	@CHOWN@ @DISTCC_USER@ @DISTCC_PIDDIR@
    fi
}

if [ -f /etc/rc.subr -a -f /etc/rc.conf -a -f /etc/rc.d/DAEMON ]; then
	load_rc_config $name
	run_rc_command "$1"
else
	case ${1:-start} in
	start)
		distcc_precmd
		if [ -x ${command} ]; then
			echo "Starting ${name}."
			eval ${command} ${distccd_flags} ${command_args}
		fi
		;;
	stop)
		if [ -f ${pidfile} ]; then
			pid=`/bin/head -1 ${pidfile}`
			echo "Stopping ${name}."
			kill -TERM ${pid}
		else
			echo "${name} not running?"
		fi
		;;
	restart)
		( $0 stop )
		sleep 1
		$0 start
		;;
	status)
		if [ -f ${pidfile} ]; then
			pid=`/bin/head -1 ${pidfile}`
			echo "${name} is running as pid ${pid}."
		else
			echo "${name} is not running."
		fi
		;;
		esac
fi