This file is indexed.

/etc/init.d/distcc is in distcc 3.1-6.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  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
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#!/bin/sh
### BEGIN INIT INFO
# Provides:          distcc
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Should-Start:      $network
# Should-Stop:       $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: simple distributed compiler server
# Description:       Control distccd, the server component of the
#                    distributed compiler system.  This service should
#                    be running on any host which shall provide remote
#                    compilation.
### END INIT INFO
#
# distccd Debian init.d script contributed by Jason Thomas.  (Debian #161136)
#
# skeleton	example file to build /etc/init.d/ scripts.
#		This file should be used to construct scripts for /etc/init.d.
#
#		Written by Miquel van Smoorenburg <miquels@cistron.nl>.
#		Modified for Debian GNU/Linux
#		by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version:	@(#)skeleton  1.9.1  08-Apr-2002  miquels@cistron.nl
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/distccd
NAME=distccd
DESC="Distributed Compiler Daemon"
DAEMON_ARGS="--pid-file=/var/run/$NAME.pid --log-file=/var/log/$NAME.log --daemon"
# please change those variables by overriding them in /etc/defaults/distcc
ALLOWEDNETS=""
LISTENER=""
NICE=""
ZEROCONF=""
JOBS=""

# unset TMPDIR before starting the daemon to avoid problems with
# root's value for this being unwritable by the distccd user; to
# provide distccd with a sensible TMPDIR set it in /etc/default/distcc
unset TMPDIR

set -e

. /lib/lsb/init-functions

# Reads config file (will override defaults above)
[ -r /etc/default/distcc ] && . /etc/default/distcc

test -x $DAEMON || exit 0

# construct access list
ALLOW=""
for net in $ALLOWEDNETS
do
	ALLOW="$ALLOW --allow $net"
done

if test -n "$ALLOW"; then
	DAEMON_ARGS="$DAEMON_ARGS $ALLOW"
fi

if test -n "$LISTENER"; then
	DAEMON_ARGS="$DAEMON_ARGS --listen $LISTENER"
fi

if test -n "$NICE"; then
	if [ "$NICE" -ge 0 ] && [ "$NICE" -le 20 ]; then
		DAEMON_ARGS="$DAEMON_ARGS --nice $NICE"
	fi
fi

if test -n "$JOBS"; then
	DAEMON_ARGS="$DAEMON_ARGS --jobs $JOBS"
fi

if [ "$ZEROCONF" = "true" ] || [ "$ZEROCONF" = "YES" ]; then
	DAEMON_ARGS="$DAEMON_ARGS --zeroconf"
fi

should_start() {
	if [ "$STARTDISTCC" != "true" ] && [ "$STARTDISTCC" != "YES" ]; then
		log_warning_msg "STARTDISTCC is set to false in /etc/default/distcc"
		log_warning_msg "$DAEMON not starting"
		exit 0
	fi
	# we need permission to write to the pid file
	touch /var/run/$NAME.pid
	chown distccd /var/run/$NAME.pid
}

case "$1" in
  start)
	should_start
	log_begin_msg "Starting $DESC: $NAME"
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
	--chuid distccd --oknodo \
	--exec $DAEMON -- $DAEMON_ARGS ||
	{
	    code=$?
	    log_warning_msg "$0: start failed with error code $code" >&2
	    log_end_msg $code
	    exit $code
	}
	log_end_msg 0
	;;
  stop)
	log_begin_msg "Stopping $DESC: $NAME"
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
		--oknodo \
		--exec $DAEMON ||
	{
	    code=$?
	    log_warning_msg "$0: stop failed with error code $code" >&2
	    log_end_msg $code
	    exit $code
	}
	rm -f /var/run/$NAME.pid >/dev/null 2>&1
	log_end_msg 0
	;;
  restart|force-reload)
	#
	#	If the "reload" option is implemented, move the "force-reload"
	#	option to the "reload" entry above. If not, "force-reload" is
	#	just the same as "restart".
	#
	log_begin_msg "Restarting $DESC: $NAME"
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
		--oknodo \
		--exec $DAEMON
	sleep 1
	should_start
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
		--chuid distccd --oknodo \
		--exec $DAEMON -- $DAEMON_ARGS ||
	{
	    code=$?
	    rm -f /var/run/$NAME.pid >/dev/null 2>&1
	    log_warning_msg "$0: restart failed with error code $code" >&2
	    log_end_msg $code
	    exit $code
	}
	log_end_msg 0
	;;
  status)
	status_of_proc $DAEMON $NAME
	;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
	exit 1
	;;
esac

exit 0