I was setting up distcc for my OpenSuse 10.3 system and draw up the
following files:
/etc/sysconfig/distccd
        # Author: Patrick Spiller

        #
        ## Type: integer(2:8)
        ## Path: Applications/distccd
        ## ServiceRestart: distccd
        ## Default: ""
        #
        # Maximum number of jobs to run (leave blank for 2 more than the
number of CPUs on the machine).
        #
        DISTCCD_JOBS=""

        #
        ## Type: integer(0:19)
        ## Path: Applications/distccd
        ## Default: 5
        #
        # Increment of the "nice" level for jobs to be run.
        #
        DISTCCD_NICE=5

        #
        ## Type: integer(1024:49151)
        ## Path: Applications/distccd
        ## Default: 3632
        #
        # port for the daemon to listen on (default 3632)
        #
        DISTCCD_PORT="3632"

        #
        ## Type: string
        ## Path: Applications/distccd
        ## Default: ""
        #
        # instruct the daemon to listen on the given IP address
        #
        DISTCCD_LISTEN=""

        #
        ## Type: string
        ## Path: Applications/distccd
        ## Default: ""
        #
        # save the daemon process id to file
        #
        DISTCCD_PIDFILE=""

        #
        ## Type: string
        ## Path: Applications/distccd
        ## Default: "nobody"
        #
        # change to this user if run as root
        #
        DISTCCD_USER="nobody"

        #
        ## Type: string
        ## Path: Applications/distccd
        ## Default: "10.10.0.0/16"
        # 
        # allowed IP range (mandatory)
        #
        DISTCCD_ALLOW="10.10.0.0/16"

        #
        ## Type: string
        ## Path: Applications/distccd
        ## Default: "/var/log/distccd"
        # 
        # file to log output to
        #
        DISTCCD_LOGFILE="/var/log/distccd"

        #
        ## Type: string
        ## Path: Applications/distccd
        ## Default: ""
        #
        # severity of error included in log file
        #
        DISTCCD_LOGLEVEL=""

/etc/init.d/distccd.sh (yeah, I know the ".sh" should not be there)
        #! /bin/sh
        #
        # Author: Patrick Spiller
        #
        ### BEGIN INIT INFO
        # Provides:          distccd
        # Required-Start:    $network $syslog $remote_fs
        # Required-Stop:
        # Default-Start:     3 5
        # Default-Stop:
        # Description:       distributed compiler daemon
        ### END INIT INFO

        # Determine the base and follow a runlevel link name.
        base=${0##*/}
        link=${base#*[SK][0-9][0-9]}

        # Force execution if not called by a runlevel directory.
        test -x /usr/local/bin/distccd || exit 0

        . /etc/rc.status
        . /etc/sysconfig/distccd

        rc_reset
        case "$1" in
            start)
                echo -n "Starting Distributed Compiler Daemon"
                maxjobs=""
                if test -n "$DISTCCD_JOBS"; then
                    maxjobs="--jobs $DISTCCD_JOBS"
                fi
                nicelevel=""
                if test -n "$DISTCCD_NICE"; then
                    nicelevel="--nice $DISTCCD_NICE"
                fi
                port=""
                if test -n "$DISTCCD_PORT"; then
                    port="--port $DISTCCD_PORT"
                fi
                listen=""
                if test -n "$DISTCCD_LISTEN"; then
                    listen="--listen $DISTCCD_LISTEN"
                fi
                pidfile=""
                if test -n "$DISTCCD_PIDFILE"; then
                    pidfile="--pid-file $DISTCCD_PIDFILE"
                fi

                if test -z "$DISTCCD_USER"; then
                    DISTCCD_USER=nobody
                fi
                user="--user $DISTCCD_USER"

                allow=""
                if test -n "$DISTCCD_ALLOW"; then
                    allow="--allow $DISTCCD_ALLOW"
                fi

                if test -z "$DISTCCD_LOGFILE"; then
                    DISTCCD_LOGFILE=/var/log/distccd
                fi
                logfile="--log-file $DISTCCD_LOGFILE"
                touch $DISTCCD_LOGFILE
                chown $DISTCCD_USER:$DISTCCD_USER $DISTCCD_LOGFILE

                loglevel=""
                if test -n "$DISTCCD_LOGLEVEL"; then
                    loglevel="--log-level $DISTCCD_LOGLEVEL"
                fi

                startproc /usr/local/bin/distccd --daemon $maxjobs
$nicelevel $port $listen $pidfile $user $allow $logfile $loglevel
                rc_status -v
                ;;
            stop)
                echo -n "Shutting down Distributed Compiler Daemon"
                killproc -TERM /usr/local/bin//distccd
                rc_status -v
                ;;
            restart)
                ## If first returns OK call the second, if first or
                ## second command fails, set echo return value.
                $0 stop; sleep 1  &&  $0 start
                rc_status
                ;;
            try-restart|condrestart)
                ## Do a restart only if the service was active before.
                ## Note: try-restart is now part of LSB (as of 1.9).
                ## RH has a similar command named condrestart.
                if test "$1" = "condrestart"; then
                        echo "${attn} Use try-restart
${done}(LSB)${attn} rather than condrestart ${warn}(R
        H)${norm}"
                fi
                $0 status
                if test $? = 0; then
                        $0 restart
                else
                        rc_reset        # Not running is not a failure.
                fi
                # Remember status and be quiet
                rc_status
                ;;
            reload|force-reload)
                killproc  -HUP /usr/local/bin/distccd
                rc_status
                ;;
            status)
                echo -n "Checking for Distributed Compiler Daemon: "
                checkproc /usr/local/bin/distccd
                rc_status -v
                ;;
            *)
                echo "Usage: $0
{start|stop|status|restart|try-restart|reload}"
                exit 1
                ;;
        esac
        rc_exit

These are both modeled after existing files.  You may remove my name if
you wish.  I'm sure you can clean it up and make it more useful.

(Alternatively, if you already have such files, I would like to see
those.)

Patrick Spiller
Senior Software Engineer
Bally Technologies
6601 South Bermuda Road
Las Vegas, NV 89119
Direct 702.584.7780
Main 702.584.7700
Fax 702.584.7568


__ 
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options: 
https://lists.samba.org/mailman/listinfo/distcc

Reply via email to