cvs commit: src/etc rc rc.shutdown rc.subr src/etc/rc.d localpkg
dougb at FreeBSD.org
Fri Dec 2 17:07:12 PST 2005
[ cvs-all is not the place to discuss this, moving to -current. ]
Andrey Chernov wrote:
> On Fri, Dec 02, 2005 at 08:06:07PM +0000, Doug Barton wrote:
>> This dramatically changes the behavior of rc.d/localpkg, as
>> all "local" scripts that have the new rc.d semantics are now
>> run in the base rcorder, so only scripts that have not been
>> converted yet will run in rc.d/localpkg.
> I don't inspect this changes yet, but please don't forget that even
> converted to rc.d local scripts are not as safe as system ones and must
> run in the subshell to avoid various environment damaging. F.e. apache
> change limits to user www. If it happens in the main rc shell, all
> following scripts will suffer. There are other examples. I remember we
> already hit this problem before, attempting to do similar conversion.
Yes, I agree that's a problem. However, it's a problem we have to solve, or
else we can't include local scripts in the base rcorder. As I wrote in my
previous post, there are roughly 650 ports that install startup scripts, and
roughly 350 have been converted to use rc.subr. Thus, they can easily take
advantage of installing the scripts as foo instead of foo.sh, and the
problem is solved. Once all the ports have been converted, the problem no
longer exists. :) (Yes, I realize that this is a long term goal.)
By taking all the pain up front in HEAD, we will ferret out the problem
scripts fairly quickly. I already sent to the freebsd-ports list an example
of how to convert from foo.sh to foo based on OSVERSION, and sent the author
of one port that has a problem script a patch for his review.
I'm not saying that this transition will be totally without pain, just that
the pain can be limited, and ultimately is necessary for progress.
More information about the freebsd-current