rcNG script problems
Jarrod Martin
jmartin37 at speakeasy.net
Tue Jun 14 22:12:30 GMT 2005
Chad Leigh -- Shire.Net LLC wrote:
>
> On Jun 14, 2005, at 1:39 PM, JM wrote:
>
>> Kirk Strauser wrote:
>>
>>
>>> On Tuesday 14 June 2005 12:07, JM wrote:
>>>
>>>
>>>> i've written an rcNG script but i'm having some issues.
>>>>
>>>>
>>>
>>> Step one: set rc_debug="YES" in /etc/rc.conf to see what's actually
>>> happening when you attempt to run your script. That seems to
>>> uncover about 95% of the problems I've had.
>>>
>>>
>> turned on the option rc_debug="YES" and ran 'dmesg -a'... the script
>> doesn't even show up in the list anywhere. are we not supposed to
>> be able to write custom rcNG scripts? is there something i'm
>> overlooking where i need to register httpd_start in the rc stuff?
>> here's my newbie impression of how rc works:
>> - rc i run by init
>> - rc runs rcorder on all script directories.
>> - rc reads rc.conf and runs all scripts found by rcorder
>> rcorder recognizes the script i wrote without any errors... yet when
>> i boot the system, there is no "checkyesno" for httpd_start.
>> there's nothing that references the script at all... WHY? >.<
>>
>> why did FreeBSD have to adopt this standard anyhow? it seems
>> unnecessarily complicated to write custom scripts now.
>
>
>
> Where does your script live? You can use rcNG style scripts in /usr/
> local/etc but they must end in .sh and are done in lexographic order
> without the rcorder and stuff (unless you write your own ueber-
> script to do it)
>
> I battled this for a long while before I figured out the /usr/local/
> etc does not get full rcNG support
>
> Chad
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"
yea i've figured it out. this really should be better documented
though... i'll be sending all the info to the documentation mailing
list. here's the proper way to do it. the filename is 'httpd_start.sh'
with 555 mode. rc scripts, both rcNG and the old *.sh styles must have
the .sh extension to be recognized (source: bsdforums.org). the script
was placed in '/usr/local/etc/rc.d'. and here is the code:
[code]
#!/bin/sh
#
# PROVIDE: httpd_start
# REQUIRE: LOGIN
. /etc/rc.subr
name="httpd_start"
rcvar=`set_rcvar`
command="/var/www/bin/apachectl"
args="start"
start_cmd="${command} ${args}"
stop_cmd="/var/www/bin/apachectl stop"
httpd_start_enable=${httpd_start_enable-"NO"}
httpd_start_flags=${httpd_start_flags-""}
load_rc_config $name
run_rc_command "$1"
[/code]
the line 'httpd_start_enable="YES"' was added to rc.conf and this fixed everything.
More information about the freebsd-rc
mailing list