HEADS UP: change in ports rc.d script behaviour
Mike Makonnen
mtm at identd.net
Sun Jul 25 07:11:04 PDT 2004
In the initial mail I post some tips on fixing ports rc.d scripts:
1. Use a return statement instead of exit in a '*.sh' script
2. Put the entire current contents of the script in a function and
then execute that function in a subshell. For example:
foo_script()
{
does something.
}
( foo_script $*)
3. Install the script without a '.sh' ending
I'd like to add one more to the following:
4. If you must include a default value for an rc.conf(5) knob,
make sure that you put it in an if [ -z "$foo_knob"] clause.
This is the reason the www/apache13 scripts are broken. There
is a default value of apache_enable=no and apache_flags that
overrides the user's setting in /etc/rc.conf, thus preventing
apache from starting at all.
Additionally, any users that don't want to deal with the possible
breakage this commit may cause their system should either not
run mergemaster (8) or if you do reject the changes to rc.d/localpkg
until the ports you are worried about are fixed.
Cheers.
--
Mike Makonnen | GPG-KEY: http://www.identd.net/~mtm/mtm.asc
mtm at identd.net | Fingerprint: AC7B 5672 2D11 F4D0 EBF8 5279 5359 2B82 7CD4 1F55
mtm at FreeBSD.Org| FreeBSD - Unleash the Daemon !
More information about the freebsd-current
mailing list