| #!/bin/sh |
| ### BEGIN INIT INFO |
| # Provides: distcc |
| # Required-Start: $remote_fs $syslog |
| # Required-Stop: $remote_fs $syslog |
| # Default-Start: 2 3 4 5 |
| # Default-Stop: 1 |
| # Short-Description: simple distributed compiler client and server |
| ### 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=distcc |
| DESC="Distributed Compiler Daemon" |
| DAEMON_ARGS="--pid-file=/var/run/$NAME.pid --daemon" |
| # please change those variables by overriding them in /etc/defaults/distcc |
| ALLOWEDNETS="127.0.0.1" |
| |
| # Reads config file (will override defaults above) |
| [ -r /etc/default/distcc ] && . /etc/default/distcc |
| |
| test -x $DAEMON || exit 0 |
| |
| set -e |
| |
| # Source function library. |
| . /etc/init.d/functions |
| |
| # construct access list |
| ALLOW="" |
| for net in $ALLOWEDNETS |
| do |
| ALLOW="$ALLOW --allow $net" |
| done |
| |
| should_start() { |
| if [ "$STARTDISTCC" != "true" ] && [ "$STARTDISTCC" != "YES" ]; then |
| echo "STARTDISTCC is set to false in /etc/default/distcc" |
| echo "$DAEMON not starting" |
| exit 0 |
| fi |
| # we need permission to write to the pid file |
| touch /var/run/$NAME.pid |
| chown distcc /var/run/$NAME.pid |
| } |
| |
| case "$1" in |
| start) |
| should_start |
| echo -n "Starting $DESC: $NAME" |
| start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ |
| --exec $DAEMON -- $DAEMON_ARGS $ALLOW || |
| { |
| code=$? |
| echo "$0: start failed with error code $code" >&2 |
| exit $code |
| } |
| echo "." |
| ;; |
| stop) |
| echo -n "Stopping $DESC: $NAME" |
| start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ |
| --exec $DAEMON || |
| { |
| code=$? |
| echo "$0: stop failed with error code $code" >&2 |
| exit $code |
| } |
| rm -f /var/run/$NAME.pid >/dev/null 2>&1 |
| echo "." |
| ;; |
| 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". |
| # |
| echo -n "Restarting $DESC: $NAME" |
| start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ |
| --exec $DAEMON |
| sleep 1 |
| should_start |
| start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ |
| --exec $DAEMON -- $DAEMON_ARGS $ALLOW || |
| { |
| code=$? |
| rm -f /var/run/$NAME.pid >/dev/null 2>&1 |
| echo "$0: restart failed with error code $code" >&2 |
| exit $code |
| } |
| echo "." |
| ;; |
| |
| status) |
| status $DAEMON |
| exit $? |
| ;; |
| *) |
| N=/etc/init.d/$NAME |
| echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 |
| exit 1 |
| ;; |
| esac |
| |
| exit 0 |
| |
| |