From owner-freebsd-rc@FreeBSD.ORG Mon Aug 16 16:04:18 2004 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8AA2216A4CE; Mon, 16 Aug 2004 16:04:18 +0000 (GMT) Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id 67ACA43D31; Mon, 16 Aug 2004 16:04:18 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (localhost.localdomain [127.0.0.1]) by odin.ac.hmc.edu (8.13.0/8.13.0) with ESMTP id i7GG2oZH015513; Mon, 16 Aug 2004 09:02:50 -0700 Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.13.0/8.13.0/Submit) id i7GG2o8I015509; Mon, 16 Aug 2004 09:02:50 -0700 Date: Mon, 16 Aug 2004 09:02:50 -0700 From: Brooks Davis To: Mike Makonnen Message-ID: <20040816160250.GC11213@odin.ac.hmc.edu> References: <20040731155822.GB35674@rogue.acs-et.com> <2A78201C-E316-11D8-9C56-00039312D914@fillmore-labs.com> <20040816155653.GA2405@rogue.acs-et.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="DSayHWYpDlRfCAAQ" Content-Disposition: inline In-Reply-To: <20040816155653.GA2405@rogue.acs-et.com> User-Agent: Mutt/1.4.1i X-Virus-Scanned: by amavisd-new X-Spam-Status: No, hits=0.0 required=8.0 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on odin.ac.hmc.edu cc: freebsd-rc@freebsd.org cc: current@freebsd.org Subject: Re: RFC: Alternate patch to have true new-style rc.d scripts in ports (without touching localpkg) X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to /etc/rc.d design and implementation. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Aug 2004 16:04:18 -0000 --DSayHWYpDlRfCAAQ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 scr= ipts > 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. >=20 > 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. >=20 > 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. >=20 > 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. >=20 > 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 commi= tted > 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 th= ose > 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 --=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 --DSayHWYpDlRfCAAQ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFBINqpXY6L6fI4GtQRAupfAKC/YJN1KCR/Gk8/nF4PRsrHFml5mgCghJCp ASkohwlcJqkc3Z8WBlXoGFg= =Qbsh -----END PGP SIGNATURE----- --DSayHWYpDlRfCAAQ--