From owner-freebsd-current@FreeBSD.ORG Sat Jul 31 09:53:03 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D209316A4CE; Sat, 31 Jul 2004 09:53:03 +0000 (GMT) Received: from fillmore.dyndns.org (port-212-202-50-15.dynamic.qsc.de [212.202.50.15]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6867843D3F; Sat, 31 Jul 2004 09:53:03 +0000 (GMT) (envelope-from eikemeier@fillmore-labs.com) Received: from dhcp-14.local ([172.16.0.14] helo=dhcp-11.local) by fillmore.dyndns.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.41 (FreeBSD)) id 1BqqXL-0005MI-4u; Sat, 31 Jul 2004 11:52:22 +0200 Date: Sat, 31 Jul 2004 11:53:37 +0200 Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v482) To: Rob MacGregor From: Oliver Eikemeier In-Reply-To: <200407310912.i6V9CQVJ011571@the-macgregors.org> Message-Id: <7EB1AC8B-E2D7-11D8-9C56-00039312D914@fillmore-labs.com> Content-Transfer-Encoding: 7bit User-Agent: KMail/1.5.9 cc: freebsd-rc@freebsd.org cc: current@freebsd.org Subject: Re: RFC: Alternate patch to have true new-style rc.d scripts inports (without touching localpkg) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Jul 2004 09:53:04 -0000 Rob MacGregor wrote: >> -----Original Message----- >> From: owner-freebsd-current@freebsd.org >> [mailto:owner-freebsd-current@freebsd.org] On Behalf Of >> Oliver Eikemeier >> >> I don't think so. The patch is completely backwards compatible, which >> means everything will run as it did before. Why should anyone be >> confused by that? > > However, everybody who's used to disabling scripts by changing the name > such > that it doesn't end in .sh is going to be badly bitten by this. > Suddenly all > those "disabled" startup scripts will run. Nope, only two kinds of scripts will be run: old-style scripts with a `.sh' extension, and new-style rc.d scripts without extension. So you should not run into an trouble with scripts renamed to `.old' or `.disabled', except when you got into the habit to *remove* the extension to disable the scripts. As stated before: localpkg will not be touched and continue to work as before. >> As stated above: everything users did before will continue to work. > > Except of course, disabling scripts by renaming them :) See above. >> Besides, the patch finally unifies /etc/rc.d and >> /usr/local/etc/rc.d in >> the most important aspect: participating in rcorder(8). A new-style >> script will do the same, no matter whether put in /etc/rc.d or >> /usr/local/etc/rc.d. > > Which is one thing I would like to see. Especially since we can start some ports early in the startup process. >>> Additionally, >>> if ports rc.d scripts are going to participate in the boot >> rcorder(8)ing >>> then they need to behave like the base system rc.d script. >> >> Jup, that is the purpose of this patch. > > Why not simply (yeah, I know, it'll be far from simple to implement) > treat any > .sh scripts that have the FreeBSD keyword as being new style, and > others as > being old style? This is simple, but wrong IMHO. Recent experience showed us that only because a .sh script has a FreeBSD keyword, it does not qualify as a new style script. Basically all current scripts rely on the documented behaviour in rc(8). To qualify as a new style script they have to be rewritten to work with the new semantics, and installed without an extension. Blindly changing documented behaviour will cause a major breakage. -Oliver