From owner-freebsd-hackers@FreeBSD.ORG Sun Oct 19 01:51:27 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 25715F5E for ; Sun, 19 Oct 2014 01:51:27 +0000 (UTC) Received: from elvis.mu.org (elvis.mu.org [IPv6:2001:470:1f05:b76::196]) by mx1.freebsd.org (Postfix) with ESMTP id 137766AB for ; Sun, 19 Oct 2014 01:51:27 +0000 (UTC) Received: from AlfredMacbookAir.local (162-222-103-181.webpass.net [162.222.103.181]) by elvis.mu.org (Postfix) with ESMTPSA id 40C76341F830; Sat, 18 Oct 2014 18:51:26 -0700 (PDT) Message-ID: <5443191E.5050208@mu.org> Date: Sat, 18 Oct 2014 18:51:26 -0700 From: Alfred Perlstein User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org, Jonathan de Boyne Pollard Subject: Re: nosh version 1.9 References: <54430B41.3010301@NTLWorld.com> In-Reply-To: <54430B41.3010301@NTLWorld.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Oct 2014 01:51:27 -0000 Very cool. Wondering about the idea of /etc/rc.conf *not* being a shell script... this is sort of bad imo as I can't see any other way to provide the settings dynamically for the startup scripts at a glance. I'll give you an example... FreeNAS (and by extension the appliance we are building at Norse) has /etc/rc.conf.local as a shell script that pulls data from an sqlite database, this allows us to set various services on/off based on the contents of that sqlite database file. This in turn allows us to leverage most of the existing /etc/rc.d and by extension the /usr/local/etc/rc.d files provided by ports. I'm wondering how one could still do that if /etc/rc.conf and /etc/rc.conf.local were no longer scripts? -Alfred On 10/18/14, 5:52 PM, Jonathan de Boyne Pollard wrote: > nosh version 1.9 is out. If you've not heard of it, here's the blurb: > > * > http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html > > If you also read the worked example, make sure that you read all of > the way to the bottom. (-: If you want to read more, there's a whole > Guide in the package, and lots of manual pages. > > There's now a command for converting FreeBSD /etc/rc.conf{,.local} > preset information (the *_enable variables) to service bundle preset > information. For kicks, I've also added a small shim for the OpenBSD > "rcctl" command that they're busy inventing. It's worth noting that > OpenBSD 5.6 now specifies that /etc/rc.conf{,.local} doesn't have > shell expansions and isn't necessarily sourced by a shell, which is > change that I welcome with open arms. I will be looking at conversion > of OpenBSD *_flags variables; but the big thing that remains in this > area is a utility that pushes all of the other variables, apart from > *_enable, into envdirs in the appropriate service bundles, which is > going to be a tedious one-by-one slog because sometimes the variable > names don't match the service names, as you no doubt know. > > I set myself a task of converting to service bundles all but two of > the 157 non-target scripts that I found in a stock FreeBSD /etc/rc.d/ > . I've reached 85. A lot of the remaining scripts are complex, often > one-shot, shell scripts onto the side of which the rc.d start/stop > system has been bolted, with varying degrees of success. If you are > interested in helping, one of the things that would help greatly is > factoring out the meat of some of these into helper commands of some > kind, reducing the lopsided hulks to something more like (say) > /etc/rc.d/rpcbind . (I can supply a list.) As reciprocal payment in > advance, I'm letting you know that /etc/rc.d/msgs is missing all of > the rc.d mechanism, and so does the same thing on every > start/stop/restart/whatever command verb. Although I suggest that > factoring out things in this way is a gain for the rc.d system, too, > and of mutual benefit. > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to > "freebsd-hackers-unsubscribe@freebsd.org" >