Date: Thu, 9 Jun 2005 20:56:46 -0700 From: Brooks Davis <brooks@one-eyed-alien.net> To: Jose M Rodriguez <josemi@freebsd.jazztel.es> Cc: ports@freebsd.org, Doug Barton <dougb@freebsd.org> Subject: Re: Including PREFIX/etc/rc.d/* scripts in the system's rcorder for startup in 6.0-Release Message-ID: <20050610035646.GA19116@odin.ac.hmc.edu> In-Reply-To: <200506100232.34832.josemi@redesjm.local> References: <42A8B4E6.9090401@FreeBSD.org> <200506100232.34832.josemi@redesjm.local>
next in thread | previous in thread | raw e-mail | index | archive | help
--rwEMma7ioTxnRzrJ Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jun 10, 2005 at 02:32:34AM +0200, Jose M Rodriguez wrote: > El Jueves, 9 de Junio de 2005 23:30, escribi=F3: > > Howdy, > > > > I realize that this is pretty short notice before the release, but > > the rc.d team just got a spiffy new volunteer to do the legwork on > > this, and so we're going to try to beat the code freeze/slushie > > deadline for 6.0. What we've been discussing for the last few days on > > the freebsd-rc list is a two-fold approach in order to avoid needing > > a flag day to cover this issue. > > > > The first part of the approach is to hack /etc/rc.d/localpkg to use > > rcorder to handle the keywords that are already in the scripts with > > *.sh filename patterns. This will preserve the lexical ordering that > > exists now, while giving port authors (and users of course) the > > ability to start using keywords with existing scripts that fit the > > *.sh pattern. > > > > Part two of this proposal is to hack on /etc/rc to use rcorder on any > > scripts in PREFIX/etc/rc.d that DON'T use the *.sh filename pattern, > > but DO include a new keyword (that will be specified). In this way, > > port authors and users can start opting into the new system at their > > convenience. Once the new system has been in place "long enough," we > > can drop processing for the special key word, and just handle all > > rc.d scripts the same, regardless of their location. > > > > This may sound more complicated than it needs to be, but the > > discussion on the freebsd-rc list brought up a lot of interesting > > cases that need to be considered as part of this transition, and I > > believe we've simplified it as much as possible. My question at this > > point is, does this approach sound reasonable? Our intention is to > > coordinate this closely with y'all so that we don't do something that > > will break the new release, or more importantly break backwards > > computability. >=20 > I'm not sure that this is the correct approach. And even maybe too late= =20 > in the RELENG_6 timeline. >=20 > Firts, most ports in real need of rcorder can't wait to localpkg, and=20 > use direct rc support breaking $prefix. This is easy to fix. We just modify RC_ORDER to take appropriate action based on the version of FreeBSD. There's plenty of time prior to 6.0-RELEASE for that. > Second, I can easy work scenarios where I can break any logic trying to= =20 > mix localpkg lex order and rcorder key order. The fact that you can break the schem does not imply it would actually be broken. More importantly, a little breaking isn't all that serious. > If we go to maintain short release cycles, please, delay this to HEAD=20 > after RELENG_6. And only merge it if we go to a safe status before=20 > real release. The problem is that we have to start some day and we won't be able to make a full switch for at least two relases after the initial commit. At the very least, I think we should make some attempt at supporting rcorder orders scripts within PREFIX/etc/rc.d in 6.0. > I still remember latest approach to solve this. >=20 > I think that the only safe way to take this is make some sort of 'stage'= =20 > concept into rc (use the SystemV runlevels as a very loose reference). >=20 > We can use 'stage keys' for implement this. >=20 > If we have safe localfs access at the end of stage 'n-1', we can do and= =20 > rcorder for stage 'n' mixing scripts with key 'stage n'=20 > in /etc/rc.d/*, /usr/local/etc/rc.d/*, /usr/X11R6/etc/rc.d/* ... This requires too much modification of scripts. There is a quite nice proposal on rc@ that simply requires the addition of one script to mark the point at which scripts are rescanned. -- Brooks --=20 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 --rwEMma7ioTxnRzrJ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFCqQ99XY6L6fI4GtQRAogbAKDbbiLJb7JL52KwldzgzFfe6wOnrQCffRIL ww3rrcka4iFOGMwdBGnGa9s= =7H4e -----END PGP SIGNATURE----- --rwEMma7ioTxnRzrJ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050610035646.GA19116>