Date: Sun, 2 Sep 2007 12:21:53 +0200 From: Mel <fbsd.questions@rachie.is-a-geek.net> To: freebsd-questions@freebsd.org Subject: Re: problems with a rc.d script I'm creating Message-ID: <200709021221.54268.fbsd.questions@rachie.is-a-geek.net> In-Reply-To: <80f4f2b20709012017m181fe312s14f7d4f60f9ba295@mail.gmail.com> References: <80f4f2b20709012017m181fe312s14f7d4f60f9ba295@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 02 September 2007 05:17:08 Jim Stapleton wrote: > I'm trying to create an rc.d script to start akpop3d (it doesn't seem > to come with one). > > According to the documentation on run_rc_command in /etc/rc.subr, I > thought this should work. However I get no response when I run > '/usr/local/etc/rc.d/akpop3d start', and ps -A doesn't show an akpop3d > process. When I run it manually (akpop3d -d -s -L .akpop3d), it starts > just fine. > > Could anyone suggest what I am missing here? > > Thanks, > -Jim Stapleton > > The script: > > #!/bin/sh > # > # $FreeBSD: N/A > # > # PROVIDE: akpop3d > # REQUIRE: DAEMON > # > # Add the following line to /etc/rc.conf to enable akpop3d: > # > # akpop3d_enable="YES" > # > > > akpop3d_enable=${akpop3d_enable-"NO"} > akpop3d_pidfile=${akpop3d_pidfile-"/var/run/akpop3d.pid"} > akpop3d_flags=${akpop3d_flags-"-d -s -L .akpop3d"} > akpop3d_conffile=${akpop3d_conffile-""} > akpop3d_flush_cache=${akpop3d_flush_cache-"NO"} > > . /etc/rc.subr > > > if [ ! -z $(check_pidfile $akpop3d_pidfile akpop3d) ] > then > > else > > fi > > name=akpop3d > rcvar=`set_rcvar` > > command=/usr/local/bin/${name} > pidfile=${akpop3d_pidfile} > #start_precmd=akpop3d_precmd > > load_rc_config ${name} > > > > run_rc_command "$1" I haven't figured out the proper way myself, but the problem is that the defaults you set at top, override the rc.conf variables, because they don't exist yet. What I do is move load_rc_config before setting defaults. General order becomes: name=foo rcvar=`set_rcvar` load_rc_config ${name} foo_default=${foo_default:-"default value"} run_rc_command "$1" Seems to work, maybe I'll figure out the proper way once I finish reading: http://www.freebsd.org/doc/en_US.ISO8859-1/articles/rc-scripting/index.html -- Mel People using reply to all on lists, must think I need 2 copies.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709021221.54268.fbsd.questions>