Skip site navigation (1)Skip section navigation (2)
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>