Re: RFC: Alternate patch to have true new-style rc.d scripts in ports (without touching localpkg)

From: Brooks Davis <brooks_at_one-eyed-alien.net>
Date: Mon, 16 Aug 2004 09:02:50 -0700
On Mon, Aug 16, 2004 at 06:56:53PM +0300, Mike Makonnen wrote:
> I have thought about this considerably, and I think the best solution
> is to have ports rc.d scripts installed to /etc/rc.d. One of the problems
> with having them in a separate directory is that we don't know when
> that directory will be available, so we have to order the scripts
> in two phases: first /etc/rc.d and then the ports rc.d directory when
> it is ready. If we do this then there is the REAL possiblity that
> something may not get run the second time around. For example, let's
> say that /etc/rc re-orders all the scripts (base and local) when it
> hits the dummy script PORTS. Furthermore, after they are reordered we
> skip the scripts that come before PORTS. The problem is that When the scripts
> are reordered if a particular script does not have a dependency on PORTS (or
> another script that requires PORTS) you are not guaranteed that if it came
> after PORTS the first time it will still be after ports after the second
> reordering.
> 
> While you can have workarounds and introduce hacks around this problem, I
> think the general messiness and potential problems of ordering scripts
> more than once makes it a bad solution.
> 
> Secondly, there is really no compelling reason that all ports be
> ordered with the base scripts. If a port is of such a nature that it
> needs to be started much earlier than it currently is, either the ports
> should install the script automatically to /etc/rc.d or it should give
> the user the option of choosing.
> 
> So, I think the best course of action is to convert all ports startup
> scripts to rc.d format and either
> 	a) install them all automatically to /etc/rc.d
> 	b) leave it to the port maintainer to choose
> 	c) leave it to the user to choose.
> 
> If we go with b or c, then /etc/rc.d/localpkg will need to learn to order
> rc.d scripts. I have a patch for that which is similar to the one I committed
> except that it has a list of the broken scripts which end in .sh that it
> treats like old style scripts (this should preserve compatibility with those
> upgrading from an older release):
> http://people.freebsd.org/~mtm/patches/localpkg.diff

I definatly like the idea of installing ports rc.d scripts in /etc.
It's one of the things pkgsrc does that I really like (actually, I like
the way they handle most etc/ files better even though it requires more
modification of ported software).

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

Received on Mon Aug 16 2004 - 14:04:18 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:06 UTC