rc startup script - daemon: failed to set user environment
Valentin Bud
valentin.bud at gmail.com
Wed Nov 3 07:23:09 UTC 2010
Hello community,
I am trying to build a startup script for an application built from source
code. The application name is SOGo (sogo.nu).
I will attach the rc script and the error I receive when I run it.
#!/bin/sh
#
#
# PROVIDE: sogod
# REQUIRE: memcached
#
# Add the following lines to /etc/rc.conf to enable sogod:
#
# sogod_enable (bool): Set it to "YES" to enable sogod.
# Default is "NO"
#
#
. /etc/rc.subr
name="sogod"
rcvar=`set_rcvar`
load_rc_config ${name}
: ${sogod_enable="NO"}
: ${sogod_user="sogo"}
: ${sogod_workers="-WOWorkersCount 1"}
: ${sogod_command="/usr/local/GNUstep/Local/Tools/Admin/sogod"}
: ${sogod_logfile="/var/log/sogo/sogo.log"}
pidfile="/var/run/sogo/sogo.pid"
command="/usr/sbin/daemon"
command_args="-f -p ${pidfile} -u ${sogod_user} ${sogod_command}
${sogod_workers} -WOPidFile ${pidfile} -WOLogFile ${sogod_logfile}"
start_precmd="${name}_prestart"
sogod_prestart() {
if [ ! -d `dirname ${pidfile}` ]; then
mkdir `dirname ${pidfile}` >/dev/null 2>&1 && chown
${sogod_user} `dirname ${pidfile}`
fi
if [ ! -d `dirname ${sogod_logfile}` ]; then
mkdir `dirname ${sogod_logfile}` >/dev/null 2>&1
touch ${sogod_logfile} && chown ${sogod_user}
${sogod_logfile}
fi
if [ -z ${GNUSTEP_SYSTEM_ROOT} ]; then
. /usr/local/GNUstep/System/Library/Makefiles/GNUstep.sh
fi
}
run_rc_command "$1"
The sogo daemon requires memcached running to start and the
file ${sogod_logfile}
to be readable by ${sogod_user}. I also requires the
directory /var/run/sogo/ to be read/write
by ${sogod_user} so it can write the PID file. The GNUstep.sh makefile must
be loaded
so it can run properly.
The other command_args are the startup arguments sogod takes.
memcached is already started:
sogo# sockstat | grep memcached
nobody memcached 71167 16 tcp4 172.31.32.6:11211 *:*
nobody memcached 71167 17 udp4 172.31.32.6:11211 *:*
sogod is enabled is /etc/rc.conf
# /usr/local/etc/rc.d/sogod rcvar
# sogod
#
sogod_enable="YES"
# (default: "")
This is the error I receive when I try to start sogod
sogo# /usr/local/etc/rc.d/sogod start
Starting sogod.
daemon: failed to set user environment
/usr/local/etc/rc.d/sogod: WARNING: failed to start sogod
This is the first rc script I write. What can I do to debug the problem
further?
Thank you and have a great day,
v
--
network warrior
More information about the freebsd-questions
mailing list