Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Dec 2012 16:34:27 -0600
From:      Paul Schmehl <pschmehl_lists@tx.rr.com>
To:        FreeBSD Questions List <freebsd-questions@freebsd.org>
Cc:        FreeBSD RC List <freebsd-rc@freebsd.org>
Subject:   Can't get start_precmd to do *anything*
Message-ID:  <66E78C5BBEC1BC01C9A7E292@localhost>

next in thread | raw e-mail | index | archive | help
I'm working on an rc.d init script for a port, and I am clearly in need of 
a clue.

I have a daemon that requires that a FIFO exist before it will start.  The 
FIFO is defined in the daemon's conf file.  I could just point that out to 
the user using "warn", but I thought it would be nicer to simply take care 
of it programmatically.

So I created this:

start_precmd="${name}_ck4fifo()"

${name}_ch4fifo()
{
      . ${pads_agent_conf}
      echo "Checking to see if ${PADS_FIFO} exists......"
      if [ ! -p ${PADS_FIFO} ]; then
            echo "${PADS_FIFO} did not exist.  Creating it now....."
            `/usr/bin/mkfifo ${PADS_FIFO}
      else
            echo "${PADS_FIFO} already exists."
      fi
}

When I run the init script with rc_debug enabled, it calls the 
start_precmd, but absolutely nothing happens.  I don't even get the echos.

# /usr/local/etc/rc.d/pads_agent onestart
/usr/local/etc/rc.d/pads_agent: DEBUG: checkyesno: pads_agent_enable is set 
to YES.
/usr/local/etc/rc.d/pads_agent: DEBUG: run_rc_command: start_precmd: 
pads_agent_ck4fifo()
Starting pads_agent.
/usr/local/etc/rc.d/pads_agent: DEBUG: run_rc_command: doit: 
/usr/local/bin/sguil-sensor/pads_agent.tcl -D -c 
/usr/local/etc/sguil-sensor/pads_agent.conf
[root@buttercup4 /usr/ports/security/sguil-sensor-update/sguil-sensor]# 
Error: Unable to read 
/var/data/nsm/sguil-sensor/buttercup4.utdallas.edu/pads.fifo

I even tried this but got the same result.

${name}_ch4fifo()
{
        warn "You must create PADS_FIFO before starting ${name}."
        warn "Set PADS_FIFO in the ${pads_agent_conf} file."
}

The warn messages aren't in the messages file either, which is expected 
behavior.

What the heck is going on here?  Is something wrong with rc.subr on this 
host?  Am I missing something?

-- 
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson
"There are some ideas so wrong that only a very
intelligent person could believe in them." George Orwell




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?66E78C5BBEC1BC01C9A7E292>