Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
distcc & runscripts.sh
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
carpman
Advocate
Advocate


Joined: 20 Jun 2002
Posts: 2202
Location: London - UK

PostPosted: Thu Dec 16, 2004 12:49 pm    Post subject: distcc & runscripts.sh Reply with quote

Trying to get distcc ruuning but get following error:

Code:

/etc/init.d/distccd start
/sbin/runscript.sh: line 35: example:: command not found
 * Starting distccd...                                              [ !! ]


any ideas?
_________________
Work Station - 64bit
Gigabyte GA X48-DQ6 Core2duo E8400
8GB GSkill DDR2-1066
SATA Areca 1210 Raid
BFG OC2 8800 GTS 640mb
--------------------------------
Notebook
Samsung Q45 7100 4gb
Back to top
View user's profile Send private message
soth
Apprentice
Apprentice


Joined: 12 Sep 2003
Posts: 207

PostPosted: Thu Dec 16, 2004 1:00 pm    Post subject: Reply with quote

Could you post the output of

Code:


cat /etc/init.d/distccd

cat /sbin/runscript.sh

_________________
- Never argue with an idiot. They just drag you down to your level and beat you with experience.

Join the adopt an unanswered post initiative today
Back to top
View user's profile Send private message
carpman
Advocate
Advocate


Joined: 20 Jun 2002
Posts: 2202
Location: London - UK

PostPosted: Thu Dec 16, 2004 1:24 pm    Post subject: Reply with quote

soth wrote:
Could you post the output of

Code:


cat /etc/init.d/distccd

cat /sbin/runscript.sh



Code:

 cat /etc/init.d/distccd
#!/sbin/runscript
# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/2.17/init,v 1.1 2004/08/22 19:14:10 lisa Exp $

depend() {
        need net
        use ypbind
}

start() {
        [ -e "${DISTCCD_PIDFILE}" ] && rm -f ${DISTCCD_PIDFILE} &>/dev/null

        ebegin "Starting distccd"
        chown distcc `dirname ${DISTCCD_PIDFILE}` &>/dev/null
        TMPDIR="${TMPDIR}" \
        PATH="$(gcc-config --get-bin-path):${PATH}" \
        /sbin/start-stop-daemon --start --quiet --startas ${DISTCCD_EXEC} \
        --pidfile ${DISTCCD_PIDFILE} -- \
        --pid-file ${DISTCCD_PIDFILE} -N ${DISTCCD_NICE} --user distcc \
        ${DISTCCD_OPTS}

        eend $?
}

stop() {
        ebegin "Stopping distccd"
        start-stop-daemon --stop --quiet --pidfile "${DISTCCD_PIDFILE}"
        rm -f "${DISTCCD_PIDFILE}"
        eend $?
}




Code:

cat /sbin/runscript.sh
#!/bin/bash
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-src/rc-scripts/sbin/runscript.sh,v 1.32 2004/05/05 21:11:31 agriffis Exp $

# Common functions
[ "${RC_GOT_FUNCTIONS}" != "yes" ] && source /sbin/functions.sh
# Functions to handle dependencies and services
[ "${RC_GOT_SERVICES}" != "yes" ] && source "${svclib}/sh/rc-services.sh"
# Functions to control daemons
[ "${RC_GOT_DAEMON}" != "yes" ] && source "${svclib}/sh/rc-daemon.sh"

# Fix bug 48595
if [[ $(id -u) != 0 ]]; then
   eerror "ERROR: must be root to run init scripts"
   exit 1
fi

# State variables
svcpause="no"
svcrestart="no"

myscript="$1"
if [ -L "$1" -a ! -L "/etc/init.d/${1##*/}" ]
then
   myservice="$(readlink "$1")"
else
   myservice="$1"
fi

myservice="${myservice##*/}"
mylevel="$(<"${svcdir}/softlevel")"


# Set $IFACE to the name of the network interface if it is a 'net.*' script
if [ "${myservice%%.*}" = "net" -a "${myservice##*.}" != "${myservice}" ]
then
   IFACE="${myservice##*.}"
   NETSERVICE="yes"
else
   IFACE=
   NETSERVICE=
fi
      
# Source configuration files.
# (1) Source /etc/conf.d/basic to get common configuration.
# (2) Source /etc/conf.d/${myservice} to get initscript-specific
#     configuration (if it exists).
# (3) Source /etc/conf.d/net if it is a net.* service
# (4) Source /etc/rc.conf to pick up potentially overriding
#     configuration, if the system administrator chose to put it
#     there (if it exists).

[ -e "$(add_suffix /etc/conf.d/basic)" ]        && source "$(add_suffix /etc/conf.d/basic)"

[ -e "$(add_suffix /etc/conf.d/${myservice})" ] && source "$(add_suffix /etc/conf.d/${myservice})"

[ -e "$(add_suffix /etc/conf.d/net)" ]          && \
[ "${NETSERVICE}" = "yes" ]                     && source "$(add_suffix /etc/conf.d/net)"

[ -e "$(add_suffix /etc/rc.conf)" ]             && source "$(add_suffix /etc/rc.conf)"


usage() {
   local IFS="|"
   myline="Usage: ${myservice} { $* "
   echo
   eerror "${myline}}"
   eerror "       ${myservice} without arguments for full help"
}

stop() {
   # Return success so the symlink gets removed
   return 0
}

start() {
   eerror "ERROR:  \"${myservice}\" does not have a start function."
   # Return failure so the symlink doesn't get created
   return 1
}

restart() {
   svc_restart || return $?
}

status() {
   # Dummy function
   return 0
}
         
svc_stop() {
   local x=
   local mydep=
   local mydeps=
   local retval=0
   local ordservice=
   
   if ! service_started "${myservice}"
   then
      if [ "${RC_QUIET_STDOUT}" != "yes" ]
      then
         eerror "ERROR:  \"${myservice}\" has not yet been started."
         return 1
      else
         return 0
      fi
   fi

   # Do not try to stop if it had already failed to do so on runlevel change
   if is_runlevel_stop && service_failed "${myservice}"
   then
      exit 1
   fi

   # Remove symlink to prevent recursion
   mark_service_stopped "${myservice}"

   if in_runlevel "${myservice}" "${BOOTLEVEL}" && \
      [ "${SOFTLEVEL}" != "reboot" -a "${SOFTLEVEL}" != "shutdown" -a \
        "${SOFTLEVEL}" != "single" ]
   then
      ewarn "WARNING:  you are stopping a boot service."
   fi
   
   if [ "${svcpause}" != "yes" ]
   then
      if [ "${NETSERVICE}" = "yes" ]
      then
         # A net.* service
         if in_runlevel "${myservice}" "${BOOTLEVEL}" || \
            in_runlevel "${myservice}" "${mylevel}"
         then
            local netcount="$(ls -1 "${svcdir}"/started/net.* 2> /dev/null | \
               grep -v 'net\.lo' | egrep -c "\/net\.[[:alnum:]]+$")"

            # Only worry about net.* services if this is the last one running,
            # or if RC_NET_STRICT_CHECKING is set ...
            if [ "${netcount}" -lt 1 -o "${RC_NET_STRICT_CHECKING}" = "yes" ]
            then
               mydeps="net"
            fi
         fi
         
         mydeps="${mydeps} ${myservice}"
      else
         mydeps="${myservice}"
      fi
   fi

   for mydep in ${mydeps}
   do
      # If some service 'need' $mydep, stop it first; or if it is a runlevel change,
      # first stop all services that is started 'after' $mydep.
      if needsme "${mydep}" >/dev/null || \
         (is_runlevel_stop && ibefore "${mydep}" >/dev/null)
      then
         local servicelist="$(needsme "${mydep}")"

         # On runlevel change, stop all services "after $mydep" first ...
         is_runlevel_stop && servicelist="${servicelist} $(ibefore "${mydep}")"

         for x in ${servicelist}
         do
            # Make sure we have a relevant rc-script ...
            if [ "${x}" != "net" -a ! -f "/etc/init.d/${x}" ]
            then
               continue
            fi
            
            # Service not currently running, continue
            service_started "${x}" || continue
            
            if ibefore -t "${mydep}" "${x}" >/dev/null && \
               [ -L "${svcdir}/softscripts.new/${x}" ]
            then
               # Service do not 'need' $mydep, and is still present in
               # new runlevel ...
               continue
            fi
            
            stop_service "${x}"
            
            if [ "$?" -ne 0 ]
            then
               # If we are halting the system, try and get it down as
               # clean as possible, else do not stop our service if
               # a dependent service did not stop.
               if needsme -t "${mydep}" "${x}" >/dev/null && \
                  [ "${SOFTLEVEL}" != "reboot" -a "${SOFTLEVEL}" != "shutdown" ]
               then
                  retval=1
               fi
               
               break
            fi
         done
      fi
   done

   if [ "${retval}" -ne 0 ]
   then
      eerror "ERROR:  problems stopping dependent services."
      eerror "        \"${myservice}\" is still up."
   else
      # Now that deps are stopped, stop our service
      stop
      retval="$?"
   fi
   
   if [ "${retval}" -ne 0 ]
   then
      # Did we fail to stop? create symlink to stop multible attempts at
      # runlevel change.  Note this is only used at runlevel change ...
      if is_runlevel_stop
      then
         mark_service_failed "${myservice}"
      fi
      
      # If we are halting the system, do it as cleanly as possible
      if [ "${SOFTLEVEL}" != "reboot" -a "${SOFTLEVEL}" != "shutdown" ]
      then
         mark_service_started "${myservice}"
      fi
   fi

   return "${retval}"
}

svc_start() {
   local retval=0
   local startfail="no"
   local x=
   local y=
   local myserv=
   local ordservice=

   if ! service_started "${myservice}"
   then
      # Do not try to start if i have done so already on runlevel change
      if is_runlevel_start && service_failed "${myservice}"
      then
         exit 1
      fi
   
      # Link first to prevent possible recursion
      mark_service_started "${myservice}"

      # On rc change, start all services "before $myservice" first
      if is_runlevel_start
      then
         startupservices="$(ineed "${myservice}") \
            $(valid_iuse "${myservice}") \
            $(valid_iafter "${myservice}")"
      else
         startupservices="$(ineed "${myservice}") \
            $(valid_iuse "${myservice}")"
      fi

      # Start dependencies, if any
      for x in ${startupservices}
      do
         if [ "${x}" = "net" -a "${NETSERVICE}" != "yes" ]
         then
            local netservices="$(dolisting "/etc/runlevels/${BOOTLEVEL}/net.*") \
               $(dolisting "/etc/runlevels/${mylevel}/net.*")"
               
            for y in ${netservices}
            do
               mynetservice="${y##*/}"
               
               if ! service_started "${mynetservice}"
               then
                  start_service "${mynetservice}"

                  # A 'need' dependency is critical for startup
                  if [ "$?" -ne 0 ] && ineed -t "${myservice}" "${x}" >/dev/null
                  then
                     local netcount="$(ls -1 ${svcdir}/started/net.* 2> /dev/null | \
                        grep -v 'net\.lo' | egrep -c "\/net\.[[:alnum:]]+$")"
                  
                     # Only worry about a net.* service if we do not have one
                     # up and running already, or if RC_NET_SCTRICT_CHECKING
                     # is set ....
                     if [ "${netcount}" -lt 1 -o "${RC_NET_STRICT_CHECKING}" = "yes" ]
                     then
                        startfail="yes"
                     fi
                  fi
               fi
            done
            
         elif [ "${x}" != "net" ]
         then
            if ! service_started "${x}"
            then
               start_service "${x}"

               # A 'need' dependacy is critical for startup
               if [ "$?" -ne 0 ] && ineed -t "${myservice}" "${x}" >/dev/null
               then
                  startfail="yes"
               fi
            fi
         fi
      done
      
      if [ "${startfail}" = "yes" ]
      then
         eerror "ERROR:  Problem starting needed services."
         eerror "        \"${myservice}\" was not started."
         retval=1
      fi
      
      # Start service
      if [ "${retval}" -eq 0 ] && broken "${myservice}"
      then
         eerror "ERROR:  Some services needed are missing.  Run"
         eerror "        './${myservice} broken' for a list of those"
         eerror "        services.  \"${myservice}\" was not started."
         retval=1
      elif [ "${retval}" -eq 0 ] && ! broken "${myservice}"
      then
         start
         retval="$?"
      fi

      if [ "${retval}" -ne 0 ] && is_runlevel_start
      then
         mark_service_failed "${myservice}"
      fi

      # Remove link if service didn't start; but only if we're not booting
      # if we're booting, we need to continue and do our best to get the
      # system up.
      if [ "${retval}" -ne 0 -a "${SOFTLEVEL}" != "${BOOTLEVEL}" ]
      then
         mark_service_stopped "${myservice}"
      fi
      
      return "${retval}"
   else
      if [ "${RC_QUIET_STDOUT}" != "yes" ]
      then
         ewarn "WARNING:  \"${myservice}\" has already been started."
      fi
      
      return 0
   fi
}

svc_restart() {
   if service_started "${myservice}"
   then
      svc_stop || return "$?"
      sleep 1
   fi

   svc_start || return "$?"
}

svc_status() {
   # The basic idea here is to have some sort of consistant
   # output in the status() function which scripts can use
   # as an generic means to detect status.  Any other output
   # should thus be formatted in the custom status() function
   # to work with the printed " * status:  foo".

   if service_started "${myservice}"
   then
      if [ "${RC_QUIET_STDOUT}" != "yes" ]
      then
         einfo "status:  started"
      else
         return 0
      fi
   else
      if [ "${RC_QUIET_STDOUT}" != "yes" ]
      then
         eerror "status:  stopped"
      else
         return 1
      fi
   fi

   status
}

wrap_rcscript "${myscript}" || {
   eerror "ERROR:  \"${myscript}\" has syntax errors in it; not executing..."
   exit 1
}

# set *after* wrap_rcscript, else we get duplicates.
opts="start stop restart"

source "${myscript}"

# make sure whe have valid $opts
if [ -z "${opts}" ]
then
   opts="start stop restart"
fi

svc_homegrown() {
   local arg="$1"
   local x=
   
   # Walk through the list of available options, looking for the
   # requested one.
   for x in ${opts}
   do
      if [ "${x}" = "${arg}" ]
      then
         if typeset -F "${x}" &>/dev/null
         then
            # Run the homegrown function
            "${x}"
            
            return $?
         fi
      fi
   done
   
   # If we're here, then the function wasn't in $opts.
   eerror "ERROR:  wrong args. (  "${arg}" / $* )"
   # Do not quote this either ...
   usage ${opts}
   exit 1
}

shift
if [ "$#" -lt 1 ]
then
   eerror "ERROR: not enough args."
   usage ${opts}
   exit 1
fi
for arg in $*
do
   case "${arg}" in
   --quiet)
      RC_QUIET_STDOUT="yes"
      ;;
# We check this in functions.sh ...
#   --nocolor)
#      RC_NOCOLOR="yes"
#      ;;
   esac
done
for arg in $*
do
   case "${arg}" in
   stop)
      svc_stop
      ;;
   start)
      svc_start
      ;;
   needsme|ineed|usesme|iuse|broken)
      list_depend_trace "${arg}"
      ;;
   status)
      svc_status
      ;;
   zap)
      if service_started "${myservice}"
      then
         einfo "Manually resetting ${myservice} to stopped state."
         mark_service_stopped "${myservice}"
      fi
      ;;
   restart)
      svcrestart="yes"
   
      # Create a snapshot of started services
      rm -rf "${svcdir}/snapshot/$$"
      mkdir -p "${svcdir}/snapshot/$$"
      cp -a "${svcdir}"/started/* "${svcdir}/snapshot/$$/"
      
      # Simple way to try and detect if the service use svc_{start,stop}
      # to restart if it have a custom restart() funtion.
      if [ -n "$(egrep '^[[:space:]]*restart[[:space:]]*()' "/etc/init.d/${myservice}")" ]
      then
         if [ -z "$(egrep 'svc_stop' "/etc/init.d/${myservice}")" -o \
              -z "$(egrep 'svc_start' "/etc/init.d/${myservice}")" ]
         then
            echo
            ewarn "Please use 'svc_stop; svc_start' and not 'start; stop' to"
            ewarn "restart the service in its custom 'restart()' function."
            ewarn "Run ${myservice} without arguments for more info."
            echo
            svc_restart
         else
            restart
         fi
      else
         restart
      fi

      # Restart dependencies as well
      if service_started "${myservice}"
      then
         for x in $(dolisting "${svcdir}/snapshot/$$/")
         do
            if ! service_started "${x##*/}"
            then
#               schedule_service_startup "${x##*/}"
               start_service "${x##*/}"
            fi
         done
      fi

      # Wait for any services that may still be running ...
#      [ "${RC_PARALLEL_STARTUP}" = "yes" ] && wait
            
      rm -rf "${svcdir}/snapshot/$$"
      svcrestart="no"
      ;;
   pause)
      svcpause="yes"
      svc_stop
      svcpause="no"
      ;;
   --quiet|--nocolor)
      ;;
   *)
      # Allow for homegrown functions
      svc_homegrown ${arg}
      ;;
   esac
done


# vim:ts=4


_________________
Work Station - 64bit
Gigabyte GA X48-DQ6 Core2duo E8400
8GB GSkill DDR2-1066
SATA Areca 1210 Raid
BFG OC2 8800 GTS 640mb
--------------------------------
Notebook
Samsung Q45 7100 4gb
Back to top
View user's profile Send private message
soth
Apprentice
Apprentice


Joined: 12 Sep 2003
Posts: 207

PostPosted: Thu Dec 16, 2004 1:58 pm    Post subject: Reply with quote

runscript.sh should look in /etc/conf.d/distccd, lets look in there =)

pls post output of

Code:
cat /etc/conf.d/distccd


there's a couple of "example" in there...
_________________
- Never argue with an idiot. They just drag you down to your level and beat you with experience.

Join the adopt an unanswered post initiative today
Back to top
View user's profile Send private message
carpman
Advocate
Advocate


Joined: 20 Jun 2002
Posts: 2202
Location: London - UK

PostPosted: Thu Dec 16, 2004 2:04 pm    Post subject: Reply with quote

soth wrote:
runscript.sh should look in /etc/conf.d/distccd, lets look in there =)

pls post output of

Code:
cat /etc/conf.d/distccd


there's a couple of "example" in there...



have removed examples

Code:


# Copyright 2003 Gentoo Technologies, Inc
# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/2.11.1p/conf,v 1.3 2004/07/18 04:44:$# distccd configuration file

DISTCCD_OPTS=""

DISTCCD_EXEC=/usr/bin/distccd

DISTCCD_PIDFILE=/var/run/distccd/distccd.pid

DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632"

DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical"

DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.1.1/100 --listen 192.168.1.5"

DISTCCD_NICE="15"

DISTCC_DIR="/var/tmp/distccd"

_________________
Work Station - 64bit
Gigabyte GA X48-DQ6 Core2duo E8400
8GB GSkill DDR2-1066
SATA Areca 1210 Raid
BFG OC2 8800 GTS 640mb
--------------------------------
Notebook
Samsung Q45 7100 4gb
Back to top
View user's profile Send private message
soth
Apprentice
Apprentice


Joined: 12 Sep 2003
Posts: 207

PostPosted: Thu Dec 16, 2004 2:11 pm    Post subject: Reply with quote

Did you try efter removing examples?

Code:


DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.1.1/100 --listen 192.168.1.5"


That's new to me. A /100 at the end. Is that right?
_________________
- Never argue with an idiot. They just drag you down to your level and beat you with experience.

Join the adopt an unanswered post initiative today
Back to top
View user's profile Send private message
carpman
Advocate
Advocate


Joined: 20 Jun 2002
Posts: 2202
Location: London - UK

PostPosted: Thu Dec 16, 2004 3:23 pm    Post subject: Reply with quote

removed /100 and it works, though thought i had it working with that!

thanks for help
_________________
Work Station - 64bit
Gigabyte GA X48-DQ6 Core2duo E8400
8GB GSkill DDR2-1066
SATA Areca 1210 Raid
BFG OC2 8800 GTS 640mb
--------------------------------
Notebook
Samsung Q45 7100 4gb
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum