FreeBSD Port: sysutils/smartmontools (more RCng problems)

Doug Barton dougb at FreeBSD.org
Fri Jan 6 16:21:17 PST 2006


Brooks Davis wrote:
> On Fri, Jan 06, 2006 at 03:53:21PM -0800, Doug Barton wrote:
>> Mike Jakubik wrote:
>>> This is yet another port that does not work properly because of the 
>>> recent RCng commits in 6-STABLE. Smartd does not startup on bootup, it 
>>> has to be manually started.
>> Ok, I installed this port and tested it myself, and the problem is the hard 
>> coded value of smartd_enable at the top of the script. For reasons I don't 
>> quite understand yet, hard coding the value in the script affects the 
>> boot-time operation of the script differently than on the command line.
> 
> The reason the two cases behave differently is that during boot
> the initial call to load_rc_config in /etc/rc causes /etc/rc.conf
> to be read and there after the fact that it's read it cached.

*slaps forehead*  Right-o, forgot about the caching. Thanks for the reminder.

> /etc/rc.conf.d/"$name" will be read, but I doubt there are many users
> of that feature.  The variables need to be set if and only if they are
> unset after load_rc_config is run like so:

That's the case with ports, which don't have default values.

> 	load_rc_config ${name}
> 
> 	foo_enable=${foo_enable-NO}
> 
> 	run_rc_command "$1"
> 
> Someone (mtm IIRC) told me to use the -NO as opposed to the :-NO syntax
> because empty, but defined values should not be overridden.  I believe
> that is the correct thing to do.

That makes sense. That syntax isn't documented in the sh man page, but it 
probably should be.

Doug

-- 

     This .signature sanitized for your protection



More information about the freebsd-ports mailing list