Can't get start_precmd to do *anything*
Paul Schmehl
pschmehl_lists at tx.rr.com
Wed Dec 19 22:34:43 UTC 2012
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 at 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
More information about the freebsd-questions
mailing list